From 4e15e8828ac5f08bf86240df9ba8e6e0467c76ee Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 17 May 2026 11:19:23 -0400 Subject: [PATCH 01/85] Track bind and reporting state in diagnostics JSON --- zha/zigbee/cluster_handlers/__init__.py | 6 ++- zha/zigbee/device.py | 52 +++++++++++++++++++------ 2 files changed, 46 insertions(+), 12 deletions(-) diff --git a/zha/zigbee/cluster_handlers/__init__.py b/zha/zigbee/cluster_handlers/__init__.py index d7a8d0e92..052a78c37 100644 --- a/zha/zigbee/cluster_handlers/__init__.py +++ b/zha/zigbee/cluster_handlers/__init__.py @@ -332,13 +332,15 @@ async def bind(self) -> None: try: res = await RETRYABLE_REQUEST_DECORATOR(self.cluster.bind)() self.debug("bound '%s' cluster: %s", self.cluster.ep_attribute, res[0]) + success = res[0] == 0 + self.cluster._zha_last_bind_success = success self._endpoint.device.emit( ZHA_CLUSTER_HANDLER_MSG_BIND, ClusterBindEvent( cluster_name=self.cluster.name, cluster_id=self.cluster.cluster_id, cluster_handler_unique_id=self.unique_id, - success=res[0] == 0, + success=success, ), ) except (zigpy.exceptions.ZigbeeException, TimeoutError) as ex: @@ -348,6 +350,7 @@ async def bind(self) -> None: str(ex), exc_info=ex, ) + self.cluster._zha_last_bind_success = False self._endpoint.device.emit( ZHA_CLUSTER_HANDLER_MSG_BIND, ClusterBindEvent( @@ -412,6 +415,7 @@ async def configure_reporting(self) -> None: rest[REPORT_CONFIG_ATTR_PER_REQ:], ) + self.cluster._zha_last_reporting_config = event_data self._endpoint.device.emit( ZHA_CLUSTER_HANDLER_MSG_CFG_RPT, ClusterConfigureReportingEvent( diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index 14884e1da..15f6e4d9a 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -94,10 +94,13 @@ _LOGGER = logging.getLogger(__name__) _CHECKIN_GRACE_PERIODS = 2 -DIAGNOSTICS_JSON_VERSION = 1 +DIAGNOSTICS_JSON_VERSION = 2 -def get_cluster_attr_data(cluster: Cluster) -> list[dict]: +def get_cluster_attr_data( + cluster: Cluster, + reporting_config: dict[str, dict[str, Any]] | None = None, +) -> list[dict]: """Return cluster attribute data.""" attributes_info = [] @@ -112,8 +115,14 @@ def get_cluster_attr_data(cluster: Cluster) -> list[dict]: "unsupported": cluster.is_attribute_unsupported(attr_def), } + attr_reporting = ( + reporting_config[attr_def.name] + if reporting_config is not None and attr_def.name in reporting_config + else None + ) + # Don't unnecessarily list out attributes that are just unread - if info["value"] is None and not info["unsupported"]: + if info["value"] is None and not info["unsupported"] and attr_reporting is None: continue # Delete unused keys @@ -122,11 +131,38 @@ def get_cluster_attr_data(cluster: Cluster) -> list[dict]: else: del info["value"] + if attr_reporting is not None: + info["reporting"] = { + "min": attr_reporting["min"], + "max": attr_reporting["max"], + "change": attr_reporting["change"], + "status": attr_reporting["status"], + } + attributes_info.append(info) return attributes_info +def _cluster_entry(cluster_id: int, cluster: Cluster) -> dict[str, Any]: + """Build the per-cluster diagnostics entry, including bind and reporting state.""" + if not hasattr(cluster, "_zha_last_bind_success"): + bind_status = "NOT_ATTEMPTED" + elif cluster._zha_last_bind_success: + bind_status = "SUCCESS" + else: + bind_status = "FAILURE" + + reporting_config = getattr(cluster, "_zha_last_reporting_config", None) + + return { + "cluster_id": f"0x{cluster_id:04x}", + "endpoint_attribute": cluster.ep_attribute, + "bind": bind_status, + "attributes": get_cluster_attr_data(cluster, reporting_config=reporting_config), + } + + def get_device_automation_triggers( device: zigpy.device.Device, ) -> dict[tuple[str, str], dict[str, str]]: @@ -1689,18 +1725,12 @@ def get_diagnostics_json(self): "id": endpoint.device_type, }, "in_clusters": [ - { - "cluster_id": f"0x{cluster_id:04x}", - "endpoint_attribute": cluster.ep_attribute, - "attributes": get_cluster_attr_data(cluster), - } + _cluster_entry(cluster_id, cluster) for cluster_id, cluster in sorted(endpoint.in_clusters.items()) ], "out_clusters": [ { - "cluster_id": f"0x{cluster_id:04x}", - "endpoint_attribute": cluster.ep_attribute, - "attributes": get_cluster_attr_data(cluster), + **_cluster_entry(cluster_id, cluster), **( { "last_query_cmd": { From 43a68192b61f648fb61f1b06632969ea544e9fe7 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 17 May 2026 11:22:56 -0400 Subject: [PATCH 02/85] Drop cluster handlers from diagnostics JSON --- zha/zigbee/device.py | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index 15f6e4d9a..314c5b738 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -1781,16 +1781,10 @@ def get_diagnostics_json(self): self.platform_entities.items() ): info_object = dataclasses.asdict(platform_entity.info_object) - info_object["cluster_handlers"].sort(key=lambda i: i["unique_id"]) + del info_object["cluster_handlers"] info_object["migrate_unique_ids"] = list(info_object["migrate_unique_ids"]) info_object["device_ieee"] = str(info_object["device_ieee"]) - for cluster_handler_info in info_object["cluster_handlers"]: - cluster_info = cluster_handler_info["cluster"] - - if cluster_info is not None: - cluster_info.pop("commands", None) - obj: dict[str, Any] = { "info_object": info_object, "state": platform_entity.state, From ce4823933e776c1aee80e9a660265fd51a7fceea Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 17 May 2026 11:23:16 -0400 Subject: [PATCH 03/85] Regenerate diagnostics --- tests/data/devices/adeo-sin-4-fp-21-equ.json | 249 +- .../devices/adeo-zb-watersensor-d0001.json | 132 +- .../devices/adurosmart-eria-ad-rgbw3001.json | 272 +- .../adurosmart-eria-adurolight-csc.json | 181 +- .../adurosmart-eria-vms-adurolight.json | 103 +- tests/data/devices/aeotec-zga004.json | 259 +- tests/data/devices/alab-alab-co2-1-1.json | 145 +- .../devices/aqara-lumi-airrtc-aeu001.json | 724 +- .../devices/aqara-lumi-airrtc-aeu005.json | 256 +- .../devices/aqara-lumi-curtain-acn04.json | 122 +- .../data/devices/aqara-lumi-light-acn132.json | 384 +- .../data/devices/aqara-lumi-light-agl003.json | 642 +- .../data/devices/aqara-lumi-light-agl005.json | 642 +- .../data/devices/aqara-lumi-lunar-acn01.json | 71 +- .../data/devices/aqara-lumi-motion-ac01.json | 185 +- .../aqara-lumi-sensor-occupy-agl1.json | 232 +- .../aqara-lumi-sensor-occupy-agl8.json | 180 +- .../devices/aqara-lumi-switch-acn047.json | 633 +- .../devices/aqara-lumi-switch-aeu003.json | 534 +- .../devices/aqara-lumi-switch-agl010.json | 528 +- ...atlantic-group-adapter-zigbee-fujitsu.json | 236 +- .../aug-winkhaus-gmbh-co-kg-fm-v-zb.json | 132 +- .../data/devices/aurora-doublesocket50au.json | 920 +- tests/data/devices/awox-ercu-ws-zm.json | 66 +- tests/data/devices/awox-esmlfzm-w6-dimm.json | 199 +- tests/data/devices/awox-tlsr82xx.json | 66 +- ...rink-leuchten-kg-smart-dimmable-light.json | 258 +- .../data/devices/bitron-video-902010-24a.json | 168 +- .../data/devices/bituo-technik-spm01x001.json | 613 +- tests/data/devices/bosch-rbsh-mms-zb-eu.json | 791 +- .../devices/bosch-rbsh-rth0-bat-zb-eu.json | 696 +- tests/data/devices/bosch-rbsh-rth0-zb-eu.json | 682 +- tests/data/devices/bosch-rbsh-trv0-zb-eu.json | 528 +- .../data/devices/bosch-rbsh-us4btn-zb-eu.json | 106 +- tests/data/devices/busch-jaeger-rb01.json | 60 +- tests/data/devices/candeo-c-zb-lc20-dim.json | 152 +- tests/data/devices/candeo-c-zb-lc20-rgb.json | 195 +- tests/data/devices/centralite-3300.json | 146 +- tests/data/devices/centralite-3310-g.json | 155 +- tests/data/devices/centralite-3320-l.json | 151 +- tests/data/devices/centralite-3326-l.json | 151 +- tests/data/devices/centralite-3405-l.json | 165 +- .../devices/centralite-systems-3156105.json | 330 +- .../climaxtechnology-sd8sc-00-00-03-12tc.json | 151 +- tests/data/devices/computime-slr2b.json | 480 +- tests/data/devices/d5x84yu-et093wrg.json | 563 +- tests/data/devices/danfoss-0x8040.json | 341 +- tests/data/devices/danfoss-etrv0103.json | 796 +- tests/data/devices/datek-pop.json | 522 +- tests/data/devices/datek-ssds.json | 135 +- ...zhemi-zigbee-external-meter-interface.json | 170 +- tests/data/devices/digi-xbee3.json | 686 +- .../devices/ecodim-bv-eco-dim-05-zigbee.json | 223 +- .../devices/ecodim-bv-ecodim-zigbee-3-0.json | 223 +- tests/data/devices/ecolink-4655bc0-r.json | 150 +- tests/data/devices/enktro-acmidea.json | 213 +- tests/data/devices/ericsity-gl-c-008p.json | 207 +- tests/data/devices/ericsity-gl-c-009p.json | 207 +- .../devices/espressif-zigbeeanalogdevice.json | 102 +- .../espressif-zigbeebinaryoutputdevice.json | 77 +- .../espressif-zigbeecarbondioxidesensor.json | 77 +- tests/data/devices/eurotronic-spzb0001.json | 304 +- ...welink-ck-bl702-al-01-7009-z102lg03-1.json | 242 +- .../ewelink-ck-tlsr8656-ss5-01-7000.json | 105 +- tests/data/devices/ewelink-ds01.json | 103 +- tests/data/devices/ewelink-ms01.json | 103 +- tests/data/devices/ewelink-sa-003-zigbee.json | 80 +- tests/data/devices/ewelink-snzb-01p.json | 106 +- tests/data/devices/ewelink-snzb-02p.json | 155 +- tests/data/devices/ewelink-snzb-03p.json | 163 +- tests/data/devices/ewelink-snzb-04p.json | 155 +- tests/data/devices/ewelink-th01.json | 136 +- tests/data/devices/ewelink-wb01.json | 87 +- tests/data/devices/ewelink-zb-sw01.json | 80 +- tests/data/devices/ewelink-zb-sw02.json | 110 +- tests/data/devices/ezviz-cs-t55-r100-g.json | 311 +- .../feibit-inc-co-fzb56-zcw27lx1-0.json | 143 +- tests/data/devices/frient-a-s-aqszb-110.json | 191 +- tests/data/devices/frient-a-s-emizb-141.json | 255 +- tests/data/devices/frient-a-s-emizb-151.json | 1008 +- tests/data/devices/frient-a-s-flszb-110.json | 182 +- tests/data/devices/frient-a-s-hmszb-120.json | 158 +- tests/data/devices/frient-a-s-iomzb-110.json | 246 +- tests/data/devices/frient-a-s-kepzb-110.json | 142 +- tests/data/devices/frient-a-s-moszb-140.json | 253 +- tests/data/devices/frient-a-s-moszb-153.json | 274 +- tests/data/devices/frient-a-s-sbtzb-110.json | 134 +- tests/data/devices/frient-a-s-scazb-141.json | 267 +- tests/data/devices/frient-a-s-sirzb-111.json | 190 +- tests/data/devices/frient-a-s-smszb-120.json | 178 +- tests/data/devices/frient-a-s-splzb-141.json | 579 +- tests/data/devices/frient-a-s-wiszb-131.json | 177 +- .../generic-zigbee-coordinator-ezsp.json | 12 +- tests/data/devices/gledopto-gl-b-008p.json | 208 +- tests/data/devices/gledopto-gl-b-008z.json | 141 +- tests/data/devices/gledopto-gl-c-009p.json | 152 +- tests/data/devices/gledpopto-gl-c-007p.json | 208 +- ...nland-agge-zigbee-smart-rotary-dimmer.json | 138 +- tests/data/devices/heiman-smokesensor-em.json | 119 +- tests/data/devices/hive-mbr1.json | 103 +- tests/data/devices/hobeian-zg-101zl.json | 152 +- tests/data/devices/hobeian-zg-102zm.json | 103 +- tests/data/devices/hobeian-zg-204zv.json | 179 +- tests/data/devices/homr-hrmsn01.json | 385 +- .../horn-zone-haier-hs-22zw-0000011216.json | 69 +- ...f-sweden-badring-water-leakage-sensor.json | 125 +- ...-sweden-fyrtur-block-out-roller-blind.json | 173 +- .../ikea-of-sweden-inspelning-smart-plug.json | 567 +- .../ikea-of-sweden-ormanas-led-strip.json | 242 +- ...of-sweden-parasoll-door-window-sensor.json | 131 +- ...-of-sweden-praktlysing-cellular-blind.json | 173 +- .../ikea-of-sweden-remote-control-n2.json | 118 +- .../devices/ikea-of-sweden-rodret-dimmer.json | 110 +- ...ikea-of-sweden-rodret-wireless-dimmer.json | 110 +- ...ikea-of-sweden-somrig-shortcut-button.json | 120 +- ...f-sweden-starkvind-air-purifier-table.json | 285 +- ...ikea-of-sweden-starkvind-air-purifier.json | 284 +- ...of-sweden-symfonisk-sound-remote-gen2.json | 111 +- ...sweden-tradfri-bulb-e12-w-op-ch-400lm.json | 188 +- ...sweden-tradfri-bulb-e12-ws-opal-400lm.json | 244 +- ...weden-tradfri-bulb-e14-ws-globe-470lm.json | 242 +- ...f-sweden-tradfri-bulb-e26-opal-1000lm.json | 190 +- ...sweden-tradfri-bulb-e26-w-opal-1000lm.json | 188 +- ...sweden-tradfri-bulb-e26-ws-opal-980lm.json | 244 +- ...eden-tradfri-bulb-e27-ws-globe-1055lm.json | 242 +- ...eden-tradfri-bulb-e27-ww-g95-cl-470lm.json | 187 +- ...-of-sweden-tradfri-bulb-gu10-ws-400lm.json | 245 +- ...of-sweden-tradfri-bulb-gu10-ww-345lm8.json | 187 +- ...ikea-of-sweden-tradfri-control-outlet.json | 119 +- .../ikea-of-sweden-tradfri-motion-sensor.json | 127 +- .../ikea-of-sweden-tradfri-on-off-switch.json | 112 +- ...a-of-sweden-tradfri-open-close-remote.json | 111 +- ...ikea-of-sweden-tradfri-remote-control.json | 111 +- ...kea-of-sweden-tradfri-shortcut-button.json | 110 +- ...kea-of-sweden-tradfri-wireless-dimmer.json | 109 +- ...weden-vallhorn-wireless-motion-sensor.json | 247 +- .../devices/imagic-by-greatstar-1112-s.json | 192 +- tests/data/devices/innr-ae-280-c.json | 238 +- tests/data/devices/innr-rb-285-c.json | 208 +- tests/data/devices/innr-rc-250.json | 111 +- tests/data/devices/innr-rs-232-c.json | 274 +- tests/data/devices/innr-sp-120.json | 543 +- tests/data/devices/innr-sp-234.json | 561 +- tests/data/devices/innr-sp-240.json | 543 +- tests/data/devices/innr-sp-242.json | 619 +- tests/data/devices/inovelli-vzm30-sn.json | 722 +- tests/data/devices/inovelli-vzm31-sn.json | 1109 +- tests/data/devices/inovelli-vzm35-sn.json | 788 +- tests/data/devices/isilentllc-dog-feeder.json | 172 +- tests/data/devices/isilentllc-doorbell.json | 111 +- .../devices/isilentllc-freezer-monitor.json | 104 +- .../isilentllc-home-energy-monitor.json | 10042 +++++++++++----- ...isilentllc-masterbed-light-controller.json | 290 +- tests/data/devices/isilentllc-safe.json | 221 +- .../data/devices/isilentllc-test-device.json | 104 +- tests/data/devices/isilentllc-test-mule.json | 79 +- .../data/devices/isilentllc-water-heater.json | 457 +- tests/data/devices/jasco-products-45856.json | 216 +- tests/data/devices/jasco-products-45857.json | 256 +- .../devices/ke-tradfri-open-close-remote.json | 111 +- .../keen-home-inc-sv01-410-mp-1-1.json | 206 +- .../keen-home-inc-sv02-610-mp-1-3.json | 206 +- .../keen-home-inc-sv02-612-mp-1-3.json | 206 +- .../king-of-fans-inc-hbuniversalcfremote.json | 161 +- .../king-of-fans-inc-hdc52eastwindfan.json | 161 +- .../data/devices/konke-3afe140103020000.json | 140 +- .../data/devices/konke-3afe220103020000.json | 140 +- .../data/devices/konke-3afe270104020015.json | 109 +- .../data/devices/konke-3afe280100510001.json | 93 +- .../data/devices/konke-3afe28010402000d.json | 134 +- .../kwikset-smartcode-convert-gen1.json | 159 +- .../data/devices/lds-zb-onoffplug-d0005.json | 558 +- .../data/devices/lds-zbt-cctswitch-d0001.json | 110 +- tests/data/devices/ledvance-a60s-rgbw.json | 209 +- tests/data/devices/ledvance-flex-rgbw.json | 240 +- .../ledvance-outdoor-accent-light-rgb.json | 240 +- tests/data/devices/ledvance-plug.json | 100 +- tests/data/devices/legrand-contactor.json | 522 +- .../legrand-dimmer-switch-w-o-neutral.json | 280 +- .../legrand-double-gangs-remote-switch.json | 151 +- .../legrand-light-switch-with-neutral.json | 177 +- tests/data/devices/legrand-mobile-outlet.json | 493 +- tests/data/devices/level-home-b2.json | 129 +- tests/data/devices/level-home-bolt.json | 129 +- .../data/devices/lk-zb-doorsensor-d0003.json | 121 +- .../data/devices/lk-zbt-dimswitch-d0001.json | 110 +- .../data/devices/lk-zbt-onoffplug-d0001.json | 174 +- .../devices/lumi-lumi-airmonitor-acn01.json | 179 +- .../data/devices/lumi-lumi-airrtc-agl001.json | 428 +- .../data/devices/lumi-lumi-ctrl-neutral2.json | 264 +- .../devices/lumi-lumi-curtain-acn002.json | 276 +- .../devices/lumi-lumi-curtain-acn003.json | 180 +- .../devices/lumi-lumi-curtain-agl001.json | 260 +- .../devices/lumi-lumi-curtain-hagl04.json | 166 +- .../data/devices/lumi-lumi-flood-acn001.json | 121 +- tests/data/devices/lumi-lumi-flood-agl02.json | 120 +- .../data/devices/lumi-lumi-light-aqcn02.json | 193 +- tests/data/devices/lumi-lumi-magnet-ac01.json | 136 +- .../data/devices/lumi-lumi-magnet-acn001.json | 121 +- .../data/devices/lumi-lumi-magnet-agl02.json | 120 +- tests/data/devices/lumi-lumi-motion-ac02.json | 220 +- .../data/devices/lumi-lumi-motion-agl02.json | 171 +- .../data/devices/lumi-lumi-motion-agl04.json | 203 +- tests/data/devices/lumi-lumi-plug-maeu01.json | 647 +- tests/data/devices/lumi-lumi-plug-maus01.json | 755 +- .../data/devices/lumi-lumi-relay-c2acn01.json | 228 +- .../devices/lumi-lumi-remote-b286opcn01.json | 107 +- .../data/devices/lumi-lumi-remote-b28ac1.json | 129 +- .../devices/lumi-lumi-remote-b486opcn01.json | 97 +- .../devices/lumi-lumi-remote-b686opcn01.json | 107 +- .../data/devices/lumi-lumi-remote-cagl02.json | 118 +- .../data/devices/lumi-lumi-sen-ill-agl01.json | 112 +- .../data/devices/lumi-lumi-sen-ill-mgl01.json | 111 +- .../data/devices/lumi-lumi-sensor-86sw2.json | 128 +- .../devices/lumi-lumi-sensor-ht-agl02.json | 178 +- .../devices/lumi-lumi-sensor-magnet-aq2.json | 107 +- .../devices/lumi-lumi-sensor-motion-aq2.json | 156 +- .../devices/lumi-lumi-sensor-smoke-acn03.json | 232 +- .../data/devices/lumi-lumi-sensor-smoke.json | 122 +- .../devices/lumi-lumi-sensor-switch-aq2.json | 74 +- .../devices/lumi-lumi-sensor-switch-aq3.json | 72 +- .../data/devices/lumi-lumi-sensor-switch.json | 91 +- .../devices/lumi-lumi-switch-b1lacn02.json | 238 +- .../devices/lumi-lumi-switch-b1laus01.json | 124 +- .../devices/lumi-lumi-switch-b1naus01.json | 534 +- .../devices/lumi-lumi-switch-b2naus01.json | 628 +- .../data/devices/lumi-lumi-switch-b2nc01.json | 159 +- .../data/devices/lumi-lumi-switch-l1aeu1.json | 126 +- .../data/devices/lumi-lumi-switch-l2aeu1.json | 155 +- .../data/devices/lumi-lumi-switch-n0agl1.json | 582 +- .../data/devices/lumi-lumi-switch-n1aeu1.json | 557 +- .../devices/lumi-lumi-vibration-agl01.json | 138 +- .../data/devices/lumi-lumi-vibration-aq1.json | 131 +- tests/data/devices/lumi-lumi-weather.json | 124 +- .../devices/lutron-lzl4bwhl01-remote.json | 46 +- tests/data/devices/lutron-z3-1brl.json | 109 +- .../data/devices/mli-tint-extendedcolor.json | 193 +- .../data/devices/mli-zbt-remote-all-rgbw.json | 78 +- .../devices/nabu-casa-ha-connect-zbt-1.json | 12 +- tests/data/devices/namron-as-1402790.json | 552 +- tests/data/devices/namron-as-4512785.json | 580 +- .../neuhaus-lighting-group-nlg-remote.json | 60 +- .../niko-nv-battery-switch-2-button.json | 114 +- .../niko-nv-battery-switch-4-button.json | 120 +- .../niko-nv-connectable-motor-control-3a.json | 124 +- tests/data/devices/nodon-sin-4-fp-21.json | 245 +- tests/data/devices/nodon-sin-4-rs-20.json | 205 +- .../occam-temp-sensor-v1-2-jan-19-2026.json | 136 +- ...vibo-250bccf66c41421b91b5e3242942c164.json | 223 +- .../devices/osram-switch-4x-lightify.json | 145 +- ...i-bo-cf31218e11c547179c9c9ade6a492799.json | 113 +- .../devices/paulmann-licht-gmbh-501-34.json | 172 +- tests/data/devices/philips-7602031u7.json | 210 +- tests/data/devices/philips-915005988601.json | 211 +- tests/data/devices/philips-lct014.json | 210 +- tests/data/devices/philips-lct026.json | 209 +- tests/data/devices/philips-llc020.json | 210 +- tests/data/devices/philips-lst002.json | 161 +- tests/data/devices/philips-rom001.json | 111 +- tests/data/devices/philips-rwl020.json | 135 +- tests/data/devices/philips-rwl021.json | 135 +- tests/data/devices/philips-sml001.json | 233 +- .../devices/plaid-systems-ps-sprzms-slp3.json | 153 +- tests/data/devices/ptvo-info-ptvo-switch.json | 344 +- tests/data/devices/samjin-button.json | 147 +- tests/data/devices/samjin-multi.json | 195 +- tests/data/devices/samjin-water.json | 147 +- .../devices/schneider-electric-eko07259.json | 773 +- .../schneider-electric-evsckt-outlet-1.json | 558 +- .../devices/schneider-electric-lk-dimmer.json | 222 +- .../schneider-electric-nhmotion-unidim-1.json | 212 +- .../schneider-electric-puck-dimmer-1.json | 154 +- .../schneider-electric-puck-shutter-1.json | 202 +- .../devices/schneider-electric-s520619.json | 453 +- .../schneider-electric-socket-outlet-1.json | 530 +- .../schneider-electric-socket-outlet-2.json | 530 +- .../data/devices/securifi-ltd-unk-model.json | 499 +- tests/data/devices/sengled-e11-g13.json | 249 +- tests/data/devices/sengled-e12-n14.json | 249 +- tests/data/devices/sengled-e12-n1e.json | 275 +- tests/data/devices/sengled-e1c-nb6.json | 97 +- tests/data/devices/sengled-e1c-nb7.json | 229 +- tests/data/devices/sengled-e1f-n9g.json | 252 +- tests/data/devices/sengled-e1g-g8e.json | 276 +- tests/data/devices/sengled-e21-n1ea.json | 324 +- tests/data/devices/sengled-z01-a19nae26.json | 288 +- .../devices/sercomm-corp-sz-esw01-au.json | 632 +- tests/data/devices/shelly-1pm.json | 492 +- tests/data/devices/shelly-2pm.json | 106 +- tests/data/devices/shelly-ecowitt-ws90.json | 366 +- tests/data/devices/shelly-mini1pm.json | 532 +- .../devices/shyugj-dimmer-switch-zb3-0.json | 138 +- .../signify-netherlands-b-v-lca001.json | 211 +- .../signify-netherlands-b-v-lca005.json | 210 +- .../signify-netherlands-b-v-lca007.json | 210 +- .../signify-netherlands-b-v-lcb001.json | 210 +- .../signify-netherlands-b-v-lcb002.json | 210 +- .../signify-netherlands-b-v-lce001.json | 211 +- .../signify-netherlands-b-v-lcx004.json | 210 +- .../signify-netherlands-b-v-lta010.json | 209 +- .../signify-netherlands-b-v-ltb003.json | 209 +- .../signify-netherlands-b-v-lwa003.json | 154 +- .../signify-netherlands-b-v-rdm001.json | 107 +- .../signify-netherlands-b-v-rdm002.json | 111 +- .../signify-netherlands-b-v-rdm004.json | 108 +- .../signify-netherlands-b-v-rdm005.json | 111 +- .../signify-netherlands-b-v-rwl022.json | 111 +- .../signify-netherlands-b-v-sml003.json | 228 +- .../signify-netherlands-b-v-sml004.json | 228 +- .../devices/sinope-technologies-va4220zb.json | 345 +- .../devices/smarthjemmet-dk-quad-zig-sw.json | 64 +- .../devices/smarthjemmet-dk-quad-zig-sw2.json | 165 +- tests/data/devices/smartthings-multiv4.json | 223 +- tests/data/devices/smartthings-tagv4.json | 145 +- tests/data/devices/smartwings-wm25-l-z.json | 170 +- tests/data/devices/somfy-situo-4-zigbee.json | 192 +- .../somfy-sonesse-28-wf-li-ion-roller.json | 173 +- .../data/devices/somfy-ysia-5-hp-zigbee.json | 215 +- tests/data/devices/sonoff-01minizb.json | 98 +- tests/data/devices/sonoff-basiczbr3.json | 80 +- tests/data/devices/sonoff-dongle-e-r.json | 275 +- tests/data/devices/sonoff-mini-zbrbs.json | 206 +- tests/data/devices/sonoff-s26r2zb.json | 100 +- tests/data/devices/sonoff-s31-lite-zb.json | 80 +- tests/data/devices/sonoff-s60zbtpg.json | 531 +- tests/data/devices/sonoff-snzb-02d.json | 267 +- tests/data/devices/sonoff-snzb-05p.json | 122 +- tests/data/devices/sonoff-snzb-06p.json | 145 +- tests/data/devices/sonoff-swv.json | 220 +- tests/data/devices/sonoff-trvzb.json | 524 +- tests/data/devices/sonoff-zbmicro.json | 114 +- tests/data/devices/sonoff-zbminil2.json | 146 +- tests/data/devices/sonoff-zbminir2.json | 197 +- tests/data/devices/sunricher-hk-dim.json | 295 +- tests/data/devices/sunricher-hk-ln-dim-a.json | 187 +- tests/data/devices/sunricher-on-off-2ch.json | 592 +- .../devices/texas-instruments-cc2652.json | 12 +- .../texas-instruments-coordinator.json | 12 +- .../devices/texasinstruments-ti-router.json | 70 +- ...-home-depot-ecosmart-zbt-a19-cct-bulb.json | 243 +- .../devices/third-reality-inc-3rds17bz.json | 119 +- .../devices/third-reality-inc-3rms16bz.json | 119 +- .../devices/third-reality-inc-3rsb015bz.json | 210 +- .../devices/third-reality-inc-3rsb22bz.json | 105 +- .../devices/third-reality-inc-3rsm0147z.json | 168 +- .../third-reality-inc-3rsnl02043z.json | 283 +- .../devices/third-reality-inc-3rsp019bz.json | 411 +- .../third-reality-inc-3rsp02028bz.json | 516 +- .../devices/third-reality-inc-3rss007z.json | 96 +- .../devices/third-reality-inc-3rss009z.json | 145 +- .../devices/third-reality-inc-3rths24bz.json | 168 +- .../devices/third-reality-inc-3rvs01031z.json | 103 +- .../devices/third-reality-inc-3rws18bz.json | 152 +- .../data/devices/tubeszb-tubeszb-router.json | 54 +- .../data/devices/tuyatec-gqhxixyk-rh3052.json | 138 +- .../data/devices/tuyatec-r9hgssol-rh3001.json | 103 +- .../data/devices/tuyatec-rkqiqvcs-rh3001.json | 103 +- .../data/devices/tuyatec-yg5dcbfu-rh3052.json | 138 +- .../data/devices/tyst11-czk78ptr-zk78ptr.json | 314 +- .../data/devices/tyst11-i5j6ifxj-5j6ifxj.json | 88 +- .../data/devices/tyzb01-1xktopx6-ts0041a.json | 119 +- .../data/devices/tyzb01-8scntis1-ts0216.json | 187 +- .../data/devices/tyzb01-mtunwanm-ts011f.json | 80 +- .../data/devices/tyzb01-o63ssaah-ts0207.json | 121 +- .../data/devices/tyzb01-qm6djpta-ts0215.json | 139 +- .../data/devices/tyzb01-rifa0wlb-ts0011.json | 79 +- .../data/devices/tyzb01-vkwryfdr-ts0115.json | 188 +- .../data/devices/tyzb01-zanh6v1o-ts0121.json | 538 +- .../data/devices/tz2000-k4yr34vv-sm0301.json | 186 +- .../data/devices/tz3000-09gto2zn-ts0013.json | 150 +- .../data/devices/tz3000-1dd0d5yi-ts130f.json | 113 +- .../data/devices/tz3000-1o6x1bl0-ts0201.json | 130 +- .../data/devices/tz3000-2putqrmw-ts011f.json | 561 +- .../data/devices/tz3000-2xlvlnez-ts011f.json | 524 +- .../data/devices/tz3000-303avxxt-ts011f.json | 589 +- .../data/devices/tz3000-3ias4w4o-ts011f.json | 517 +- .../data/devices/tz3000-5e235jpa-ts0042.json | 194 +- .../data/devices/tz3000-5fkufhn1-ts0502a.json | 161 +- .../data/devices/tz3000-5ity3zyu-ts0121.json | 540 +- .../data/devices/tz3000-6l1pjfqe-ts011f.json | 542 +- .../data/devices/tz3000-8nkb7mof-ts0121.json | 590 +- .../data/devices/tz3000-8nyaanzb-ts011f.json | 128 +- .../data/devices/tz3000-8yhypbo7-ts0203.json | 142 +- .../data/devices/tz3000-a37eix1s-ts0004.json | 190 +- .../data/devices/tz3000-a9buwvb7-ts0726.json | 249 +- .../data/devices/tz3000-adkvzooy-ts0042.json | 205 +- .../data/devices/tz3000-aghwaexm-ts0001.json | 81 +- .../data/devices/tz3000-bgsigers-ts0201.json | 154 +- .../data/devices/tz3000-bguser20-ts0201.json | 154 +- .../data/devices/tz3000-bjawzodf-ty0201.json | 104 +- .../data/devices/tz3000-cehuw1lw-ts011f.json | 541 +- .../data/devices/tz3000-cfnprab5-ts011f.json | 200 +- .../data/devices/tz3000-cicwjqth-ts011f.json | 525 +- .../data/devices/tz3000-dbou1ap4-ts0505a.json | 161 +- .../data/devices/tz3000-dowj6gyi-ts0201.json | 154 +- .../data/devices/tz3000-drc9tuqb-ts0001.json | 131 +- .../data/devices/tz3000-e2uieqop-ts0001.json | 99 +- .../data/devices/tz3000-eamtuojw-ts0201.json | 136 +- .../data/devices/tz3000-empogkya-ts0003.json | 160 +- .../data/devices/tz3000-f2bw0b6k-ts0201.json | 154 +- .../data/devices/tz3000-fdxihpp7-ts0001.json | 494 +- .../data/devices/tz3000-gbm10jnj-ts0043.json | 248 +- .../data/devices/tz3000-gjpgagal-ts0049.json | 131 +- .../data/devices/tz3000-gjrubzje-ts0001.json | 561 +- .../data/devices/tz3000-gwkzibhs-ts004f.json | 112 +- .../data/devices/tz3000-hafsqare-ts0011.json | 96 +- .../data/devices/tz3000-idhkkbqj-ts0012.json | 106 +- .../data/devices/tz3000-isw9u95y-ts0201.json | 196 +- .../data/devices/tz3000-itnrsufe-ts0201.json | 155 +- .../data/devices/tz3000-j1xl73iw-ts130f.json | 144 +- .../data/devices/tz3000-ja5osu5g-ts004f.json | 112 +- .../data/devices/tz3000-kjfzuycl-ts004f.json | 112 +- .../data/devices/tz3000-kmsbwdol-ts130f.json | 164 +- .../data/devices/tz3000-kqvb5akv-ts0001.json | 514 +- .../data/devices/tz3000-lepzuhto-ts011f.json | 562 +- .../data/devices/tz3000-lf56vpxj-ts0202.json | 149 +- .../data/devices/tz3000-llfaquvp-ts0012.json | 127 +- .../data/devices/tz3000-lotmgthb-ts011f.json | 561 +- .../data/devices/tz3000-lrgccsxm-ts0013.json | 153 +- .../data/devices/tz3000-ltiqubue-ts130f.json | 117 +- .../data/devices/tz3000-mg4dy6z6-ts0202.json | 138 +- .../data/devices/tz3000-mgusv51k-ts0052.json | 139 +- .../data/devices/tz3000-mkhkxx1p-ts0001.json | 541 +- .../data/devices/tz3000-mugyhz0q-ts0207.json | 120 +- .../data/devices/tz3000-mw1pqqqt-ts0003.json | 604 +- .../data/devices/tz3000-npzfdcof-ts0001.json | 545 +- .../data/devices/tz3000-o1jzcxou-ts011f.json | 99 +- .../data/devices/tz3000-o4mkahkc-ts0202.json | 138 +- .../data/devices/tz3000-okaz9tjs-ts011f.json | 545 +- .../data/devices/tz3000-p26flek3-ts0001.json | 131 +- .../data/devices/tz3000-pl5v1yyy-ts011f.json | 630 +- .../data/devices/tz3000-qa8s8vca-ts130f.json | 115 +- .../data/devices/tz3000-qqdbccb3-ts130f.json | 120 +- .../data/devices/tz3000-r6buo8ba-ts011f.json | 539 +- .../data/devices/tz3000-rbl8c85w-ts0012.json | 125 +- .../data/devices/tz3000-sgb0xhwn-ts011f.json | 590 +- .../data/devices/tz3000-snq47izk-ts0013.json | 153 +- .../data/devices/tz3000-tgddllx4-ts0001.json | 522 +- .../data/devices/tz3000-tqlv4ug4-ts0001.json | 545 +- .../data/devices/tz3000-typdpbpg-ts011f.json | 579 +- .../data/devices/tz3000-u3oupgdy-ts0004.json | 216 +- .../data/devices/tz3000-u4kojtqz-ts0002.json | 180 +- .../data/devices/tz3000-uwkja6z1-ts011f.json | 1014 +- .../data/devices/tz3000-vw8pawxa-ts130f.json | 98 +- .../data/devices/tz3000-w0qqde0g-ts011f.json | 570 +- .../data/devices/tz3000-wcgyhnp3-ts0222.json | 196 +- .../data/devices/tz3000-wkai4ga5-ts0044.json | 346 +- .../data/devices/tz3000-wkr3jqmr-ts0004.json | 232 +- .../data/devices/tz3000-xa9g7rxs-ts1002.json | 113 +- .../data/devices/tz3000-xabckq1v-ts004f.json | 208 +- .../data/devices/tz3000-xkap8wtb-ts000f.json | 579 +- .../data/devices/tz3000-xr3htd96-ts0201.json | 154 +- .../data/devices/tz3000-xxacnuab-ts0004.json | 200 +- .../data/devices/tz3000-ynmowqk2-ts011f.json | 545 +- .../data/devices/tz3000-zl1kmjqx-ty0201.json | 104 +- tests/data/devices/tz3000-zl1kmjqx.json | 120 +- .../data/devices/tz3000-zv6x8bt2-ts011f.json | 562 +- .../data/devices/tz3000-zw7yf6yk-ts0001.json | 541 +- .../data/devices/tz3002-vaq2bfcu-ts0726.json | 240 +- .../data/devices/tz3002-zjuvw9zf-ts0726.json | 128 +- .../data/devices/tz3040-bb6xaihh-ts0202.json | 124 +- .../data/devices/tz3210-09hzmirw-ts0502b.json | 178 +- .../data/devices/tz3210-0jxeoadc-ts0049.json | 120 +- .../data/devices/tz3210-3mpwqzuu-ts110e.json | 174 +- .../data/devices/tz3210-3ulg9kpo-ts0021.json | 104 +- .../data/devices/tz3210-5rta89nj-ts0601.json | 121 +- .../data/devices/tz3210-bfwvfyx1-ts0505b.json | 210 +- .../data/devices/tz3210-comkuwws-ts0502b.json | 162 +- .../data/devices/tz3210-dwytrmda-ts130f.json | 89 +- .../data/devices/tz3210-ehcanwyc-ts0502b.json | 162 +- .../data/devices/tz3210-ekjc2rzh-ts0225.json | 72 +- .../data/devices/tz3210-hxtfthp5-ts0505b.json | 178 +- .../data/devices/tz3210-j4pdtz9v-ts0001.json | 212 +- .../data/devices/tz3210-jaap6jeb-ts0505b.json | 162 +- .../data/devices/tz3210-k1msuvg6-ts110e.json | 122 +- .../data/devices/tz3210-kjafhwd2-ts0210.json | 126 +- .../data/devices/tz3210-klv2wul0-ts0505b.json | 162 +- .../data/devices/tz3210-ncw88jfq-ts0201.json | 137 +- .../data/devices/tz3210-qkj7rujp-ts0201.json | 139 +- .../data/devices/tz3210-r5afgmkl-ts0505b.json | 258 +- .../data/devices/tz3210-ru41azca-ts0049.json | 112 +- .../data/devices/tz3210-sb8x2xci-ts0001.json | 98 +- .../data/devices/tz3210-sixywxvy-ts0505b.json | 162 +- .../data/devices/tz3210-tgvtvdoc-ts0207.json | 171 +- .../data/devices/tz3210-u1dreag7-ts0502b.json | 162 +- .../data/devices/tz3210-ue9kyjnj-ts0502b.json | 178 +- .../data/devices/tz3210-umi6vbsz-ts0505b.json | 178 +- .../data/devices/tz3210-up3pngle-ts0205.json | 126 +- .../data/devices/tz3210-wuhzzfqg-ts0202.json | 245 +- .../data/devices/tz3218-7fiyo3kv-ts000f.json | 101 +- .../data/devices/tz3218-awarhusb-ts0225.json | 92 +- .../data/devices/tz3218-t9ynfz4x-ts0225.json | 92 +- .../data/devices/tz3218-ya5d6wth-ts000f.json | 188 +- .../tz3290-7v1k4vufotpowp9z-ts1201.json | 100 +- .../tz3290-ot6ewjvmejq5ekhl-ts1201.json | 132 +- .../data/devices/tz6210-duv6fhwt-ts0601.json | 171 +- .../data/devices/tzb210-417ikxay-ts0505b.json | 178 +- .../data/devices/tze200-1n2zev06-ts0601.json | 155 +- .../data/devices/tze200-2aaelwxk-ts0225.json | 354 +- .../data/devices/tze200-2ekuz3dz-ts0601.json | 57 +- .../data/devices/tze200-2gtsuokt-ts0601.json | 56 +- .../data/devices/tze200-2se8efxh-ts0601.json | 107 +- .../data/devices/tze200-3t91nb6k-ts0601.json | 57 +- .../data/devices/tze200-3towulqd-ts0601.json | 170 +- .../data/devices/tze200-3ylew7b4-ts0601.json | 56 +- .../data/devices/tze200-4utwozi2-ts0601.json | 169 +- .../data/devices/tze200-4wxtg5y9-ts0601.json | 57 +- .../data/devices/tze200-68nvbio9-ts0601.json | 89 +- .../data/devices/tze200-6rdj8dzm-ts0601.json | 169 +- .../data/devices/tze200-7bztmfm1-ts0601.json | 159 +- .../data/devices/tze200-7ytb3h8u-ts0601.json | 235 +- .../data/devices/tze200-81isopgh-ts0601.json | 171 +- .../data/devices/tze200-86nbew0j-ts0601.json | 56 +- .../data/devices/tze200-8whfphjv-ts0601.json | 56 +- .../data/devices/tze200-9caxna4s-ts0301.json | 155 +- .../data/devices/tze200-9xfjixap-ts0601.json | 169 +- .../data/devices/tze200-a0syesf5-ts0601.json | 104 +- .../data/devices/tze200-a1dia7ml-ts0601.json | 56 +- .../data/devices/tze200-a7sghmms-ts0601.json | 235 +- .../data/devices/tze200-abatw3kj-ts0601.json | 57 +- .../data/devices/tze200-agumlajc-ts0601.json | 56 +- .../data/devices/tze200-akjefhj5-ts0601.json | 56 +- .../data/devices/tze200-aoclfnxz-ts0601.json | 226 +- .../data/devices/tze200-b6wax7g0-ts0601.json | 339 +- .../data/devices/tze200-bcusnqt8-ts0601.json | 56 +- .../data/devices/tze200-bkkmqmyo-ts0601.json | 511 +- .../data/devices/tze200-bvrlmajk-ts0601.json | 56 +- .../data/devices/tze200-byzdayie-ts0601.json | 507 +- .../data/devices/tze200-c88teujp-ts0601.json | 233 +- .../data/devices/tze200-cirvgep4-ts0601.json | 121 +- .../data/devices/tze200-cpbo62rn-ts0601.json | 109 +- .../data/devices/tze200-cpmgn2cf-ts0601.json | 525 +- .../tze200-crq3r3la-ck-bl702-mws-01-7016.json | 271 +- .../data/devices/tze200-dwcarsat-ts0601.json | 159 +- .../data/devices/tze200-e5hpkc6d-ts0601.json | 56 +- .../data/devices/tze200-eevqq1uv-ts0601.json | 56 +- .../data/devices/tze200-ewxhg6o9-ts0601.json | 507 +- .../data/devices/tze200-f1pvdgoh-ts0601.json | 56 +- .../data/devices/tze200-fvldku9h-ts0601.json | 56 +- .../data/devices/tze200-g9a3awaj-ts0601.json | 194 +- .../data/devices/tze200-gaj531w3-ts0601.json | 89 +- .../data/devices/tze200-gjldowol-ts0601.json | 153 +- .../data/devices/tze200-gkfbdvyx-ts0601.json | 184 +- .../data/devices/tze200-gubdgai2-ts0601.json | 109 +- .../data/devices/tze200-guvc7pdy-ts0601.json | 57 +- .../data/devices/tze200-h4cgnbzg-ts0601.json | 180 +- .../data/devices/tze200-hhrtiq0x-ts0601.json | 303 +- .../data/devices/tze200-hl0ss9oa-ts0225.json | 99 +- .../data/devices/tze200-hr0tdd47-ts0601.json | 138 +- .../data/devices/tze200-iba1ckek-ts0601.json | 102 +- .../data/devices/tze200-icka1clh-ts0601.json | 89 +- .../data/devices/tze200-ijey4q29-ts0601.json | 129 +- .../data/devices/tze200-iuk8kupi-ts0601.json | 57 +- .../data/devices/tze200-js3mgbjb-ts0601.json | 57 +- .../data/devices/tze200-jva8ink8-ts0601.json | 203 +- .../data/devices/tze200-jwsjbxjs-ts0601.json | 182 +- .../data/devices/tze200-kb5noeto-ts0601.json | 233 +- .../data/devices/tze200-khozatfx-ts0601.json | 56 +- .../data/devices/tze200-kyfqmmyl-ts0601.json | 131 +- .../data/devices/tze200-la2c2uo9-ts0601.json | 104 +- .../data/devices/tze200-laqjm8qd-ts0601.json | 57 +- .../data/devices/tze200-libht6ua-ts0601.json | 56 +- .../data/devices/tze200-locansqn-ts0601.json | 283 +- .../data/devices/tze200-m9skfctm-ts0601.json | 73 +- .../data/devices/tze200-mgxy2d9f-ts0601.json | 56 +- .../data/devices/tze200-mja3fuja-ts0601.json | 142 +- .../data/devices/tze200-moycceze-ts0601.json | 56 +- .../data/devices/tze200-mudxchsu-ts0601.json | 441 +- .../data/devices/tze200-myd45weu-ts0601.json | 107 +- .../data/devices/tze200-mz5y07w2-ts0601.json | 347 +- .../data/devices/tze200-mzik0ov2-ts0601.json | 56 +- .../data/devices/tze200-nklqjk62-ts0601.json | 57 +- .../data/devices/tze200-nojsjtj2-ts0601.json | 102 +- .../data/devices/tze200-npj9bug3-ts0601.json | 136 +- .../data/devices/tze200-ntcy3xu1-ts0601.json | 106 +- .../data/devices/tze200-ny94onlb-ts0601.json | 1605 ++- .../data/devices/tze200-nyvavzbj-ts0601.json | 56 +- .../data/devices/tze200-pay2byax-ts0601.json | 104 +- .../data/devices/tze200-pl31aqf5-ts0601.json | 57 +- .../data/devices/tze200-pw7mji0l-ts0601.json | 108 +- .../data/devices/tze200-qhlxve78-ts0601.json | 56 +- .../data/devices/tze200-qrztc3ev-ts0601.json | 283 +- .../data/devices/tze200-qyflbnbj-ts0601.json | 107 +- .../data/devices/tze200-r32ctezx-ts0601.json | 105 +- .../data/devices/tze200-r5ksy7qo-ts0601.json | 56 +- .../data/devices/tze200-rccxox8p-ts0601.json | 73 +- .../data/devices/tze200-rk1wojce-ts0601.json | 56 +- .../data/devices/tze200-rks0sgb7-ts0601.json | 57 +- .../data/devices/tze200-rmymn92d-ts0601.json | 57 +- .../data/devices/tze200-rtrmfadk-ts0601.json | 56 +- .../data/devices/tze200-rxq4iti9-ts0601.json | 203 +- .../data/devices/tze200-s6hzw8g2-ts0601.json | 56 +- .../data/devices/tze200-sur6q7ko-ts0601.json | 497 +- .../data/devices/tze200-t1blo2bj-ts0601.json | 139 +- .../data/devices/tze200-t6gq6nju-ts0601.json | 57 +- .../data/devices/tze200-udank5zs-ts0601.json | 56 +- .../data/devices/tze200-uf1qujxj-ts0601.json | 56 +- .../data/devices/tze200-v1jqz5cy-ts0601.json | 56 +- .../data/devices/tze200-v9hkz2yn-ts0601.json | 634 +- .../data/devices/tze200-vdiuwbkq-ts0601.json | 89 +- .../data/devices/tze200-viy9ihs7-ts0601.json | 249 +- .../data/devices/tze200-vuqzj1ej-ts0601.json | 179 +- .../data/devices/tze200-vvmbj46n-ts0601.json | 283 +- .../data/devices/tze200-wdfurkoa-ts0601.json | 56 +- .../data/devices/tze200-wfxuhoea-ts0601.json | 57 +- .../data/devices/tze200-wktrysab-ts0601.json | 257 +- .../data/devices/tze200-wqashyqo-ts0601.json | 136 +- .../data/devices/tze200-xu4a5rhj-ts0601.json | 57 +- .../data/devices/tze200-ya4ft0w4-ts0601.json | 184 +- .../data/devices/tze200-yia0p3tr-ts0601.json | 57 +- .../data/devices/tze200-yjjdcqsq-ts0601.json | 123 +- .../data/devices/tze200-yojqa8xn-ts0601.json | 186 +- .../data/devices/tze200-yvx5lh6k-ts0601.json | 95 +- .../data/devices/tze200-yw7cahqs-ts0601.json | 233 +- .../data/devices/tze200-ztvwu4nk-ts0601.json | 56 +- .../data/devices/tze204-1fuxihti-ts0601.json | 106 +- .../data/devices/tze204-1v1dxkck-ts0601.json | 222 +- .../data/devices/tze204-1youk3hj-ts0601.json | 251 +- .../data/devices/tze204-4fblxpma-ts0601.json | 190 +- .../data/devices/tze204-58of2pfn-ts0601.json | 157 +- .../data/devices/tze204-5slehgeo-ts0601.json | 57 +- .../data/devices/tze204-5toc8efa-ts0601.json | 57 +- .../data/devices/tze204-7ytb3h8u-ts0601.json | 235 +- .../data/devices/tze204-81yrt3lo-ts0601.json | 1543 ++- .../data/devices/tze204-9yapgbuv-ts0601.json | 123 +- .../data/devices/tze204-a2jcoyuk-ts0601.json | 57 +- .../data/devices/tze204-ai4rqhky-ts0601.json | 56 +- .../data/devices/tze204-aoclfnxz-ts0601.json | 57 +- .../data/devices/tze204-bkkmqmyo-ts0601.json | 543 +- .../data/devices/tze204-bxoo2swd-ts0601.json | 166 +- .../data/devices/tze204-c2fmom5z-ts0601.json | 159 +- .../data/devices/tze204-chbyv06x-ts0601.json | 186 +- .../data/devices/tze204-cirvgep4-ts0601.json | 123 +- .../data/devices/tze204-cjbofhxw-ts0601.json | 450 +- .../data/devices/tze204-d6i25bwg-ts0601.json | 107 +- .../data/devices/tze204-dqolcpcp-ts0601.json | 165 +- .../data/devices/tze204-dtzziy1e-ts0601.json | 330 +- .../data/devices/tze204-dwcarsat-ts0601.json | 159 +- .../data/devices/tze204-eekpf0ft-ts0601.json | 56 +- .../data/devices/tze204-ex3rcdha-ts0601.json | 289 +- .../data/devices/tze204-fhvdgeuh-ts0601.json | 57 +- .../data/devices/tze204-g2ki0ejr-ts0601.json | 56 +- .../data/devices/tze204-goecjd1t-ts0601.json | 57 +- .../data/devices/tze204-gops3slb-ts0601.json | 266 +- .../data/devices/tze204-guvc7pdy-ts0601.json | 90 +- .../data/devices/tze204-hlx9tnzb-ts0601.json | 105 +- .../data/devices/tze204-iaeejhvf-ts0601.json | 433 +- .../data/devices/tze204-ijxvkhd0-ts0601.json | 57 +- .../data/devices/tze204-jrcfsaa3-ts0601.json | 57 +- .../data/devices/tze204-k7mfgaen-ts0601.json | 154 +- .../data/devices/tze204-kobbcyum-ts0601.json | 56 +- .../data/devices/tze204-kyhbrfyl-ts0601.json | 170 +- .../data/devices/tze204-l8xiyymq-ts0601.json | 56 +- .../data/devices/tze204-lb0fsvba-ts0601.json | 57 +- .../data/devices/tze204-lbbg34rj-ts0601.json | 57 +- .../data/devices/tze204-lpedvtvr-ts0601.json | 211 +- .../data/devices/tze204-lsanae15-ts0601.json | 57 +- .../data/devices/tze204-ltwbm23f-ts0601.json | 346 +- .../data/devices/tze204-lzriup1j-ts0601.json | 250 +- .../data/devices/tze204-m64smti7-ts0601.json | 57 +- .../data/devices/tze204-m9dzckna-ts0601.json | 57 +- .../data/devices/tze204-mpbki2zm-ts0601.json | 57 +- .../data/devices/tze204-mtoaryre-ts0601.json | 331 +- .../data/devices/tze204-muvkrjr5-ts0601.json | 154 +- .../data/devices/tze204-mwomyz5n-ts0601.json | 57 +- .../data/devices/tze204-nbkshs6k-ts0601.json | 57 +- .../data/devices/tze204-nklqjk62-ts0601.json | 57 +- .../data/devices/tze204-nlrfgpny-ts0601.json | 219 +- .../data/devices/tze204-nqqylykc-ts0601.json | 112 +- .../data/devices/tze204-nvxorhcj-ts0601.json | 57 +- .../data/devices/tze204-ogx8u5z6-ts0601.json | 169 +- .../data/devices/tze204-p3lqqy2r-ts0601.json | 297 +- .../data/devices/tze204-pcdmj88b-ts0601.json | 56 +- .../data/devices/tze204-ptaqh9tk-ts0601.json | 82 +- .../data/devices/tze204-pxbjch8m-ts0601.json | 57 +- .../data/devices/tze204-qasjif9e-ts0601.json | 187 +- .../data/devices/tze204-qtnjuoae-ts0601.json | 56 +- .../data/devices/tze204-qvxrkeif-ts0601.json | 122 +- .../data/devices/tze204-qyr2m29i-ts0601.json | 346 +- .../data/devices/tze204-r32ctezx-ts0601.json | 57 +- .../data/devices/tze204-rhblgy0z-ts0601.json | 57 +- .../data/devices/tze204-rtrmfadk-ts0601.json | 234 +- .../data/devices/tze204-sooucan5-ts0601.json | 203 +- .../data/devices/tze204-srmahpwl-ts0601.json | 57 +- .../data/devices/tze204-sxm7l9xa-ts0601.json | 187 +- .../data/devices/tze204-tagezcph-ts0601.json | 57 +- .../data/devices/tze204-tdhnhhiy-ts0601.json | 57 +- .../data/devices/tze204-ue3rzddr-ts0601.json | 57 +- .../data/devices/tze204-upagmta9-ts0601.json | 123 +- .../data/devices/tze204-uxllnywp-ts0601.json | 187 +- .../data/devices/tze204-vjpaih9f-ts0601.json | 56 +- .../data/devices/tze204-vmcgja59-ts0601.json | 201 +- .../data/devices/tze204-w1wwxoja-ts0601.json | 57 +- .../data/devices/tze204-wbhaespm-ts0601.json | 57 +- .../data/devices/tze204-x8fp01wi-ts0601.json | 57 +- .../data/devices/tze204-x9usygq1-ts0601.json | 56 +- .../data/devices/tze204-xalsoe3m-ts0601.json | 335 +- .../data/devices/tze204-xlppj4f5-ts0601.json | 278 +- .../data/devices/tze204-xnbkhhdr-ts0601.json | 249 +- .../data/devices/tze204-xu4a5rhj-ts0601.json | 57 +- .../data/devices/tze204-ya4ft0w4-ts0601.json | 203 +- .../data/devices/tze204-yjjdcqsq-ts0601.json | 123 +- .../data/devices/tze204-yvx5lh6k-ts0601.json | 159 +- .../data/devices/tze204-zenj4lxv-ts0601.json | 167 +- .../data/devices/tze204-ztqnh5cg-ts0601.json | 187 +- .../data/devices/tze204-zxkwaztm-ts0601.json | 201 +- .../data/devices/tze20c-xbexmf8h-ts130f.json | 58 +- .../data/devices/tze20c-zka46xbw-ts0601.json | 151 +- .../data/devices/tze284-0zaf1cr8-ts0601.json | 106 +- .../data/devices/tze284-2gi1hy8s-ts0601.json | 57 +- .../data/devices/tze284-3mzb0sdz-ts0601.json | 203 +- .../data/devices/tze284-6fopvb6v-ts0601.json | 57 +- .../data/devices/tze284-6hrnp30w-ts0601.json | 57 +- .../data/devices/tze284-6ycgarab-ts0601.json | 57 +- .../data/devices/tze284-78ioiaml-ts0601.json | 57 +- .../data/devices/tze284-7zazvlyn-ts0601.json | 57 +- .../data/devices/tze284-81yrt3lo-ts0601.json | 58 +- .../data/devices/tze284-8se38w3c-ts0601.json | 57 +- .../data/devices/tze284-a2xewxoo-ts0601.json | 58 +- .../data/devices/tze284-aao3yzhs-ts0601.json | 108 +- .../data/devices/tze284-c6wv4xyo-ts0601.json | 170 +- .../data/devices/tze284-cjbofhxw-ts0601.json | 57 +- .../data/devices/tze284-dmckrsxg-ts0601.json | 58 +- .../data/devices/tze284-f5efvtbv-ts0601.json | 58 +- .../data/devices/tze284-fhvpaltk-ts0601.json | 202 +- .../data/devices/tze284-fzo2pocs-ts0601.json | 57 +- .../data/devices/tze284-g2e6cpnw-ts0601.json | 57 +- .../data/devices/tze284-hodyryli-ts0601.json | 57 +- .../data/devices/tze284-iadro9bf-ts0601.json | 58 +- .../data/devices/tze284-idvyees9-ts0601.json | 58 +- .../data/devices/tze284-kyyu8rbj-ts0601.json | 169 +- .../data/devices/tze284-l8xiyymq-ts0601.json | 57 +- .../data/devices/tze284-ltwbm23f-ts0601.json | 57 +- .../data/devices/tze284-myd45weu-ts0601.json | 108 +- .../data/devices/tze284-ne4pikwm-ts0601.json | 218 +- .../data/devices/tze284-nklqjk62-ts0601.json | 58 +- .../data/devices/tze284-nnhwcvbk-ts0601.json | 57 +- .../data/devices/tze284-o3x45p96-ts0601.json | 170 +- .../data/devices/tze284-o9ofysmo-ts0601.json | 57 +- .../data/devices/tze284-ogx8u5z6-ts0601.json | 170 +- .../data/devices/tze284-oitavov2-ts0601.json | 144 +- .../data/devices/tze284-pcdmj88b-ts0601.json | 57 +- .../data/devices/tze284-qyflbnbj-ts0601.json | 108 +- .../data/devices/tze284-rjxqso4a-ts0601.json | 139 +- .../data/devices/tze284-rlytpmij-ts0601.json | 58 +- .../data/devices/tze284-rqcuwlsa-ts0601.json | 125 +- .../data/devices/tze284-sgabhwa6-ts0601.json | 108 +- .../data/devices/tze284-upagmta9-ts0601.json | 124 +- .../data/devices/tze284-vawy74yh-ts0601.json | 57 +- .../data/devices/tze284-vuwtqx0t-ts0601.json | 57 +- .../data/devices/tze284-wtikaxzs-ts0601.json | 57 +- .../data/devices/tze284-zjhoqbrd-ts0601.json | 57 +- .../data/devices/tze284-zm8zpwas-ts0601.json | 57 +- .../data/devices/tze284-znvwzxkq-ts0601.json | 57 +- .../data/devices/tze600-iypcp4py-ts0105.json | 72 +- .../data/devices/tze608-c75zqghm-ts0603.json | 74 +- tests/data/devices/ubisys-s1-5501.json | 633 +- .../uiot-uiot-windowcovring2-0402.json | 238 +- ...versal-electronics-inc-urc4460bc0-x-r.json | 146 +- .../devices/unk-manufacturer-unk-model.json | 139 +- tests/data/devices/visonic-mct-340-sma.json | 150 +- tests/data/devices/xiaomi-lywsd03mmc.json | 282 +- tests/data/devices/xiaoyan-terncy-sd01.json | 104 +- tests/data/devices/xyzroe-diy-zintercom.json | 53 +- tests/data/devices/yale-yrd256-tsdb.json | 132 +- tests/data/devices/yooksmart-d10110.json | 171 +- tests/data/devices/yunding-ford.json | 132 +- tests/data/devices/zbeacon-ts0001.json | 100 +- tests/data/devices/zbeacon-ts0505.json | 845 +- ...ux-andigny-alcantara2-d1-00p1-02z1-00.json | 279 +- tests/data/devices/zen-within-zen-01.json | 333 +- 771 files changed, 63495 insertions(+), 105957 deletions(-) diff --git a/tests/data/devices/adeo-sin-4-fp-21-equ.json b/tests/data/devices/adeo-sin-4-fp-21-equ.json index 6f4093675..9e7113d25 100644 --- a/tests/data/devices/adeo-sin-4-fp-21-equ.json +++ b/tests/data/devices/adeo-sin-4-fp-21-equ.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:85:66:cc:2e", "nwk": "0xA2CE", "manufacturer": "Adeo", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,48 +106,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 39737 + "value": 39737, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -154,7 +220,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 1028 + "value": 1028, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -172,7 +244,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -191,11 +269,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "pilot_wire_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -203,6 +283,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -217,6 +298,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -224,6 +306,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -294,22 +377,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:85:66:cc:2e:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:66:cc:2e", "endpoint_id": 1, "available": true, @@ -342,22 +409,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:85:66:cc:2e:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:85:66:cc:2e", "endpoint_id": 1, "available": true, @@ -391,22 +442,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PhillipsRemoteClusterHandler", - "generic_id": "cluster_handler_0xfc00", - "endpoint_id": 1, - "cluster": { - "id": 64512, - "name": "PilotWireCluster", - "type": "server" - }, - "id": "1:0xfc00", - "unique_id": "ab:cd:ef:12:85:66:cc:2e:1:0xfc00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:66:cc:2e", "endpoint_id": 1, "available": true, @@ -444,22 +479,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:85:66:cc:2e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:66:cc:2e", "endpoint_id": 1, "available": true, @@ -488,22 +507,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:85:66:cc:2e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:66:cc:2e", "endpoint_id": 1, "available": true, @@ -532,22 +535,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:85:66:cc:2e:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:85:66:cc:2e", "endpoint_id": 1, "available": true, @@ -584,22 +571,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:85:66:cc:2e:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:85:66:cc:2e", "endpoint_id": 1, "available": true, @@ -638,22 +609,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:85:66:cc:2e:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:85:66:cc:2e", "endpoint_id": 1, "available": true, @@ -682,22 +637,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:85:66:cc:2e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:66:cc:2e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/adeo-zb-watersensor-d0001.json b/tests/data/devices/adeo-zb-watersensor-d0001.json index f7df21c63..8c16d2690 100644 --- a/tests/data/devices/adeo-zb-watersensor-d0001.json +++ b/tests/data/devices/adeo-zb-watersensor-d0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:7b:20:a5:2a", "nwk": "0x35E0", "manufacturer": "ADEO", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,44 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -84,6 +113,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -111,6 +141,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -118,6 +149,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -183,22 +215,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:7b:20:a5:2a:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:20:a5:2a", "endpoint_id": 1, "available": true, @@ -228,22 +244,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:7b:20:a5:2a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:20:a5:2a", "endpoint_id": 1, "available": true, @@ -276,22 +276,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7b:20:a5:2a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:20:a5:2a", "endpoint_id": 1, "available": true, @@ -320,22 +304,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7b:20:a5:2a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:20:a5:2a", "endpoint_id": 1, "available": true, @@ -364,22 +332,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:7b:20:a5:2a:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:7b:20:a5:2a", "endpoint_id": 1, "available": true, @@ -415,22 +367,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:7b:20:a5:2a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:20:a5:2a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/adurosmart-eria-ad-rgbw3001.json b/tests/data/devices/adurosmart-eria-ad-rgbw3001.json index c89d4c9ba..4e020db08 100644 --- a/tests/data/devices/adurosmart-eria-ad-rgbw3001.json +++ b/tests/data/devices/adurosmart-eria-ad-rgbw3001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:8d:00:03:42:9e:da", "nwk": "0x0403", "manufacturer": "AduroSmart Eria", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,12 +112,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -149,6 +167,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -184,7 +203,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 397 + "value": 397, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -202,13 +227,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 30604 + "value": 30604, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 25165 + "value": 25165, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -233,6 +270,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -240,6 +278,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -262,6 +301,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -330,22 +370,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:15:8d:00:03:42:9e:da:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:03:42:9e:da", "endpoint_id": 1, "available": true, @@ -378,50 +402,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:15:8d:00:03:42:9e:da:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:15:8d:00:03:42:9e:da:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "00:15:8d:00:03:42:9e:da:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:15:8d:00:03:42:9e:da", "endpoint_id": 1, "available": true, @@ -482,22 +462,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "00:15:8d:00:03:42:9e:da:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:15:8d:00:03:42:9e:da", "endpoint_id": 1, "available": true, @@ -529,22 +493,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:15:8d:00:03:42:9e:da:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:15:8d:00:03:42:9e:da", "endpoint_id": 1, "available": true, @@ -576,22 +524,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:15:8d:00:03:42:9e:da:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:15:8d:00:03:42:9e:da", "endpoint_id": 1, "available": true, @@ -623,22 +555,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:15:8d:00:03:42:9e:da:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:15:8d:00:03:42:9e:da", "endpoint_id": 1, "available": true, @@ -670,22 +586,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:15:8d:00:03:42:9e:da:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:15:8d:00:03:42:9e:da", "endpoint_id": 1, "available": true, @@ -717,22 +617,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:15:8d:00:03:42:9e:da:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:15:8d:00:03:42:9e:da", "endpoint_id": 1, "available": true, @@ -766,22 +650,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:15:8d:00:03:42:9e:da:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:15:8d:00:03:42:9e:da", "endpoint_id": 1, "available": true, @@ -817,22 +685,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:03:42:9e:da:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:03:42:9e:da", "endpoint_id": 1, "available": true, @@ -861,22 +713,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:03:42:9e:da:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:03:42:9e:da", "endpoint_id": 1, "available": true, @@ -907,22 +743,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:15:8d:00:03:42:9e:da:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:03:42:9e:da", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/adurosmart-eria-adurolight-csc.json b/tests/data/devices/adurosmart-eria-adurolight-csc.json index 5577558a1..b0ff4f116 100644 --- a/tests/data/devices/adurosmart-eria-adurolight-csc.json +++ b/tests/data/devices/adurosmart-eria-adurolight-csc.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:1a:8b:d4:d3", "nwk": "0x489C", "manufacturer": "AduroSmart Eria", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,66 +63,143 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 120 + "value": 120, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": true + "value": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "current_level", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0007", + "name": "color_temperature", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0003", + "name": "current_x", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0004", + "name": "current_y", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfccc", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -129,46 +207,55 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfccc", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -183,6 +270,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -190,6 +278,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -270,22 +359,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:1a:8b:d4:d3:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1a:8b:d4:d3", "endpoint_id": 1, "available": true, @@ -318,22 +391,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1a:8b:d4:d3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1a:8b:d4:d3", "endpoint_id": 1, "available": true, @@ -362,22 +419,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1a:8b:d4:d3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1a:8b:d4:d3", "endpoint_id": 1, "available": true, @@ -406,22 +447,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:1a:8b:d4:d3:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:1a:8b:d4:d3", "endpoint_id": 1, "available": true, @@ -458,22 +483,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:1a:8b:d4:d3:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:1a:8b:d4:d3", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/adurosmart-eria-vms-adurolight.json b/tests/data/devices/adurosmart-eria-vms-adurolight.json index 9c2b9aa3c..958a81b92 100644 --- a/tests/data/devices/adurosmart-eria-vms-adurolight.json +++ b/tests/data/devices/adurosmart-eria-vms-adurolight.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:8d:00:07:5b:40:90", "nwk": "0x2DE4", "manufacturer": "AduroSmart Eria", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 180 + "value": 180, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,18 +99,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29 + "value": 29, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -142,6 +158,7 @@ { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -198,22 +215,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "00:15:8d:00:07:5b:40:90:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:07:5b:40:90", "endpoint_id": 1, "available": true, @@ -243,22 +244,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:15:8d:00:07:5b:40:90:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:07:5b:40:90", "endpoint_id": 1, "available": true, @@ -291,22 +276,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:07:5b:40:90:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:07:5b:40:90", "endpoint_id": 1, "available": true, @@ -335,22 +304,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:07:5b:40:90:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:07:5b:40:90", "endpoint_id": 1, "available": true, @@ -379,22 +332,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:15:8d:00:07:5b:40:90:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:15:8d:00:07:5b:40:90", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/aeotec-zga004.json b/tests/data/devices/aeotec-zga004.json index 5a5c3c7ef..28c1faf7a 100644 --- a/tests/data/devices/aeotec-zga004.json +++ b/tests/data/devices/aeotec-zga004.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:3a:bc:09:e8", "nwk": "0x7433", "manufacturer": "AEOTEC", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,38 +63,50 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 41 + "value": 41, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -105,13 +118,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "value": 255 + "value": 255, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -154,11 +179,13 @@ { "cluster_id": "0xfd01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd03", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -166,11 +193,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -192,26 +221,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -223,13 +257,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -282,11 +328,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -294,21 +342,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [] } ] @@ -323,21 +375,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd00", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -345,31 +401,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -384,16 +446,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd00", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -401,26 +466,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] } ] @@ -436,6 +506,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -566,22 +637,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:3a:bc:09:e8:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3a:bc:09:e8", "endpoint_id": 1, "available": true, @@ -614,22 +669,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:3a:bc:09:e8:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:3a:bc:09:e8", "endpoint_id": 1, "available": true, @@ -662,22 +701,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 2, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "2:0x0102", - "unique_id": "ab:cd:ef:12:3a:bc:09:e8:2:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:3a:bc:09:e8", "endpoint_id": 2, "available": true, @@ -712,22 +735,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3a:bc:09:e8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3a:bc:09:e8", "endpoint_id": 1, "available": true, @@ -756,22 +763,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3a:bc:09:e8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3a:bc:09:e8", "endpoint_id": 1, "available": true, @@ -800,22 +791,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "ab:cd:ef:12:3a:bc:09:e8:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "ab:cd:ef:12:3a:bc:09:e8", "endpoint_id": 1, "available": true, @@ -844,22 +819,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:3a:bc:09:e8:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:3a:bc:09:e8", "endpoint_id": 1, "available": true, @@ -888,22 +847,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 2, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "2:0x0102", - "unique_id": "ab:cd:ef:12:3a:bc:09:e8:2:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:3a:bc:09:e8", "endpoint_id": 2, "available": true, @@ -934,22 +877,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:3a:bc:09:e8:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:3a:bc:09:e8", "endpoint_id": 1, "available": true, @@ -982,22 +909,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 2, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "2:0x0102", - "unique_id": "ab:cd:ef:12:3a:bc:09:e8:2:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:3a:bc:09:e8", "endpoint_id": 2, "available": true, @@ -1032,22 +943,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:3a:bc:09:e8:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3a:bc:09:e8", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/alab-alab-co2-1-1.json b/tests/data/devices/alab-alab-co2-1-1.json index c88da4949..80770f217 100644 --- a/tests/data/devices/alab-alab-co2-1-1.json +++ b/tests/data/devices/alab-alab-co2-1-1.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d6:a0:0e:81", "nwk": "0xBF64", "manufacturer": "Alab", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 255 + "value": 255, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,48 +93,76 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 255 + "value": 255, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2010 + "value": 2010, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 3592 + "value": 3592, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x040d", "endpoint_attribute": "carbon_dioxide_concentration", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "single", - "value": 812.0 + "value": 812.0, + "reporting": { + "min": 30, + "max": 900, + "change": 1e-06, + "status": "SUCCESS" + } } ] } @@ -144,6 +180,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -208,22 +245,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:d6:a0:0e:81:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d6:a0:0e:81", "endpoint_id": 1, "available": true, @@ -256,22 +277,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d6:a0:0e:81:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d6:a0:0e:81", "endpoint_id": 1, "available": true, @@ -300,22 +305,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d6:a0:0e:81:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d6:a0:0e:81", "endpoint_id": 1, "available": true, @@ -344,22 +333,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:d6:a0:0e:81:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:d6:a0:0e:81", "endpoint_id": 1, "available": true, @@ -388,22 +361,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:d6:a0:0e:81:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:d6:a0:0e:81", "endpoint_id": 1, "available": true, @@ -432,22 +389,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "CarbonDioxideConcentrationClusterHandler", - "generic_id": "cluster_handler_0x040d", - "endpoint_id": 1, - "cluster": { - "id": 1037, - "name": "Carbon Dioxide (CO\u2082) Concentration", - "type": "server" - }, - "id": "1:0x040d", - "unique_id": "ab:cd:ef:12:d6:a0:0e:81:1:0x040d", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:d6:a0:0e:81", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/aqara-lumi-airrtc-aeu001.json b/tests/data/devices/aqara-lumi-airrtc-aeu001.json index 686407d5b..99e596e16 100644 --- a/tests/data/devices/aqara-lumi-airrtc-aeu001.json +++ b/tests/data/devices/aqara-lumi-airrtc-aeu001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:71:24:74:6a", "nwk": "0x6323", "manufacturer": "Aqara", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,6 +106,7 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -136,7 +148,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 0.0 + "value": 0.0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0067", @@ -161,6 +179,7 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -196,7 +215,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2330 + "value": 2330, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -232,43 +257,85 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2600 + "value": 2600, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -280,7 +347,13 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0023", @@ -298,91 +371,166 @@ "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": -1 + "value": -1, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5100 + "value": 5100, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -400,7 +548,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -418,7 +572,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -437,24 +597,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -478,31 +657,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -526,19 +735,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -550,7 +885,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -574,13 +915,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -604,19 +957,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -640,25 +1011,44 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -666,11 +1056,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -743,22 +1135,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:71:24:74:6a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:71:24:74:6a", "endpoint_id": 1, "available": true, @@ -791,22 +1167,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:71:24:74:6a:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:71:24:74:6a", "endpoint_id": 1, "available": true, @@ -872,22 +1232,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:71:24:74:6a:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:71:24:74:6a", "endpoint_id": 1, "available": true, @@ -919,22 +1263,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:71:24:74:6a:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:71:24:74:6a", "endpoint_id": 1, "available": true, @@ -966,22 +1294,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:71:24:74:6a:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:71:24:74:6a", "endpoint_id": 1, "available": true, @@ -1015,22 +1327,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:71:24:74:6a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:71:24:74:6a", "endpoint_id": 1, "available": true, @@ -1059,22 +1355,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:71:24:74:6a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:71:24:74:6a", "endpoint_id": 1, "available": true, @@ -1103,22 +1383,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:71:24:74:6a:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:71:24:74:6a", "endpoint_id": 1, "available": true, @@ -1147,22 +1411,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:71:24:74:6a:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:71:24:74:6a", "endpoint_id": 1, "available": true, @@ -1191,22 +1439,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:71:24:74:6a:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:71:24:74:6a", "endpoint_id": 1, "available": true, @@ -1242,22 +1474,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:71:24:74:6a:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:71:24:74:6a", "endpoint_id": 1, "available": true, @@ -1291,22 +1507,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:71:24:74:6a:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:71:24:74:6a", "endpoint_id": 1, "available": true, @@ -1335,22 +1535,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:71:24:74:6a:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:71:24:74:6a", "endpoint_id": 1, "available": true, @@ -1381,22 +1565,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:71:24:74:6a:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:71:24:74:6a", "endpoint_id": 1, "available": true, @@ -1425,22 +1593,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:71:24:74:6a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:71:24:74:6a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/aqara-lumi-airrtc-aeu005.json b/tests/data/devices/aqara-lumi-airrtc-aeu005.json index cc578ebce..0c77236ea 100644 --- a/tests/data/devices/aqara-lumi-airrtc-aeu005.json +++ b/tests/data/devices/aqara-lumi-airrtc-aeu005.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a8:b1:ca:04", "nwk": "0x3EB5", "manufacturer": "Aqara", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -125,6 +126,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -143,6 +145,7 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -178,7 +181,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 1800 + "value": 1800, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -214,43 +223,85 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2000 + "value": 2000, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -262,7 +313,13 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 1 + "value": 1, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0023", @@ -280,19 +337,32 @@ "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -300,6 +370,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -318,6 +389,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -445,22 +517,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:a8:b1:ca:04:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a8:b1:ca:04", "endpoint_id": 1, "available": true, @@ -493,22 +549,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a8:b1:ca:04:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a8:b1:ca:04", "endpoint_id": 1, "available": true, @@ -574,22 +614,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a8:b1:ca:04:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a8:b1:ca:04", "endpoint_id": 1, "available": true, @@ -621,22 +645,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a8:b1:ca:04:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a8:b1:ca:04", "endpoint_id": 1, "available": true, @@ -668,22 +676,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a8:b1:ca:04:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a8:b1:ca:04", "endpoint_id": 1, "available": true, @@ -717,22 +709,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a8:b1:ca:04:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a8:b1:ca:04", "endpoint_id": 1, "available": true, @@ -761,22 +737,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a8:b1:ca:04:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a8:b1:ca:04", "endpoint_id": 1, "available": true, @@ -805,22 +765,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a8:b1:ca:04:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a8:b1:ca:04", "endpoint_id": 1, "available": true, @@ -849,22 +793,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a8:b1:ca:04:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a8:b1:ca:04", "endpoint_id": 1, "available": true, @@ -895,22 +823,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a8:b1:ca:04:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a8:b1:ca:04", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/aqara-lumi-curtain-acn04.json b/tests/data/devices/aqara-lumi-curtain-acn04.json index 315f762b8..731db6b9c 100644 --- a/tests/data/devices/aqara-lumi-curtain-acn04.json +++ b/tests/data/devices/aqara-lumi-curtain-acn04.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a4:d1:4f:84", "nwk": "0x1B19", "manufacturer": "Aqara", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,33 +63,49 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 22 + "value": 22, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0017", @@ -101,6 +118,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -108,11 +126,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -172,22 +192,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:a4:d1:4f:84:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a4:d1:4f:84", "endpoint_id": 1, "available": true, @@ -220,22 +224,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:a4:d1:4f:84:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:a4:d1:4f:84", "endpoint_id": 1, "available": true, @@ -270,22 +258,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a4:d1:4f:84:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a4:d1:4f:84", "endpoint_id": 1, "available": true, @@ -314,22 +286,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a4:d1:4f:84:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a4:d1:4f:84", "endpoint_id": 1, "available": true, @@ -358,22 +314,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:a4:d1:4f:84:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:a4:d1:4f:84", "endpoint_id": 1, "available": true, @@ -404,22 +344,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a4:d1:4f:84:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a4:d1:4f:84", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/aqara-lumi-light-acn132.json b/tests/data/devices/aqara-lumi-light-acn132.json index cb34ec4b6..52fc7e967 100644 --- a/tests/data/devices/aqara-lumi-light-acn132.json +++ b/tests/data/devices/aqara-lumi-light-acn132.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f0:a0:54:37", "nwk": "0x31FB", "manufacturer": "Aqara", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 41 + "value": 41, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,19 +197,37 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 154 + "value": 154, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 20512 + "value": 20512, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 13762 + "value": 13762, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -209,6 +246,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -216,11 +254,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -289,22 +329,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:a0:54:37", "endpoint_id": 1, "available": true, @@ -337,50 +361,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:f0:a0:54:37", "endpoint_id": 1, "available": true, @@ -439,22 +419,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:f0:a0:54:37", "endpoint_id": 1, "available": true, @@ -486,22 +450,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:f0:a0:54:37", "endpoint_id": 1, "available": true, @@ -533,22 +481,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:f0:a0:54:37", "endpoint_id": 1, "available": true, @@ -580,22 +512,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:f0:a0:54:37", "endpoint_id": 1, "available": true, @@ -627,22 +543,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:f0:a0:54:37", "endpoint_id": 1, "available": true, @@ -674,22 +574,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "AqaraLedStripT1", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:a0:54:37", "endpoint_id": 1, "available": true, @@ -721,22 +605,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "AqaraLedStripT1", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:a0:54:37", "endpoint_id": 1, "available": true, @@ -768,22 +636,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "AqaraLedStripT1", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:a0:54:37", "endpoint_id": 1, "available": true, @@ -815,22 +667,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "AqaraLedStripT1", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:a0:54:37", "endpoint_id": 1, "available": true, @@ -864,22 +700,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "AqaraLedStripT1", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:a0:54:37", "endpoint_id": 1, "available": true, @@ -911,22 +731,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "AqaraLedStripT1", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:a0:54:37", "endpoint_id": 1, "available": true, @@ -960,22 +764,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "AqaraLedStripT1", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:a0:54:37", "endpoint_id": 1, "available": true, @@ -1008,22 +796,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "AqaraLedStripT1", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:a0:54:37", "endpoint_id": 1, "available": true, @@ -1057,22 +829,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "AqaraLedStripT1", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:a0:54:37", "endpoint_id": 1, "available": true, @@ -1112,22 +868,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:a0:54:37", "endpoint_id": 1, "available": true, @@ -1156,22 +896,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:a0:54:37", "endpoint_id": 1, "available": true, @@ -1202,22 +926,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f0:a0:54:37:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:a0:54:37", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/aqara-lumi-light-agl003.json b/tests/data/devices/aqara-lumi-light-agl003.json index 57aaffb39..9b94a2fc7 100644 --- a/tests/data/devices/aqara-lumi-light-agl003.json +++ b/tests/data/devices/aqara-lumi-light-agl003.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:83:74:c5:0a", "nwk": "0x35A7", "manufacturer": "Aqara", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,12 +112,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 1 + "value": 1, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -149,6 +167,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -184,19 +203,37 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 153 + "value": 153, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 20486 + "value": 20486, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 21474 + "value": 21474, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -215,54 +252,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -280,7 +366,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -298,7 +390,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -317,24 +415,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -358,31 +475,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -406,19 +553,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -430,7 +703,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -454,13 +733,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -484,19 +775,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -520,19 +829,44 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -540,11 +874,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -566,7 +902,21 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0055", + "name": "present_value", + "zcl_type": "single", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -638,22 +988,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:83:74:c5:0a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:83:74:c5:0a", "endpoint_id": 1, "available": true, @@ -686,50 +1020,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:83:74:c5:0a:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:83:74:c5:0a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:83:74:c5:0a:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:83:74:c5:0a", "endpoint_id": 1, "available": true, @@ -788,22 +1078,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:83:74:c5:0a:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:83:74:c5:0a", "endpoint_id": 1, "available": true, @@ -835,22 +1109,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:83:74:c5:0a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:83:74:c5:0a", "endpoint_id": 1, "available": true, @@ -882,22 +1140,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:83:74:c5:0a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:83:74:c5:0a", "endpoint_id": 1, "available": true, @@ -929,22 +1171,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:83:74:c5:0a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:83:74:c5:0a", "endpoint_id": 1, "available": true, @@ -976,22 +1202,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:83:74:c5:0a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:83:74:c5:0a", "endpoint_id": 1, "available": true, @@ -1025,22 +1235,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:83:74:c5:0a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:83:74:c5:0a", "endpoint_id": 1, "available": true, @@ -1069,22 +1263,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:83:74:c5:0a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:83:74:c5:0a", "endpoint_id": 1, "available": true, @@ -1113,22 +1291,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:83:74:c5:0a:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:83:74:c5:0a", "endpoint_id": 1, "available": true, @@ -1164,22 +1326,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:83:74:c5:0a:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:83:74:c5:0a", "endpoint_id": 1, "available": true, @@ -1215,22 +1361,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:83:74:c5:0a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:83:74:c5:0a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/aqara-lumi-light-agl005.json b/tests/data/devices/aqara-lumi-light-agl005.json index 15448072a..2e3eb60af 100644 --- a/tests/data/devices/aqara-lumi-light-agl005.json +++ b/tests/data/devices/aqara-lumi-light-agl005.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:5f:ec:15:50", "nwk": "0x47E3", "manufacturer": "Aqara", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -74,27 +75,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -107,12 +118,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -155,6 +173,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -190,19 +209,37 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 111 + "value": 111, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 8912 + "value": 8912, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 2621 + "value": 2621, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -221,54 +258,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -286,7 +372,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -304,7 +396,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -323,24 +421,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -364,31 +481,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -412,19 +559,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -436,7 +709,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -460,13 +739,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -490,19 +781,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -526,19 +835,44 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -546,11 +880,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -572,7 +908,21 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0055", + "name": "present_value", + "zcl_type": "single", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -644,22 +994,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:5f:ec:15:50:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5f:ec:15:50", "endpoint_id": 1, "available": true, @@ -692,50 +1026,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:5f:ec:15:50:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:5f:ec:15:50:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:5f:ec:15:50:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:5f:ec:15:50", "endpoint_id": 1, "available": true, @@ -794,22 +1084,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:5f:ec:15:50:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:5f:ec:15:50", "endpoint_id": 1, "available": true, @@ -841,22 +1115,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:5f:ec:15:50:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:5f:ec:15:50", "endpoint_id": 1, "available": true, @@ -888,22 +1146,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:5f:ec:15:50:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:5f:ec:15:50", "endpoint_id": 1, "available": true, @@ -935,22 +1177,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:5f:ec:15:50:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:5f:ec:15:50", "endpoint_id": 1, "available": true, @@ -982,22 +1208,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:5f:ec:15:50:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:5f:ec:15:50", "endpoint_id": 1, "available": true, @@ -1031,22 +1241,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5f:ec:15:50:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5f:ec:15:50", "endpoint_id": 1, "available": true, @@ -1075,22 +1269,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5f:ec:15:50:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5f:ec:15:50", "endpoint_id": 1, "available": true, @@ -1119,22 +1297,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:5f:ec:15:50:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:5f:ec:15:50", "endpoint_id": 1, "available": true, @@ -1170,22 +1332,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:5f:ec:15:50:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:5f:ec:15:50", "endpoint_id": 1, "available": true, @@ -1221,22 +1367,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:5f:ec:15:50:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5f:ec:15:50", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/aqara-lumi-lunar-acn01.json b/tests/data/devices/aqara-lumi-lunar-acn01.json index 092067d7a..c0ed10a1f 100644 --- a/tests/data/devices/aqara-lumi-lunar-acn01.json +++ b/tests/data/devices/aqara-lumi-lunar-acn01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "54:ef:44:10:00:21:5f:8c", "nwk": "0xCB48", "manufacturer": "aqara", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,11 +69,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -80,11 +83,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -141,22 +146,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "54:ef:44:10:00:21:5f:8c:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:21:5f:8c", "endpoint_id": 1, "available": true, @@ -189,22 +178,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:21:5f:8c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:21:5f:8c", "endpoint_id": 1, "available": true, @@ -233,22 +206,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:21:5f:8c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:21:5f:8c", "endpoint_id": 1, "available": true, @@ -279,22 +236,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "54:ef:44:10:00:21:5f:8c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:21:5f:8c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/aqara-lumi-motion-ac01.json b/tests/data/devices/aqara-lumi-motion-ac01.json index d7c0452c1..5cc5863d9 100644 --- a/tests/data/devices/aqara-lumi-motion-ac01.json +++ b/tests/data/devices/aqara-lumi-motion-ac01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "54:ef:44:10:00:4d:2d:5b", "nwk": "0x6826", "manufacturer": "aqara", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -74,35 +75,51 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 2700 + "value": 2700, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [ { "id": "0x0146", @@ -141,11 +158,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -209,22 +228,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "54:ef:44:10:00:4d:2d:5b:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "54:ef:44:10:00:4d:2d:5b", "endpoint_id": 1, "available": true, @@ -254,22 +257,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "54:ef:44:10:00:4d:2d:5b:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:4d:2d:5b", "endpoint_id": 1, "available": true, @@ -300,22 +287,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "54:ef:44:10:00:4d:2d:5b:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:4d:2d:5b", "endpoint_id": 1, "available": true, @@ -345,22 +316,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "54:ef:44:10:00:4d:2d:5b:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:4d:2d:5b", "endpoint_id": 1, "available": true, @@ -393,22 +348,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "54:ef:44:10:00:4d:2d:5b:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:4d:2d:5b", "endpoint_id": 1, "available": true, @@ -440,22 +379,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "54:ef:44:10:00:4d:2d:5b:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:4d:2d:5b", "endpoint_id": 1, "available": true, @@ -490,22 +413,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:4d:2d:5b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:4d:2d:5b", "endpoint_id": 1, "available": true, @@ -534,22 +441,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:4d:2d:5b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:4d:2d:5b", "endpoint_id": 1, "available": true, @@ -578,22 +469,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "54:ef:44:10:00:4d:2d:5b:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "54:ef:44:10:00:4d:2d:5b", "endpoint_id": 1, "available": true, @@ -624,22 +499,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "54:ef:44:10:00:4d:2d:5b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:4d:2d:5b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/aqara-lumi-sensor-occupy-agl1.json b/tests/data/devices/aqara-lumi-sensor-occupy-agl1.json index d91f945b0..b8db87b57 100644 --- a/tests/data/devices/aqara-lumi-sensor-occupy-agl1.json +++ b/tests/data/devices/aqara-lumi-sensor-occupy-agl1.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ca:86:17:4b", "nwk": "0x2AFF", "manufacturer": "aqara", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,51 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "current_temperature", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "occupancy", + "zcl_type": "map8", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -101,6 +132,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -108,11 +140,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -179,22 +213,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:ca:86:17:4b:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:ca:86:17:4b", "endpoint_id": 1, "available": true, @@ -222,22 +240,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:ca:86:17:4b:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:86:17:4b", "endpoint_id": 1, "available": true, @@ -267,22 +269,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:ca:86:17:4b:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:86:17:4b", "endpoint_id": 1, "available": true, @@ -313,22 +299,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:ca:86:17:4b:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:86:17:4b", "endpoint_id": 1, "available": true, @@ -356,22 +326,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:ca:86:17:4b:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:86:17:4b", "endpoint_id": 1, "available": true, @@ -401,22 +355,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:ca:86:17:4b:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:86:17:4b", "endpoint_id": 1, "available": true, @@ -450,22 +388,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:ca:86:17:4b:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:86:17:4b", "endpoint_id": 1, "available": true, @@ -500,22 +422,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ca:86:17:4b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:86:17:4b", "endpoint_id": 1, "available": true, @@ -544,22 +450,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ca:86:17:4b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:86:17:4b", "endpoint_id": 1, "available": true, @@ -588,22 +478,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "ab:cd:ef:12:ca:86:17:4b:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "ab:cd:ef:12:ca:86:17:4b", "endpoint_id": 1, "available": true, @@ -632,22 +506,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:ca:86:17:4b:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:86:17:4b", "endpoint_id": 1, "available": true, @@ -678,22 +536,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ca:86:17:4b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:86:17:4b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/aqara-lumi-sensor-occupy-agl8.json b/tests/data/devices/aqara-lumi-sensor-occupy-agl8.json index d8fa9d6ac..ce0ac34a0 100644 --- a/tests/data/devices/aqara-lumi-sensor-occupy-agl8.json +++ b/tests/data/devices/aqara-lumi-sensor-occupy-agl8.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ae:99:5e:c4", "nwk": "0x9506", "manufacturer": "Aqara", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -125,12 +126,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -148,13 +156,20 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -173,6 +188,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x004a", @@ -203,6 +219,7 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -220,7 +237,13 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -233,6 +256,7 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -250,7 +274,13 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2365 + "value": 2365, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -263,6 +293,7 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -280,7 +311,13 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5200 + "value": 5200, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -293,6 +330,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -300,6 +338,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -318,6 +357,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -449,22 +489,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:ae:99:5e:c4:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ae:99:5e:c4", "endpoint_id": 1, "available": true, @@ -497,22 +521,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ae:99:5e:c4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ae:99:5e:c4", "endpoint_id": 1, "available": true, @@ -541,22 +549,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ae:99:5e:c4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ae:99:5e:c4", "endpoint_id": 1, "available": true, @@ -585,22 +577,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:ae:99:5e:c4:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:ae:99:5e:c4", "endpoint_id": 1, "available": true, @@ -634,22 +610,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:ae:99:5e:c4:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:ae:99:5e:c4", "endpoint_id": 1, "available": true, @@ -678,22 +638,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:ae:99:5e:c4:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:ae:99:5e:c4", "endpoint_id": 1, "available": true, @@ -722,22 +666,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:ae:99:5e:c4:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:ae:99:5e:c4", "endpoint_id": 1, "available": true, @@ -768,22 +696,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ae:99:5e:c4:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ae:99:5e:c4", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/aqara-lumi-switch-acn047.json b/tests/data/devices/aqara-lumi-switch-acn047.json index e08676a63..bf78ba5f5 100644 --- a/tests/data/devices/aqara-lumi-switch-acn047.json +++ b/tests/data/devices/aqara-lumi-switch-acn047.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:3a:b1:1a:5d", "nwk": "0x4DF8", "manufacturer": "Aqara", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -79,7 +81,13 @@ "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 3500 + "value": 3500, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -110,27 +118,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -143,11 +161,13 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0020", @@ -159,49 +179,97 @@ "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -219,7 +287,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -237,7 +311,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -256,24 +336,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -297,31 +396,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 7899 + "value": 7899, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -345,31 +474,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0103", "name": "dc_current", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "dc_voltage", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0502", @@ -405,7 +648,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -429,13 +678,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -459,19 +720,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -495,25 +774,44 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [ { "id": "0x0200", @@ -558,11 +856,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -584,27 +884,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -617,11 +927,13 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [ { "id": "0x0200", @@ -662,6 +974,7 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -703,7 +1016,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 789.8800048828125 + "value": 789.8800048828125, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0067", @@ -807,22 +1126,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:3a:b1:1a:5d:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3a:b1:1a:5d", "endpoint_id": 1, "available": true, @@ -855,22 +1158,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:3a:b1:1a:5d:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3a:b1:1a:5d", "endpoint_id": 1, "available": true, @@ -902,22 +1189,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:3a:b1:1a:5d:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3a:b1:1a:5d", "endpoint_id": 1, "available": true, @@ -951,22 +1222,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:3a:b1:1a:5d:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3a:b1:1a:5d", "endpoint_id": 1, "available": true, @@ -999,22 +1254,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:3a:b1:1a:5d:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3a:b1:1a:5d", "endpoint_id": 1, "available": true, @@ -1047,22 +1286,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 2, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "2:0xfcc0", - "unique_id": "ab:cd:ef:12:3a:b1:1a:5d:2:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3a:b1:1a:5d", "endpoint_id": 2, "available": true, @@ -1096,22 +1319,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3a:b1:1a:5d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3a:b1:1a:5d", "endpoint_id": 1, "available": true, @@ -1140,22 +1347,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3a:b1:1a:5d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3a:b1:1a:5d", "endpoint_id": 1, "available": true, @@ -1184,22 +1375,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "T2MeteringCluster", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:3a:b1:1a:5d:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:3a:b1:1a:5d", "endpoint_id": 1, "available": true, @@ -1235,22 +1410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "ab:cd:ef:12:3a:b1:1a:5d:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "ab:cd:ef:12:3a:b1:1a:5d", "endpoint_id": 1, "available": true, @@ -1279,22 +1438,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:3a:b1:1a:5d:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:3a:b1:1a:5d", "endpoint_id": 1, "available": true, @@ -1327,22 +1470,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:3a:b1:1a:5d:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:3a:b1:1a:5d", "endpoint_id": 1, "available": true, @@ -1377,22 +1504,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:3a:b1:1a:5d:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:3a:b1:1a:5d", "endpoint_id": 1, "available": true, @@ -1419,22 +1530,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:3a:b1:1a:5d:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:3a:b1:1a:5d", "endpoint_id": 2, "available": true, @@ -1463,22 +1558,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:3a:b1:1a:5d:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3a:b1:1a:5d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/aqara-lumi-switch-aeu003.json b/tests/data/devices/aqara-lumi-switch-aeu003.json index 3aebce5ed..0da22ee59 100644 --- a/tests/data/devices/aqara-lumi-switch-aeu003.json +++ b/tests/data/devices/aqara-lumi-switch-aeu003.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:8d:ae:d7:5d", "nwk": "0xFF3D", "manufacturer": "Aqara", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -88,13 +93,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -137,54 +154,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -202,7 +268,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -220,7 +292,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -239,24 +317,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -280,31 +377,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -328,19 +455,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -352,7 +605,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -376,13 +635,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -406,19 +677,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -442,25 +731,44 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -468,11 +776,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -494,6 +804,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -509,6 +820,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -521,6 +833,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -536,6 +849,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -548,6 +862,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -563,6 +878,7 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -604,7 +920,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 0.0 + "value": 0.0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0067", @@ -720,22 +1042,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:8d:ae:d7:5d:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:ae:d7:5d", "endpoint_id": 1, "available": true, @@ -768,22 +1074,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:8d:ae:d7:5d:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:8d:ae:d7:5d", "endpoint_id": 1, "available": true, @@ -818,22 +1108,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8d:ae:d7:5d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:ae:d7:5d", "endpoint_id": 1, "available": true, @@ -862,22 +1136,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8d:ae:d7:5d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:ae:d7:5d", "endpoint_id": 1, "available": true, @@ -906,22 +1164,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:8d:ae:d7:5d:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:8d:ae:d7:5d", "endpoint_id": 1, "available": true, @@ -957,22 +1199,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:8d:ae:d7:5d:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:8d:ae:d7:5d", "endpoint_id": 1, "available": true, @@ -1001,22 +1227,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:8d:ae:d7:5d:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:8d:ae:d7:5d", "endpoint_id": 1, "available": true, @@ -1052,22 +1262,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:8d:ae:d7:5d:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:8d:ae:d7:5d", "endpoint_id": 1, "available": true, @@ -1102,22 +1296,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:8d:ae:d7:5d:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:ae:d7:5d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/aqara-lumi-switch-agl010.json b/tests/data/devices/aqara-lumi-switch-agl010.json index b9c5494cf..c538f03a6 100644 --- a/tests/data/devices/aqara-lumi-switch-agl010.json +++ b/tests/data/devices/aqara-lumi-switch-agl010.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:19:5a:ce:c8", "nwk": "0xBE80", "manufacturer": "Aqara", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,6 +106,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -107,54 +119,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -172,7 +233,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -190,7 +257,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -209,24 +282,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -250,31 +342,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -298,19 +420,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -322,7 +570,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -346,13 +600,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -376,19 +642,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -412,19 +696,44 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -432,11 +741,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -458,22 +769,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -486,6 +806,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -498,6 +819,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -513,6 +835,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -528,11 +851,13 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -548,11 +873,13 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -568,6 +895,7 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -609,7 +937,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 0.0 + "value": 0.0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0067", @@ -738,22 +1072,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:19:5a:ce:c8:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:19:5a:ce:c8", "endpoint_id": 1, "available": true, @@ -786,22 +1104,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:19:5a:ce:c8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:19:5a:ce:c8", "endpoint_id": 1, "available": true, @@ -830,22 +1132,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:19:5a:ce:c8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:19:5a:ce:c8", "endpoint_id": 1, "available": true, @@ -874,22 +1160,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:19:5a:ce:c8:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:19:5a:ce:c8", "endpoint_id": 1, "available": true, @@ -925,22 +1195,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:19:5a:ce:c8:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:19:5a:ce:c8", "endpoint_id": 1, "available": true, @@ -976,22 +1230,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:19:5a:ce:c8:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:19:5a:ce:c8", "endpoint_id": 1, "available": true, @@ -1018,22 +1256,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:19:5a:ce:c8:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:19:5a:ce:c8", "endpoint_id": 2, "available": true, @@ -1062,22 +1284,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:19:5a:ce:c8:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:19:5a:ce:c8", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/atlantic-group-adapter-zigbee-fujitsu.json b/tests/data/devices/atlantic-group-adapter-zigbee-fujitsu.json index d6dae5ee6..26c2524fa 100644 --- a/tests/data/devices/atlantic-group-adapter-zigbee-fujitsu.json +++ b/tests/data/devices/atlantic-group-adapter-zigbee-fujitsu.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:8e:4d:7a:e3", "nwk": "0xEE14", "manufacturer": "ATLANTIC GROUP", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,11 +63,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -102,7 +105,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2000 + "value": 2000, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0018", @@ -132,73 +141,140 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2600 + "value": 2600, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2300 + "value": 2300, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0202", "endpoint_attribute": "fan", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "fan_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -211,6 +287,7 @@ { "cluster_id": "0xfc03", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -218,6 +295,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -232,16 +310,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -249,6 +330,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -263,6 +345,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -270,6 +353,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -349,22 +433,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:8e:4d:7a:e3:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8e:4d:7a:e3", "endpoint_id": 1, "available": true, @@ -397,36 +465,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:8e:4d:7a:e3:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - }, - { - "class_name": "FanClusterHandler", - "generic_id": "cluster_handler_0x0202", - "endpoint_id": 1, - "cluster": { - "id": 514, - "name": "Fan Control", - "type": "server" - }, - "id": "1:0x0202", - "unique_id": "ab:cd:ef:12:8e:4d:7a:e3:1:0x0202", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8e:4d:7a:e3", "endpoint_id": 1, "available": true, @@ -495,22 +533,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8e:4d:7a:e3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8e:4d:7a:e3", "endpoint_id": 1, "available": true, @@ -539,22 +561,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8e:4d:7a:e3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8e:4d:7a:e3", "endpoint_id": 1, "available": true, @@ -583,22 +589,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:8e:4d:7a:e3:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:8e:4d:7a:e3", "endpoint_id": 1, "available": true, @@ -627,22 +617,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:8e:4d:7a:e3:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:8e:4d:7a:e3", "endpoint_id": 1, "available": true, @@ -671,22 +645,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:8e:4d:7a:e3:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:8e:4d:7a:e3", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/aug-winkhaus-gmbh-co-kg-fm-v-zb.json b/tests/data/devices/aug-winkhaus-gmbh-co-kg-fm-v-zb.json index 623379076..e8bffca11 100644 --- a/tests/data/devices/aug-winkhaus-gmbh-co-kg-fm-v-zb.json +++ b/tests/data/devices/aug-winkhaus-gmbh-co-kg-fm-v-zb.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d0:2b:45:b6", "nwk": "0xA254", "manufacturer": "Aug. Winkhaus GmbH & Co. KG", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,44 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -84,6 +113,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -119,11 +149,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -189,22 +221,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:d0:2b:45:b6:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d0:2b:45:b6", "endpoint_id": 1, "available": true, @@ -234,22 +250,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:d0:2b:45:b6:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d0:2b:45:b6", "endpoint_id": 1, "available": true, @@ -282,22 +282,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d0:2b:45:b6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d0:2b:45:b6", "endpoint_id": 1, "available": true, @@ -326,22 +310,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d0:2b:45:b6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d0:2b:45:b6", "endpoint_id": 1, "available": true, @@ -370,22 +338,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:d0:2b:45:b6:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:d0:2b:45:b6", "endpoint_id": 1, "available": true, @@ -421,22 +373,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d0:2b:45:b6:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d0:2b:45:b6", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/aurora-doublesocket50au.json b/tests/data/devices/aurora-doublesocket50au.json index ecfdd63a7..2a8e1f63c 100644 --- a/tests/data/devices/aurora-doublesocket50au.json +++ b/tests/data/devices/aurora-doublesocket50au.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:73:79:07:f7", "nwk": "0xC337", "manufacturer": "Aurora", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,24 +161,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 50 + "value": 50, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -184,31 +221,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -216,11 +283,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 65535 + "value": 65535, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -232,19 +437,37 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 6 + "value": 6, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -252,17 +475,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 246 + "value": 246, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -271,6 +560,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -285,32 +575,43 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -323,24 +624,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 50 + "value": 50, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -364,31 +684,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -396,11 +746,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 65535 + "value": 65535, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -412,19 +900,37 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 3 + "value": 3, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -432,17 +938,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 246 + "value": 246, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -517,22 +1089,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:73:79:07:f7:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:73:79:07:f7", "endpoint_id": 1, "available": true, @@ -565,22 +1121,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:73:79:07:f7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:73:79:07:f7", "endpoint_id": 1, "available": true, @@ -609,22 +1149,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:73:79:07:f7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:73:79:07:f7", "endpoint_id": 1, "available": true, @@ -653,22 +1177,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:73:79:07:f7:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:73:79:07:f7", "endpoint_id": 1, "available": true, @@ -702,22 +1210,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:73:79:07:f7:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:73:79:07:f7", "endpoint_id": 1, "available": true, @@ -751,22 +1243,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:73:79:07:f7:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:73:79:07:f7", "endpoint_id": 1, "available": true, @@ -799,22 +1275,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:73:79:07:f7:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:73:79:07:f7", "endpoint_id": 1, "available": true, @@ -847,22 +1307,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:73:79:07:f7:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:73:79:07:f7", "endpoint_id": 1, "available": true, @@ -896,22 +1340,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:73:79:07:f7:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:73:79:07:f7", "endpoint_id": 1, "available": true, @@ -945,22 +1373,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:73:79:07:f7:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:73:79:07:f7", "endpoint_id": 2, "available": true, @@ -994,22 +1406,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:73:79:07:f7:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:73:79:07:f7", "endpoint_id": 2, "available": true, @@ -1043,22 +1439,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:73:79:07:f7:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:73:79:07:f7", "endpoint_id": 2, "available": true, @@ -1091,22 +1471,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:73:79:07:f7:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:73:79:07:f7", "endpoint_id": 2, "available": true, @@ -1139,22 +1503,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:73:79:07:f7:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:73:79:07:f7", "endpoint_id": 2, "available": true, @@ -1188,22 +1536,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:73:79:07:f7:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:73:79:07:f7", "endpoint_id": 2, "available": true, @@ -1239,22 +1571,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:73:79:07:f7:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:73:79:07:f7", "endpoint_id": 1, "available": true, @@ -1281,22 +1597,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:73:79:07:f7:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:73:79:07:f7", "endpoint_id": 2, "available": true, @@ -1325,22 +1625,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:73:79:07:f7:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:73:79:07:f7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/awox-ercu-ws-zm.json b/tests/data/devices/awox-ercu-ws-zm.json index d71e474b5..017aa627c 100644 --- a/tests/data/devices/awox-ercu-ws-zm.json +++ b/tests/data/devices/awox-ercu-ws-zm.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:50:b9:32:f5", "nwk": "0x8C7A", "manufacturer": "AwoX", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -79,41 +83,49 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -128,11 +140,13 @@ { "cluster_id": "0xff50", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff51", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -140,11 +154,13 @@ { "cluster_id": "0xff50", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff51", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -220,22 +236,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:50:b9:32:f5:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:50:b9:32:f5", "endpoint_id": 1, "available": true, @@ -268,22 +268,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:50:b9:32:f5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:50:b9:32:f5", "endpoint_id": 1, "available": true, @@ -312,22 +296,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:50:b9:32:f5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:50:b9:32:f5", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/awox-esmlfzm-w6-dimm.json b/tests/data/devices/awox-esmlfzm-w6-dimm.json index c698bc9fa..f28f53f5b 100644 --- a/tests/data/devices/awox-esmlfzm-w6-dimm.json +++ b/tests/data/devices/awox-esmlfzm-w6-dimm.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:4f:a8:bc:46", "nwk": "0x51F1", "manufacturer": "AwoX", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -149,11 +167,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -189,19 +209,37 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -220,11 +258,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -232,6 +272,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] } ] @@ -246,16 +287,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff50", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff51", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -263,11 +307,13 @@ { "cluster_id": "0xff50", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff51", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -283,6 +329,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -366,22 +413,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:4f:a8:bc:46:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4f:a8:bc:46", "endpoint_id": 1, "available": true, @@ -411,22 +442,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:4f:a8:bc:46:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4f:a8:bc:46", "endpoint_id": 1, "available": true, @@ -459,50 +474,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:4f:a8:bc:46:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:4f:a8:bc:46:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:4f:a8:bc:46:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:4f:a8:bc:46", "endpoint_id": 1, "available": true, @@ -560,22 +531,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:4f:a8:bc:46:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:4f:a8:bc:46", "endpoint_id": 1, "available": true, @@ -609,22 +564,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:4f:a8:bc:46:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:4f:a8:bc:46", "endpoint_id": 1, "available": true, @@ -660,22 +599,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4f:a8:bc:46:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4f:a8:bc:46", "endpoint_id": 1, "available": true, @@ -704,22 +627,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4f:a8:bc:46:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4f:a8:bc:46", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/awox-tlsr82xx.json b/tests/data/devices/awox-tlsr82xx.json index 1fe12fe3c..918d96ed3 100644 --- a/tests/data/devices/awox-tlsr82xx.json +++ b/tests/data/devices/awox-tlsr82xx.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "a4:c1:38:01:9c:d6:df:d1", "nwk": "0x2F11", "manufacturer": "AwoX", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -79,41 +83,49 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -128,11 +140,13 @@ { "cluster_id": "0xff50", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff51", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -140,11 +154,13 @@ { "cluster_id": "0xff50", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff51", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -220,22 +236,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "a4:c1:38:01:9c:d6:df:d1:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:01:9c:d6:df:d1", "endpoint_id": 1, "available": true, @@ -268,22 +268,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "a4:c1:38:01:9c:d6:df:d1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:01:9c:d6:df:d1", "endpoint_id": 1, "available": true, @@ -312,22 +296,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "a4:c1:38:01:9c:d6:df:d1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:01:9c:d6:df:d1", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/bega-gantenbrink-leuchten-kg-smart-dimmable-light.json b/tests/data/devices/bega-gantenbrink-leuchten-kg-smart-dimmable-light.json index a1c3ae6ae..36eb5afb5 100644 --- a/tests/data/devices/bega-gantenbrink-leuchten-kg-smart-dimmable-light.json +++ b/tests/data/devices/bega-gantenbrink-leuchten-kg-smart-dimmable-light.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:1a:5e:2c:1e", "nwk": "0x1D54", "manufacturer": "BEGA Gantenbrink-Leuchten KG", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -193,27 +194,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -226,12 +237,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 94 + "value": 94, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -292,16 +310,19 @@ { "cluster_id": "0xfcbe", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc5", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -309,31 +330,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -346,6 +373,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -364,6 +392,7 @@ { "cluster_id": "0xfcc5", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -379,6 +408,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -455,22 +485,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:1a:5e:2c:1e:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1a:5e:2c:1e", "endpoint_id": 1, "available": true, @@ -503,36 +517,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:1a:5e:2c:1e:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:1a:5e:2c:1e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:1a:5e:2c:1e", "endpoint_id": 1, "available": true, @@ -586,22 +570,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:1a:5e:2c:1e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:1a:5e:2c:1e", "endpoint_id": 1, "available": true, @@ -633,22 +601,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:1a:5e:2c:1e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:1a:5e:2c:1e", "endpoint_id": 1, "available": true, @@ -680,22 +632,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:1a:5e:2c:1e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:1a:5e:2c:1e", "endpoint_id": 1, "available": true, @@ -727,22 +663,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:1a:5e:2c:1e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:1a:5e:2c:1e", "endpoint_id": 1, "available": true, @@ -774,22 +694,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:1a:5e:2c:1e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:1a:5e:2c:1e", "endpoint_id": 1, "available": true, @@ -821,22 +725,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:1a:5e:2c:1e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:1a:5e:2c:1e", "endpoint_id": 1, "available": true, @@ -870,22 +758,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:1a:5e:2c:1e:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:1a:5e:2c:1e", "endpoint_id": 1, "available": true, @@ -919,22 +791,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:1a:5e:2c:1e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:1a:5e:2c:1e", "endpoint_id": 1, "available": true, @@ -968,22 +824,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1a:5e:2c:1e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1a:5e:2c:1e", "endpoint_id": 1, "available": true, @@ -1012,22 +852,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1a:5e:2c:1e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1a:5e:2c:1e", "endpoint_id": 1, "available": true, @@ -1058,22 +882,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:1a:5e:2c:1e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1a:5e:2c:1e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/bitron-video-902010-24a.json b/tests/data/devices/bitron-video-902010-24a.json index 26c0da407..e35fabcf4 100644 --- a/tests/data/devices/bitron-video-902010-24a.json +++ b/tests/data/devices/bitron-video-902010-24a.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f4:7b:a3:f4", "nwk": "0xD9B6", "manufacturer": "Bitron Video", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,11 +63,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -106,6 +109,7 @@ { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", + "bind": "SUCCESS", "attributes": [] } ], @@ -113,6 +117,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -128,6 +133,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -192,22 +198,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:f4:7b:a3:f4:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f4:7b:a3:f4", "endpoint_id": 1, "available": true, @@ -237,22 +227,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:f4:7b:a3:f4:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f4:7b:a3:f4", "endpoint_id": 1, "available": true, @@ -285,22 +259,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 1, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "1:0x0502", - "unique_id": "ab:cd:ef:12:f4:7b:a3:f4:1:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f4:7b:a3:f4", "endpoint_id": 1, "available": true, @@ -334,22 +292,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 1, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "1:0x0502", - "unique_id": "ab:cd:ef:12:f4:7b:a3:f4:1:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f4:7b:a3:f4", "endpoint_id": 1, "available": true, @@ -381,22 +323,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 1, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "1:0x0502", - "unique_id": "ab:cd:ef:12:f4:7b:a3:f4:1:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f4:7b:a3:f4", "endpoint_id": 1, "available": true, @@ -430,22 +356,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 1, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "1:0x0502", - "unique_id": "ab:cd:ef:12:f4:7b:a3:f4:1:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f4:7b:a3:f4", "endpoint_id": 1, "available": true, @@ -484,22 +394,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f4:7b:a3:f4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f4:7b:a3:f4", "endpoint_id": 1, "available": true, @@ -528,22 +422,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f4:7b:a3:f4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f4:7b:a3:f4", "endpoint_id": 1, "available": true, @@ -574,22 +452,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 1, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "1:0x0502", - "unique_id": "ab:cd:ef:12:f4:7b:a3:f4:1:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f4:7b:a3:f4", "endpoint_id": 1, "available": true, @@ -627,22 +489,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 4, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "4:0x0019_client", - "unique_id": "ab:cd:ef:12:f4:7b:a3:f4:4:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f4:7b:a3:f4", "endpoint_id": 4, "available": true, diff --git a/tests/data/devices/bituo-technik-spm01x001.json b/tests/data/devices/bituo-technik-spm01x001.json index 910a6777f..f8d56933e 100644 --- a/tests/data/devices/bituo-technik-spm01x001.json +++ b/tests/data/devices/bituo-technik-spm01x001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:8d:c2:0c:51", "nwk": "0x4837", "manufacturer": "BITUO TECHNIK", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,83 +63,176 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 10 + "value": 10, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "status", + "zcl_type": "map8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ + { + "id": "0x0603", + "name": "ac_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 4992 + "value": 4992, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0302", @@ -162,19 +256,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0601", + "name": "ac_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0600", + "name": "ac_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -182,11 +318,161 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0403", + "name": "power_divisor", + "zcl_type": "uint32", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -194,6 +480,18 @@ "zcl_type": "int8", "value": 100 }, + { + "id": "0x0402", + "name": "power_multiplier", + "zcl_type": "uint32", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050e", "name": "reactive_power", @@ -204,7 +502,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -212,11 +516,41 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 24178 + "value": 24178, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -224,11 +558,41 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -247,6 +611,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -254,11 +619,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -317,22 +684,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:8d:c2:0c:51:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:c2:0c:51", "endpoint_id": 1, "available": true, @@ -365,22 +716,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8d:c2:0c:51:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:c2:0c:51", "endpoint_id": 1, "available": true, @@ -409,22 +744,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8d:c2:0c:51:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:c2:0c:51", "endpoint_id": 1, "available": true, @@ -453,22 +772,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:8d:c2:0c:51:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:8d:c2:0c:51", "endpoint_id": 1, "available": true, @@ -503,22 +806,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:8d:c2:0c:51:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:8d:c2:0c:51", "endpoint_id": 1, "available": true, @@ -553,22 +840,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:8d:c2:0c:51:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:8d:c2:0c:51", "endpoint_id": 1, "available": true, @@ -601,22 +872,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:8d:c2:0c:51:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:8d:c2:0c:51", "endpoint_id": 1, "available": true, @@ -649,22 +904,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:8d:c2:0c:51:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:8d:c2:0c:51", "endpoint_id": 1, "available": true, @@ -696,22 +935,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:8d:c2:0c:51:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:8d:c2:0c:51", "endpoint_id": 1, "available": true, @@ -743,22 +966,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:8d:c2:0c:51:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:8d:c2:0c:51", "endpoint_id": 1, "available": true, @@ -791,22 +998,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:8d:c2:0c:51:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:8d:c2:0c:51", "endpoint_id": 1, "available": true, @@ -839,22 +1030,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:8d:c2:0c:51:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:8d:c2:0c:51", "endpoint_id": 1, "available": true, @@ -889,22 +1064,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:8d:c2:0c:51:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:c2:0c:51", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/bosch-rbsh-mms-zb-eu.json b/tests/data/devices/bosch-rbsh-mms-zb-eu.json index 4399e2d40..433523713 100644 --- a/tests/data/devices/bosch-rbsh-mms-zb-eu.json +++ b/tests/data/devices/bosch-rbsh-mms-zb-eu.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:75:e4:96:a5", "nwk": "0x0CE8", "manufacturer": "Bosch", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -88,13 +93,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -137,54 +154,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 221 + "value": 221, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -202,7 +268,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -220,7 +292,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -239,24 +317,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -280,31 +377,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -328,19 +455,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -352,7 +605,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -376,13 +635,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -406,19 +677,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -442,24 +731,50 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfca0", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -467,11 +782,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -493,27 +810,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -526,6 +853,7 @@ { "cluster_id": "0xfca0", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -541,27 +869,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -574,6 +912,7 @@ { "cluster_id": "0xfca0", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -661,22 +1000,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 1, "available": true, @@ -709,22 +1032,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 1, "available": true, @@ -759,22 +1066,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 2, "available": true, @@ -825,22 +1116,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 3, "available": true, @@ -893,22 +1168,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfca0", - "endpoint_id": 1, - "cluster": { - "id": 64672, - "name": "BoschLightShutterControlII", - "type": "server" - }, - "id": "1:0xfca0", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:1:0xfca0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 1, "available": true, @@ -940,22 +1199,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfca0", - "endpoint_id": 1, - "cluster": { - "id": 64672, - "name": "BoschLightShutterControlII", - "type": "server" - }, - "id": "1:0xfca0", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:1:0xfca0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 1, "available": true, @@ -987,22 +1230,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfca0", - "endpoint_id": 1, - "cluster": { - "id": 64672, - "name": "BoschLightShutterControlII", - "type": "server" - }, - "id": "1:0xfca0", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:1:0xfca0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 1, "available": true, @@ -1034,22 +1261,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfca0", - "endpoint_id": 1, - "cluster": { - "id": 64672, - "name": "BoschLightShutterControlII", - "type": "server" - }, - "id": "1:0xfca0", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:1:0xfca0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 1, "available": true, @@ -1083,22 +1294,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfca0", - "endpoint_id": 1, - "cluster": { - "id": 64672, - "name": "BoschLightShutterControlII", - "type": "server" - }, - "id": "1:0xfca0", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:1:0xfca0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 1, "available": true, @@ -1131,22 +1326,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfca0", - "endpoint_id": 1, - "cluster": { - "id": 64672, - "name": "BoschLightShutterControlII", - "type": "server" - }, - "id": "1:0xfca0", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:1:0xfca0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 1, "available": true, @@ -1180,22 +1359,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 2, "available": true, @@ -1229,22 +1392,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 3, "available": true, @@ -1280,22 +1427,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 1, "available": true, @@ -1324,22 +1455,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 1, "available": true, @@ -1368,22 +1483,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 1, "available": true, @@ -1420,22 +1519,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 1, "available": true, @@ -1472,22 +1555,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 1, "available": true, @@ -1516,22 +1583,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 1, "available": true, @@ -1565,22 +1616,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfca0", - "endpoint_id": 1, - "cluster": { - "id": 64672, - "name": "BoschLightShutterControlII", - "type": "server" - }, - "id": "1:0xfca0", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:1:0xfca0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 1, "available": true, @@ -1611,22 +1646,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 1, "available": true, @@ -1659,22 +1678,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfca0", - "endpoint_id": 1, - "cluster": { - "id": 64672, - "name": "BoschLightShutterControlII", - "type": "server" - }, - "id": "1:0xfca0", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:1:0xfca0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 1, "available": true, @@ -1707,22 +1710,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfca0", - "endpoint_id": 2, - "cluster": { - "id": 64672, - "name": "BoschLightShutterControlII", - "type": "server" - }, - "id": "2:0xfca0", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:2:0xfca0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 2, "available": true, @@ -1755,22 +1742,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfca0", - "endpoint_id": 3, - "cluster": { - "id": 64672, - "name": "BoschLightShutterControlII", - "type": "server" - }, - "id": "3:0xfca0", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:3:0xfca0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 3, "available": true, @@ -1805,22 +1776,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:75:e4:96:a5:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:75:e4:96:a5", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/bosch-rbsh-rth0-bat-zb-eu.json b/tests/data/devices/bosch-rbsh-rth0-bat-zb-eu.json index 8445e3bd5..f0ae2774f 100644 --- a/tests/data/devices/bosch-rbsh-rth0-bat-zb-eu.json +++ b/tests/data/devices/bosch-rbsh-rth0-bat-zb-eu.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e1:24:c2:fc", "nwk": "0xFD09", "manufacturer": "Bosch", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -73,7 +75,13 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,18 +99,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 62 + "value": 62, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -115,6 +131,7 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -146,11 +163,53 @@ "zcl_type": "enum8", "value": 6 }, + { + "id": "0x5000", + "name": "error_code", + "zcl_type": "map8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x4052", + "name": "external_temperature", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, + { + "id": "0x4020", + "name": "heating_demand", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2180 + "value": 2180, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -186,43 +245,97 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2300 + "value": 2300, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1700 + "value": 1700, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, + { + "id": "0x4051", + "name": "outdoor_temperature", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -234,25 +347,56 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, + { + "id": "0x4022", + "name": "valve_state", + "zcl_type": "enum8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -265,18 +409,26 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5326 + "value": 5326, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -284,11 +436,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -357,22 +511,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -402,22 +540,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -450,22 +572,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -530,22 +636,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -577,22 +667,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -624,22 +698,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -671,22 +729,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -718,22 +760,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -765,22 +791,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -812,22 +822,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -859,22 +853,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -908,22 +886,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -958,22 +920,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -1005,22 +951,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -1054,22 +984,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -1102,22 +1016,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -1150,22 +1048,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -1197,22 +1079,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -1247,22 +1113,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -1291,22 +1141,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -1335,22 +1169,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -1385,22 +1203,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -1429,22 +1231,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -1473,22 +1259,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -1517,22 +1287,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -1561,22 +1315,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -1605,22 +1343,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -1649,22 +1371,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -1693,22 +1399,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -1739,22 +1429,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -1787,22 +1461,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, @@ -1837,22 +1495,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e1:24:c2:fc:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e1:24:c2:fc", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/bosch-rbsh-rth0-zb-eu.json b/tests/data/devices/bosch-rbsh-rth0-zb-eu.json index 4260f713a..397fce68f 100644 --- a/tests/data/devices/bosch-rbsh-rth0-zb-eu.json +++ b/tests/data/devices/bosch-rbsh-rth0-zb-eu.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:28:a4:a4:f2", "nwk": "0x8ED4", "manufacturer": "Bosch", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -98,6 +99,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -116,6 +118,7 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -165,11 +168,53 @@ "zcl_type": "enum8", "value": 6 }, + { + "id": "0x5000", + "name": "error_code", + "zcl_type": "map8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x4052", + "name": "external_temperature", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, + { + "id": "0x4020", + "name": "heating_demand", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2295 + "value": 2295, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -217,19 +262,37 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2150 + "value": 2150, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2150 + "value": 2150, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x4007", @@ -237,11 +300,41 @@ "zcl_type": "enum8", "value": 1 }, + { + "id": "0x4051", + "name": "outdoor_temperature", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } + }, + { + "id": "0x0008", + "name": "pi_heating_demand", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x001a", @@ -253,13 +346,25 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 2 + "value": 2, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0031", @@ -283,7 +388,13 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 3 + "value": 3, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", @@ -307,13 +418,37 @@ "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, + { + "id": "0x4022", + "name": "valve_state", + "zcl_type": "enum8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4042", @@ -326,6 +461,7 @@ { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [ { "id": "0x403b", @@ -362,6 +498,7 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0002", @@ -373,7 +510,13 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5198 + "value": 5198, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -398,6 +541,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffe", @@ -412,11 +556,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -483,22 +629,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -528,22 +658,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -576,22 +690,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -656,22 +754,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -703,22 +785,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -750,22 +816,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -797,22 +847,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -844,22 +878,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -891,22 +909,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -938,22 +940,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -985,22 +971,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1034,22 +1004,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1084,22 +1038,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1131,22 +1069,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1180,22 +1102,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1228,22 +1134,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1276,22 +1166,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1323,22 +1197,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1373,22 +1231,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1417,22 +1259,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1461,22 +1287,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1505,22 +1315,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1549,22 +1343,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1593,22 +1371,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1637,22 +1399,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1681,22 +1427,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1725,22 +1455,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1769,22 +1483,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1813,22 +1511,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1859,22 +1541,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1907,22 +1573,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, @@ -1957,22 +1607,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:28:a4:a4:f2:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:28:a4:a4:f2", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/bosch-rbsh-trv0-zb-eu.json b/tests/data/devices/bosch-rbsh-trv0-zb-eu.json index b23e0a0ac..d440758e0 100644 --- a/tests/data/devices/bosch-rbsh-trv0-zb-eu.json +++ b/tests/data/devices/bosch-rbsh-trv0-zb-eu.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d1:eb:38:68", "nwk": "0x09BA", "manufacturer": "BOSCH", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 16 + "value": 16, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,23 +93,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 27 + "value": 27, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -114,6 +131,7 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -143,7 +161,13 @@ "id": "0x4043", "name": "boost_heating", "zcl_type": "enum8", - "value": 0 + "value": 0, + "reporting": { + "min": 10, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x001b", @@ -155,7 +179,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2170 + "value": 2170, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -191,37 +221,73 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2300 + "value": 2300, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1800 + "value": 1800, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x4007", "name": "operating_mode", "zcl_type": "enum8", - "value": 1 + "value": 1, + "reporting": { + "min": 10, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x4020", "name": "pi_heating_demand", "zcl_type": "enum8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x4040", @@ -233,13 +299,25 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -251,19 +329,49 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, + { + "id": "0x4022", + "name": "valve_adapt_status", + "zcl_type": "enum8", + "unsupported": false, + "reporting": { + "min": 10, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4042", @@ -276,6 +384,7 @@ { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [ { "id": "0x403b", @@ -312,6 +421,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -319,11 +429,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -392,22 +504,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -438,22 +534,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -484,22 +564,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -563,22 +627,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -610,22 +658,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -657,22 +689,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -704,22 +720,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -751,22 +751,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -798,22 +782,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -847,22 +815,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -894,22 +846,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -941,22 +877,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -990,22 +910,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -1034,22 +938,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -1078,22 +966,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -1130,22 +1002,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -1174,22 +1030,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -1218,22 +1058,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -1262,22 +1086,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -1306,22 +1114,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -1350,22 +1142,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -1396,22 +1172,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -1444,22 +1204,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "BoschThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, @@ -1494,22 +1238,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d1:eb:38:68:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:eb:38:68", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/bosch-rbsh-us4btn-zb-eu.json b/tests/data/devices/bosch-rbsh-us4btn-zb-eu.json index 9791b3181..6f23f4506 100644 --- a/tests/data/devices/bosch-rbsh-us4btn-zb-eu.json +++ b/tests/data/devices/bosch-rbsh-us4btn-zb-eu.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:55:78:47:04", "nwk": "0x7401", "manufacturer": "Bosch", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -158,6 +159,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0052", @@ -181,7 +183,13 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -199,7 +207,13 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31 + "value": 31, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0xfffd", @@ -224,6 +238,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -248,6 +263,7 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -260,6 +276,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0116", @@ -272,6 +289,7 @@ { "cluster_id": "0xfca1", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -279,6 +297,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -291,6 +310,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -363,22 +383,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:55:78:47:04:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:55:78:47:04", "endpoint_id": 1, "available": true, @@ -411,22 +415,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:55:78:47:04:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:55:78:47:04", "endpoint_id": 1, "available": true, @@ -455,22 +443,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:55:78:47:04:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:55:78:47:04", "endpoint_id": 1, "available": true, @@ -499,22 +471,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:55:78:47:04:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:55:78:47:04", "endpoint_id": 1, "available": true, @@ -551,22 +507,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:55:78:47:04:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:55:78:47:04", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/busch-jaeger-rb01.json b/tests/data/devices/busch-jaeger-rb01.json index 7e0597205..6b6a2ceb2 100644 --- a/tests/data/devices/busch-jaeger-rb01.json +++ b/tests/data/devices/busch-jaeger-rb01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:97:db:33:21", "nwk": "0x71F3", "manufacturer": "Busch-Jaeger", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -69,31 +71,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -106,11 +114,13 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -172,22 +182,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 10, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "10:0x0000", - "unique_id": "ab:cd:ef:12:97:db:33:21:10:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:97:db:33:21", "endpoint_id": 10, "available": true, @@ -216,22 +210,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 10, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "10:0x0000", - "unique_id": "ab:cd:ef:12:97:db:33:21:10:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:97:db:33:21", "endpoint_id": 10, "available": true, @@ -262,22 +240,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 10, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "10:0x0019_client", - "unique_id": "ab:cd:ef:12:97:db:33:21:10:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:97:db:33:21", "endpoint_id": 10, "available": true, diff --git a/tests/data/devices/candeo-c-zb-lc20-dim.json b/tests/data/devices/candeo-c-zb-lc20-dim.json index 691ad97a5..600ba4418 100644 --- a/tests/data/devices/candeo-c-zb-lc20-dim.json +++ b/tests/data/devices/candeo-c-zb-lc20-dim.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:99:61:76:7a", "nwk": "0x5E52", "manufacturer": "Candeo", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -150,6 +169,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -216,22 +236,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "ab:cd:ef:12:99:61:76:7a:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:99:61:76:7a", "endpoint_id": 11, "available": true, @@ -264,36 +268,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:99:61:76:7a:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:99:61:76:7a:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:99:61:76:7a", "endpoint_id": 11, "available": true, @@ -347,22 +321,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:99:61:76:7a:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:99:61:76:7a", "endpoint_id": 11, "available": true, @@ -396,22 +354,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:99:61:76:7a:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:99:61:76:7a", "endpoint_id": 11, "available": true, @@ -447,22 +389,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:99:61:76:7a:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:99:61:76:7a", "endpoint_id": 11, "available": true, @@ -491,22 +417,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:99:61:76:7a:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:99:61:76:7a", "endpoint_id": 11, "available": true, @@ -537,22 +447,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "ab:cd:ef:12:99:61:76:7a:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:99:61:76:7a", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/candeo-c-zb-lc20-rgb.json b/tests/data/devices/candeo-c-zb-lc20-rgb.json index eb4a57175..2e42de8fd 100644 --- a/tests/data/devices/candeo-c-zb-lc20-rgb.json +++ b/tests/data/devices/candeo-c-zb-lc20-rgb.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ca:6d:9d:be", "nwk": "0x605B", "manufacturer": "Candeo", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 2 + "value": 2, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -174,17 +193,41 @@ "zcl_type": "uint16", "value": 158 }, + { + "id": "0x0007", + "name": "color_temperature", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 4915 + "value": 4915, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 52428 + "value": 52428, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -197,6 +240,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -204,6 +248,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -271,22 +316,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "ab:cd:ef:12:ca:6d:9d:be:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:6d:9d:be", "endpoint_id": 11, "available": true, @@ -319,50 +348,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:ca:6d:9d:be:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:ca:6d:9d:be:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "ab:cd:ef:12:ca:6d:9d:be:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:ca:6d:9d:be", "endpoint_id": 11, "available": true, @@ -420,22 +405,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:ca:6d:9d:be:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:ca:6d:9d:be", "endpoint_id": 11, "available": true, @@ -469,22 +438,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:ca:6d:9d:be:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ca:6d:9d:be", "endpoint_id": 11, "available": true, @@ -520,22 +473,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:ca:6d:9d:be:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:6d:9d:be", "endpoint_id": 11, "available": true, @@ -564,22 +501,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:ca:6d:9d:be:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:6d:9d:be", "endpoint_id": 11, "available": true, @@ -610,22 +531,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "ab:cd:ef:12:ca:6d:9d:be:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:6d:9d:be", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/centralite-3300.json b/tests/data/devices/centralite-3300.json index eae5655bf..634d30194 100644 --- a/tests/data/devices/centralite-3300.json +++ b/tests/data/devices/centralite-3300.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:51:73:e6:7b", "nwk": "0x2463", "manufacturer": "CentraLite", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0040", @@ -79,7 +81,13 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -97,18 +105,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -121,18 +137,26 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2335 + "value": 2335, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -172,6 +196,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -179,6 +204,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -245,22 +271,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:51:73:e6:7b:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:51:73:e6:7b", "endpoint_id": 1, "available": true, @@ -290,22 +300,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:51:73:e6:7b:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:51:73:e6:7b", "endpoint_id": 1, "available": true, @@ -338,22 +332,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:51:73:e6:7b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:51:73:e6:7b", "endpoint_id": 1, "available": true, @@ -382,22 +360,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:51:73:e6:7b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:51:73:e6:7b", "endpoint_id": 1, "available": true, @@ -426,22 +388,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:51:73:e6:7b:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:51:73:e6:7b", "endpoint_id": 1, "available": true, @@ -478,22 +424,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:51:73:e6:7b:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:51:73:e6:7b", "endpoint_id": 1, "available": true, @@ -524,22 +454,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:51:73:e6:7b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:51:73:e6:7b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/centralite-3310-g.json b/tests/data/devices/centralite-3310-g.json index dd767a0ae..eee8a0022 100644 --- a/tests/data/devices/centralite-3310-g.json +++ b/tests/data/devices/centralite-3310-g.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ef:57:4b:ce", "nwk": "0x52F5", "manufacturer": "CentraLite", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -74,12 +75,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 185 + "value": 185, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -97,18 +105,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 27 + "value": 27, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -145,12 +161,19 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2137 + "value": 2137, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } }, { "id": "0xfffe", @@ -163,17 +186,25 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc45", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5987 + "value": 5987, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] } @@ -182,11 +213,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -254,22 +287,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:ef:57:4b:ce:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ef:57:4b:ce", "endpoint_id": 1, "available": true, @@ -302,22 +319,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ef:57:4b:ce:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ef:57:4b:ce", "endpoint_id": 1, "available": true, @@ -346,22 +347,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ef:57:4b:ce:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ef:57:4b:ce", "endpoint_id": 1, "available": true, @@ -390,22 +375,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:ef:57:4b:ce:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:ef:57:4b:ce", "endpoint_id": 1, "available": true, @@ -442,22 +411,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:ef:57:4b:ce:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:ef:57:4b:ce", "endpoint_id": 1, "available": true, @@ -486,22 +439,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SmartThingsHumidityClusterHandler", - "generic_id": "cluster_handler_0xfc45", - "endpoint_id": 1, - "cluster": { - "id": 64581, - "name": "Smartthings Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0xfc45", - "unique_id": "ab:cd:ef:12:ef:57:4b:ce:1:0xfc45", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:ef:57:4b:ce", "endpoint_id": 1, "available": true, @@ -532,22 +469,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ef:57:4b:ce:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ef:57:4b:ce", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/centralite-3320-l.json b/tests/data/devices/centralite-3320-l.json index fcbad11f5..275abdbcc 100644 --- a/tests/data/devices/centralite-3320-l.json +++ b/tests/data/devices/centralite-3320-l.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:0d:6f:00:0f:3a:e3:69", "nwk": "0x970A", "manufacturer": "CentraLite", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -73,7 +75,13 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,35 +99,51 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2017 + "value": 2017, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -159,6 +183,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -166,6 +191,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -180,21 +206,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc0f", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -202,6 +232,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -275,22 +306,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "00:0d:6f:00:0f:3a:e3:69:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:0f:3a:e3:69", "endpoint_id": 1, "available": true, @@ -320,22 +335,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:0d:6f:00:0f:3a:e3:69:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:0f:3a:e3:69", "endpoint_id": 1, "available": true, @@ -368,22 +367,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:00:0f:3a:e3:69:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:0f:3a:e3:69", "endpoint_id": 1, "available": true, @@ -412,22 +395,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:00:0f:3a:e3:69:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:0f:3a:e3:69", "endpoint_id": 1, "available": true, @@ -456,22 +423,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:0d:6f:00:0f:3a:e3:69:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:0d:6f:00:0f:3a:e3:69", "endpoint_id": 1, "available": true, @@ -508,22 +459,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "00:0d:6f:00:0f:3a:e3:69:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:0d:6f:00:0f:3a:e3:69", "endpoint_id": 1, "available": true, @@ -554,22 +489,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:0d:6f:00:0f:3a:e3:69:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:0f:3a:e3:69", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/centralite-3326-l.json b/tests/data/devices/centralite-3326-l.json index e54a19b1c..68e06ea47 100644 --- a/tests/data/devices/centralite-3326-l.json +++ b/tests/data/devices/centralite-3326-l.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:0d:6f:00:10:9a:14:65", "nwk": "0x2EDE", "manufacturer": "CentraLite", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 169 + "value": 169, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 26 + "value": 26, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -109,18 +125,26 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1838 + "value": 1838, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -160,6 +184,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -167,6 +192,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -181,21 +207,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc46", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -203,6 +233,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -276,22 +307,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "00:0d:6f:00:10:9a:14:65:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:10:9a:14:65", "endpoint_id": 1, "available": true, @@ -321,22 +336,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:0d:6f:00:10:9a:14:65:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:10:9a:14:65", "endpoint_id": 1, "available": true, @@ -369,22 +368,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:00:10:9a:14:65:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:10:9a:14:65", "endpoint_id": 1, "available": true, @@ -413,22 +396,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:00:10:9a:14:65:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:10:9a:14:65", "endpoint_id": 1, "available": true, @@ -457,22 +424,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:0d:6f:00:10:9a:14:65:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:0d:6f:00:10:9a:14:65", "endpoint_id": 1, "available": true, @@ -509,22 +460,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "00:0d:6f:00:10:9a:14:65:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:0d:6f:00:10:9a:14:65", "endpoint_id": 1, "available": true, @@ -555,22 +490,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:0d:6f:00:10:9a:14:65:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:10:9a:14:65", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/centralite-3405-l.json b/tests/data/devices/centralite-3405-l.json index c46bd4871..8c8c3cc95 100644 --- a/tests/data/devices/centralite-3405-l.json +++ b/tests/data/devices/centralite-3405-l.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:0d:6f:00:05:65:83:f2", "nwk": "0x6748", "manufacturer": "CentraLite", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -109,18 +125,26 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2281 + "value": 2281, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -160,16 +184,19 @@ { "cluster_id": "0x0501", "endpoint_attribute": "ias_ace", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc04", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -177,6 +204,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -189,6 +217,7 @@ { "cluster_id": "0x0501", "endpoint_attribute": "ias_ace", + "bind": "SUCCESS", "attributes": [] } ] @@ -251,22 +280,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasAceClientClusterHandler", - "generic_id": "cluster_handler_0x0501_client", - "endpoint_id": 1, - "cluster": { - "id": 1281, - "name": "IAS Ancillary Control Equipment", - "type": "client" - }, - "id": "1:0x0501_client", - "unique_id": "00:0d:6f:00:05:65:83:f2:1:0x0501_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:05:65:83:f2", "endpoint_id": 1, "available": true, @@ -298,22 +311,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "00:0d:6f:00:05:65:83:f2:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:05:65:83:f2", "endpoint_id": 1, "available": true, @@ -343,22 +340,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:0d:6f:00:05:65:83:f2:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:05:65:83:f2", "endpoint_id": 1, "available": true, @@ -391,22 +372,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:00:05:65:83:f2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:05:65:83:f2", "endpoint_id": 1, "available": true, @@ -435,22 +400,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:00:05:65:83:f2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:05:65:83:f2", "endpoint_id": 1, "available": true, @@ -479,22 +428,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:0d:6f:00:05:65:83:f2:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:0d:6f:00:05:65:83:f2", "endpoint_id": 1, "available": true, @@ -531,22 +464,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "00:0d:6f:00:05:65:83:f2:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:0d:6f:00:05:65:83:f2", "endpoint_id": 1, "available": true, @@ -577,22 +494,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:0d:6f:00:05:65:83:f2:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:05:65:83:f2", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/centralite-systems-3156105.json b/tests/data/devices/centralite-systems-3156105.json index 1575e05f3..edd850884 100644 --- a/tests/data/devices/centralite-systems-3156105.json +++ b/tests/data/devices/centralite-systems-3156105.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:0d:6f:00:03:57:f1:be", "nwk": "0x0E0D", "manufacturer": "CentraLite Systems", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,7 +99,13 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29 + "value": 29, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -104,21 +118,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -166,7 +184,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2005 + "value": 2005, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -208,19 +232,37 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2333 + "value": 2333, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2055 + "value": 2055, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -232,13 +274,25 @@ "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x001a", @@ -250,13 +304,25 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0031", @@ -274,7 +340,13 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", @@ -286,25 +358,44 @@ "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "value": 2600 + "value": 2600, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "value": 2000 + "value": 2000, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0202", "endpoint_attribute": "fan", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "fan_mode", "zcl_type": "enum8", - "value": 5 + "value": 5, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -317,6 +408,7 @@ { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -337,11 +429,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -410,22 +504,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:0d:6f:00:03:57:f1:be:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:03:57:f1:be", "endpoint_id": 1, "available": true, @@ -458,36 +536,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "00:0d:6f:00:03:57:f1:be:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - }, - { - "class_name": "FanClusterHandler", - "generic_id": "cluster_handler_0x0202", - "endpoint_id": 1, - "cluster": { - "id": 514, - "name": "Fan Control", - "type": "server" - }, - "id": "1:0x0202", - "unique_id": "00:0d:6f:00:03:57:f1:be:1:0x0202", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:03:57:f1:be", "endpoint_id": 1, "available": true, @@ -555,22 +603,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "00:0d:6f:00:03:57:f1:be:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "00:0d:6f:00:03:57:f1:be", "endpoint_id": 1, "available": true, @@ -602,22 +634,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "00:0d:6f:00:03:57:f1:be:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "00:0d:6f:00:03:57:f1:be", "endpoint_id": 1, "available": true, @@ -649,22 +665,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "00:0d:6f:00:03:57:f1:be:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "00:0d:6f:00:03:57:f1:be", "endpoint_id": 1, "available": true, @@ -698,22 +698,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "00:0d:6f:00:03:57:f1:be:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:03:57:f1:be", "endpoint_id": 1, "available": true, @@ -750,22 +734,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:00:03:57:f1:be:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:03:57:f1:be", "endpoint_id": 1, "available": true, @@ -794,22 +762,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:00:03:57:f1:be:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:03:57:f1:be", "endpoint_id": 1, "available": true, @@ -838,22 +790,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:0d:6f:00:03:57:f1:be:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:0d:6f:00:03:57:f1:be", "endpoint_id": 1, "available": true, @@ -888,22 +824,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "00:0d:6f:00:03:57:f1:be:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "00:0d:6f:00:03:57:f1:be", "endpoint_id": 1, "available": true, @@ -932,22 +852,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "00:0d:6f:00:03:57:f1:be:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "00:0d:6f:00:03:57:f1:be", "endpoint_id": 1, "available": true, @@ -978,22 +882,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:0d:6f:00:03:57:f1:be:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:03:57:f1:be", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/climaxtechnology-sd8sc-00-00-03-12tc.json b/tests/data/devices/climaxtechnology-sd8sc-00-00-03-12tc.json index 0effe9e6a..6d46181e4 100644 --- a/tests/data/devices/climaxtechnology-sd8sc-00-00-03-12tc.json +++ b/tests/data/devices/climaxtechnology-sd8sc-00-00-03-12tc.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:12:4b:00:09:6e:5a:cf", "nwk": "0xE1BA", "manufacturer": "ClimaxTechnology", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,11 +63,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -106,6 +109,7 @@ { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", + "bind": "SUCCESS", "attributes": [] } ], @@ -113,6 +117,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -169,22 +174,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "00:12:4b:00:09:6e:5a:cf:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:09:6e:5a:cf", "endpoint_id": 1, "available": true, @@ -214,22 +203,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:12:4b:00:09:6e:5a:cf:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:09:6e:5a:cf", "endpoint_id": 1, "available": true, @@ -262,22 +235,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 1, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "1:0x0502", - "unique_id": "00:12:4b:00:09:6e:5a:cf:1:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:09:6e:5a:cf", "endpoint_id": 1, "available": true, @@ -311,22 +268,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 1, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "1:0x0502", - "unique_id": "00:12:4b:00:09:6e:5a:cf:1:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:09:6e:5a:cf", "endpoint_id": 1, "available": true, @@ -358,22 +299,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 1, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "1:0x0502", - "unique_id": "00:12:4b:00:09:6e:5a:cf:1:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:09:6e:5a:cf", "endpoint_id": 1, "available": true, @@ -407,22 +332,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 1, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "1:0x0502", - "unique_id": "00:12:4b:00:09:6e:5a:cf:1:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:09:6e:5a:cf", "endpoint_id": 1, "available": true, @@ -461,22 +370,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:12:4b:00:09:6e:5a:cf:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:09:6e:5a:cf", "endpoint_id": 1, "available": true, @@ -505,22 +398,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:12:4b:00:09:6e:5a:cf:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:09:6e:5a:cf", "endpoint_id": 1, "available": true, @@ -551,22 +428,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 1, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "1:0x0502", - "unique_id": "00:12:4b:00:09:6e:5a:cf:1:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:09:6e:5a:cf", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/computime-slr2b.json b/tests/data/devices/computime-slr2b.json index 5aef92c89..8b14b12c4 100644 --- a/tests/data/devices/computime-slr2b.json +++ b/tests/data/devices/computime-slr2b.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:2e:80:b4:9c", "nwk": "0x63B9", "manufacturer": "Computime", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,11 +63,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -79,6 +82,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -91,6 +95,7 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -138,7 +143,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 1864 + "value": 1864, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -174,19 +185,37 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2100 + "value": 2100, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1900 + "value": 1900, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -198,13 +227,25 @@ "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0025", @@ -222,13 +263,25 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0031", @@ -246,7 +299,13 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", @@ -270,19 +329,32 @@ "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfd00", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -290,26 +362,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd00", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -324,6 +401,7 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -365,7 +443,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2100 + "value": 2100, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0018", @@ -395,61 +479,121 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2100 + "value": 2100, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2200 + "value": 2200, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] } @@ -466,6 +610,7 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -477,7 +622,13 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] } @@ -494,12 +645,19 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] } @@ -588,22 +746,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 5, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "5:0x0003", - "unique_id": "ab:cd:ef:12:2e:80:b4:9c:5:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2e:80:b4:9c", "endpoint_id": 5, "available": true, @@ -636,22 +778,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 5, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "5:0x0201", - "unique_id": "ab:cd:ef:12:2e:80:b4:9c:5:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:2e:80:b4:9c", "endpoint_id": 5, "available": true, @@ -713,22 +839,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 6, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "6:0x0201", - "unique_id": "ab:cd:ef:12:2e:80:b4:9c:6:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:2e:80:b4:9c", "endpoint_id": 6, "available": true, @@ -792,22 +902,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 5, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "5:0x0201", - "unique_id": "ab:cd:ef:12:2e:80:b4:9c:5:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:2e:80:b4:9c", "endpoint_id": 5, "available": true, @@ -839,22 +933,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 5, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "5:0x0201", - "unique_id": "ab:cd:ef:12:2e:80:b4:9c:5:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:2e:80:b4:9c", "endpoint_id": 5, "available": true, @@ -886,22 +964,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 6, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "6:0x0201", - "unique_id": "ab:cd:ef:12:2e:80:b4:9c:6:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:2e:80:b4:9c", "endpoint_id": 6, "available": true, @@ -933,22 +995,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 6, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "6:0x0201", - "unique_id": "ab:cd:ef:12:2e:80:b4:9c:6:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:2e:80:b4:9c", "endpoint_id": 6, "available": true, @@ -982,22 +1028,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 5, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "5:0x0000", - "unique_id": "ab:cd:ef:12:2e:80:b4:9c:5:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2e:80:b4:9c", "endpoint_id": 5, "available": true, @@ -1026,22 +1056,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 5, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "5:0x0000", - "unique_id": "ab:cd:ef:12:2e:80:b4:9c:5:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2e:80:b4:9c", "endpoint_id": 5, "available": true, @@ -1070,22 +1084,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 5, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "5:0x0201", - "unique_id": "ab:cd:ef:12:2e:80:b4:9c:5:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:2e:80:b4:9c", "endpoint_id": 5, "available": true, @@ -1114,22 +1112,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 5, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "5:0x0201", - "unique_id": "ab:cd:ef:12:2e:80:b4:9c:5:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:2e:80:b4:9c", "endpoint_id": 5, "available": true, @@ -1158,22 +1140,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 6, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "6:0x0201", - "unique_id": "ab:cd:ef:12:2e:80:b4:9c:6:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:2e:80:b4:9c", "endpoint_id": 6, "available": true, @@ -1202,22 +1168,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 6, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "6:0x0201", - "unique_id": "ab:cd:ef:12:2e:80:b4:9c:6:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:2e:80:b4:9c", "endpoint_id": 6, "available": true, @@ -1246,22 +1196,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 6, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "6:0x0201", - "unique_id": "ab:cd:ef:12:2e:80:b4:9c:6:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:2e:80:b4:9c", "endpoint_id": 6, "available": true, @@ -1290,22 +1224,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 7, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "7:0x0402", - "unique_id": "ab:cd:ef:12:2e:80:b4:9c:7:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:2e:80:b4:9c", "endpoint_id": 7, "available": true, @@ -1334,22 +1252,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 8, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "8:0x0402", - "unique_id": "ab:cd:ef:12:2e:80:b4:9c:8:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:2e:80:b4:9c", "endpoint_id": 8, "available": true, @@ -1380,22 +1282,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 5, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "5:0x0019_client", - "unique_id": "ab:cd:ef:12:2e:80:b4:9c:5:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2e:80:b4:9c", "endpoint_id": 5, "available": true, diff --git a/tests/data/devices/d5x84yu-et093wrg.json b/tests/data/devices/d5x84yu-et093wrg.json index e49223141..4f5374b9e 100644 --- a/tests/data/devices/d5x84yu-et093wrg.json +++ b/tests/data/devices/d5x84yu-et093wrg.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:20:83:1e:1f", "nwk": "0xC0D7", "manufacturer": "D5X84YU", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -64,12 +65,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 198 + "value": 198, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -87,23 +95,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 32 + "value": 32, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -116,6 +133,7 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -153,17 +171,59 @@ "zcl_type": "enum8", "unsupported": true }, + { + "id": "0x404d", + "name": "adaptation_run_status", + "zcl_type": "map8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x001b", "name": "ctrl_sequence_of_oper", "zcl_type": "enum8", "value": 2 }, + { + "id": "0x4031", + "name": "heat_required", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x404a", + "name": "load_estimate", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 1537 + "value": 1537, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0018", @@ -195,23 +255,53 @@ "zcl_type": "int8", "unsupported": true }, + { + "id": "0x4012", + "name": "mounting_mode_active", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1100 + "value": 1100, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0035", @@ -219,29 +309,89 @@ "zcl_type": "uint8", "unsupported": true }, + { + "id": "0x4000", + "name": "open_window_detection", + "zcl_type": "enum8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "value": 1 + "value": 1, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } + }, + { + "id": "0x404f", + "name": "preheat_status", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x4050", + "name": "preheat_time", + "zcl_type": "uint32", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -253,7 +403,13 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0023", @@ -265,36 +421,77 @@ "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x4010", + "name": "motor_step_counter", + "zcl_type": "uint32", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x4000", + "name": "sw_error_code", + "zcl_type": "map16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -356,22 +553,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, @@ -399,22 +580,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, @@ -442,22 +607,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, @@ -487,22 +636,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, @@ -535,22 +668,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, @@ -614,22 +731,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, @@ -661,22 +762,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, @@ -710,22 +795,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, @@ -754,22 +823,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, @@ -798,22 +851,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, @@ -848,22 +885,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossDiagnosticClusterHandler", - "generic_id": "cluster_handler_0x0b05", - "endpoint_id": 1, - "cluster": { - "id": 2821, - "name": "DanfossDiagnosticCluster", - "type": "server" - }, - "id": "1:0x0b05", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0b05", - "status": "INITIALIZED", - "value_attribute": "sw_error_code" - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, @@ -892,22 +913,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossDiagnosticClusterHandler", - "generic_id": "cluster_handler_0x0b05", - "endpoint_id": 1, - "cluster": { - "id": 2821, - "name": "DanfossDiagnosticCluster", - "type": "server" - }, - "id": "1:0x0b05", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0b05", - "status": "INITIALIZED", - "value_attribute": "sw_error_code" - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, @@ -960,22 +965,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, @@ -1012,22 +1001,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, @@ -1056,22 +1029,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, @@ -1100,22 +1057,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, @@ -1144,22 +1085,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, @@ -1188,22 +1113,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, @@ -1232,22 +1141,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, @@ -1276,22 +1169,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, @@ -1322,22 +1199,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:20:83:1e:1f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:20:83:1e:1f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/danfoss-0x8040.json b/tests/data/devices/danfoss-0x8040.json index fff5fb3ef..14eea6bcd 100644 --- a/tests/data/devices/danfoss-0x8040.json +++ b/tests/data/devices/danfoss-0x8040.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:07:55:96:1c", "nwk": "0x41E2", "manufacturer": "Danfoss", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -109,6 +125,7 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -144,7 +161,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2392 + "value": 2392, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -180,96 +203,172 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2100 + "value": 2100, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": -32768 + "value": -32768, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 2700 + "value": 2700, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -277,11 +376,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -344,22 +445,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:07:55:96:1c:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:07:55:96:1c", "endpoint_id": 1, "available": true, @@ -392,22 +477,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:07:55:96:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:07:55:96:1c", "endpoint_id": 1, "available": true, @@ -471,22 +540,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:07:55:96:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:07:55:96:1c", "endpoint_id": 1, "available": true, @@ -518,22 +571,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:07:55:96:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:07:55:96:1c", "endpoint_id": 1, "available": true, @@ -567,22 +604,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:07:55:96:1c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:07:55:96:1c", "endpoint_id": 1, "available": true, @@ -611,22 +632,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:07:55:96:1c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:07:55:96:1c", "endpoint_id": 1, "available": true, @@ -655,22 +660,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:07:55:96:1c:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:07:55:96:1c", "endpoint_id": 1, "available": true, @@ -704,22 +693,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:07:55:96:1c:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:07:55:96:1c", "endpoint_id": 1, "available": true, @@ -748,22 +721,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:07:55:96:1c:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:07:55:96:1c", "endpoint_id": 1, "available": true, @@ -792,22 +749,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:07:55:96:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:07:55:96:1c", "endpoint_id": 1, "available": true, @@ -836,22 +777,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:07:55:96:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:07:55:96:1c", "endpoint_id": 1, "available": true, @@ -880,22 +805,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:07:55:96:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:07:55:96:1c", "endpoint_id": 1, "available": true, @@ -926,22 +835,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:07:55:96:1c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:07:55:96:1c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/danfoss-etrv0103.json b/tests/data/devices/danfoss-etrv0103.json index 3647cec34..4f98f8f18 100644 --- a/tests/data/devices/danfoss-etrv0103.json +++ b/tests/data/devices/danfoss-etrv0103.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:5c:a0:3f:1c", "nwk": "0x423A", "manufacturer": "Danfoss", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -64,12 +65,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 70 + "value": 70, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -87,18 +95,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 27 + "value": 27, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -123,6 +139,7 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -135,6 +152,7 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -176,7 +194,13 @@ "id": "0x404d", "name": "adaptation_run_status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4020", @@ -224,7 +248,13 @@ "id": "0x4031", "name": "heat_required", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4032", @@ -236,7 +266,13 @@ "id": "0x404a", "name": "load_estimate", "zcl_type": "int16", - "value": 437 + "value": 437, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4040", @@ -248,7 +284,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2014 + "value": 2014, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -284,7 +326,13 @@ "id": "0x4012", "name": "mounting_mode_active", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4013", @@ -296,25 +344,49 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 500 + "value": 500, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x4000", "name": "open_window_detection", "zcl_type": "enum8", - "value": 1 + "value": 1, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4014", @@ -326,25 +398,49 @@ "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x404f", "name": "preheat_status", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4050", "name": "preheat_time", "zcl_type": "uint32", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4016", @@ -362,13 +458,25 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -380,19 +488,37 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x4051", @@ -405,6 +531,7 @@ { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -423,6 +550,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "SUCCESS", "attributes": [ { "id": "0x4021", @@ -437,13 +565,25 @@ "id": "0x4010", "name": "motor_step_counter", "zcl_type": "uint32", - "value": 63774 + "value": 63774, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", "name": "sw_error_code", "zcl_type": "map16", - "value": 512 + "value": 512, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -452,11 +592,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -525,22 +667,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -568,22 +694,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -611,22 +721,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -656,22 +750,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -704,22 +782,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -783,22 +845,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -830,22 +876,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -877,22 +907,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -924,22 +938,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -971,22 +969,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1018,22 +1000,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1067,22 +1033,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1115,22 +1065,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1171,22 +1105,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1224,22 +1142,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1271,22 +1173,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossUserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1321,22 +1207,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossUserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1370,22 +1240,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1414,22 +1268,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1458,22 +1296,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1508,22 +1330,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossDiagnosticClusterHandler", - "generic_id": "cluster_handler_0x0b05", - "endpoint_id": 1, - "cluster": { - "id": 2821, - "name": "DanfossDiagnosticCluster", - "type": "server" - }, - "id": "1:0x0b05", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0b05", - "status": "INITIALIZED", - "value_attribute": "sw_error_code" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1552,22 +1358,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossDiagnosticClusterHandler", - "generic_id": "cluster_handler_0x0b05", - "endpoint_id": 1, - "cluster": { - "id": 2821, - "name": "DanfossDiagnosticCluster", - "type": "server" - }, - "id": "1:0x0b05", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0b05", - "status": "INITIALIZED", - "value_attribute": "sw_error_code" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1620,22 +1410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1672,22 +1446,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1716,22 +1474,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1760,22 +1502,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1804,22 +1530,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1848,22 +1558,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1892,22 +1586,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1936,22 +1614,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -1982,22 +1644,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -2030,22 +1676,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -2078,22 +1708,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -2126,22 +1740,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -2174,22 +1772,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -2222,22 +1804,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -2270,22 +1836,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DanfossThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "DanfossThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, @@ -2320,22 +1870,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:5c:a0:3f:1c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5c:a0:3f:1c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/datek-pop.json b/tests/data/devices/datek-pop.json index d329db931..b576002fa 100644 --- a/tests/data/devices/datek-pop.json +++ b/tests/data/devices/datek-pop.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:cd:d1:2a:c9", "nwk": "0xDE54", "manufacturer": "Datek", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,6 +106,7 @@ { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -107,36 +119,62 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2238 + "value": 2238, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 50403 + "value": 50403, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -160,31 +198,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -192,11 +260,149 @@ "zcl_type": "int16", "value": 2245 }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -208,19 +414,37 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -228,33 +452,102 @@ "zcl_type": "uint16", "value": 9591 }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 23633 + "value": 23633, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "value": 24254 + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfee1", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfeed", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -262,16 +555,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -286,6 +582,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -293,6 +590,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -368,22 +666,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:cd:d1:2a:c9:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cd:d1:2a:c9", "endpoint_id": 1, "available": true, @@ -416,22 +698,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:cd:d1:2a:c9:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:cd:d1:2a:c9", "endpoint_id": 1, "available": true, @@ -467,22 +733,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cd:d1:2a:c9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cd:d1:2a:c9", "endpoint_id": 1, "available": true, @@ -511,22 +761,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cd:d1:2a:c9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cd:d1:2a:c9", "endpoint_id": 1, "available": true, @@ -555,22 +789,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:cd:d1:2a:c9:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:cd:d1:2a:c9", "endpoint_id": 1, "available": true, @@ -599,22 +817,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:cd:d1:2a:c9:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:cd:d1:2a:c9", "endpoint_id": 1, "available": true, @@ -649,22 +851,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:cd:d1:2a:c9:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:cd:d1:2a:c9", "endpoint_id": 1, "available": true, @@ -699,22 +885,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:cd:d1:2a:c9:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:cd:d1:2a:c9", "endpoint_id": 1, "available": true, @@ -747,22 +917,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:cd:d1:2a:c9:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:cd:d1:2a:c9", "endpoint_id": 1, "available": true, @@ -797,22 +951,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:cd:d1:2a:c9:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:cd:d1:2a:c9", "endpoint_id": 1, "available": true, @@ -849,22 +987,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:cd:d1:2a:c9:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:cd:d1:2a:c9", "endpoint_id": 1, "available": true, @@ -893,22 +1015,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:cd:d1:2a:c9:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cd:d1:2a:c9", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/datek-ssds.json b/tests/data/devices/datek-ssds.json index 9c01b50f6..9ee32f99c 100644 --- a/tests/data/devices/datek-ssds.json +++ b/tests/data/devices/datek-ssds.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f7:d4:84:f4", "nwk": "0xAACB", "manufacturer": "Datek", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,35 +93,51 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 255 + "value": 255, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2435 + "value": 2435, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfea7", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfeed", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -121,36 +145,43 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -215,22 +246,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:f7:d4:84:f4:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f7:d4:84:f4", "endpoint_id": 1, "available": true, @@ -263,22 +278,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f7:d4:84:f4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f7:d4:84:f4", "endpoint_id": 1, "available": true, @@ -307,22 +306,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f7:d4:84:f4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f7:d4:84:f4", "endpoint_id": 1, "available": true, @@ -351,22 +334,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:f7:d4:84:f4:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:f7:d4:84:f4", "endpoint_id": 1, "available": true, @@ -401,22 +368,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:f7:d4:84:f4:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:f7:d4:84:f4", "endpoint_id": 1, "available": true, @@ -447,22 +398,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f7:d4:84:f4:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f7:d4:84:f4", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/develco-products-a-s-zhemi-zigbee-external-meter-interface.json b/tests/data/devices/develco-products-a-s-zhemi-zigbee-external-meter-interface.json index 03e548f6e..2bb8bdad7 100644 --- a/tests/data/devices/develco-products-a-s-zhemi-zigbee-external-meter-interface.json +++ b/tests/data/devices/develco-products-a-s-zhemi-zigbee-external-meter-interface.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:57:64:bf:25", "nwk": "0x2645", "manufacturer": "Develco Products A/S", @@ -44,16 +44,19 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -61,6 +64,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -75,6 +79,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -117,59 +122,109 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 42317930 + "value": 42317930, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "value": 281474976710655 + "value": 281474976710655, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "value": 281474976710655 + "value": 281474976710655, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -199,7 +254,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 1140 + "value": 1140, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -217,7 +278,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -238,6 +305,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -305,22 +373,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 2, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "2:0x0003", - "unique_id": "ab:cd:ef:12:57:64:bf:25:2:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:57:64:bf:25", "endpoint_id": 2, "available": true, @@ -353,22 +405,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 2, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "2:0x0000", - "unique_id": "ab:cd:ef:12:57:64:bf:25:2:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:57:64:bf:25", "endpoint_id": 2, "available": true, @@ -397,22 +433,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 2, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "2:0x0000", - "unique_id": "ab:cd:ef:12:57:64:bf:25:2:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:57:64:bf:25", "endpoint_id": 2, "available": true, @@ -441,22 +461,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 2, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "2:0x0702", - "unique_id": "ab:cd:ef:12:57:64:bf:25:2:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:57:64:bf:25", "endpoint_id": 2, "available": true, @@ -493,22 +497,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 2, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "2:0x0702", - "unique_id": "ab:cd:ef:12:57:64:bf:25:2:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:57:64:bf:25", "endpoint_id": 2, "available": true, diff --git a/tests/data/devices/digi-xbee3.json b/tests/data/devices/digi-xbee3.json index 556468cee..ab0831e07 100644 --- a/tests/data/devices/digi-xbee3.json +++ b/tests/data/devices/digi-xbee3.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e9:3f:91:6d", "nwk": "0x6ADB", "manufacturer": "Digi", @@ -44,12 +44,40 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0055", + "name": "present_value", + "zcl_type": "single", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -64,19 +92,40 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0055", + "name": "present_value", + "zcl_type": "single", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -91,19 +140,40 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0055", + "name": "present_value", + "zcl_type": "single", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -118,19 +188,40 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0055", + "name": "present_value", + "zcl_type": "single", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -145,7 +236,21 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -160,7 +265,21 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -175,7 +294,21 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -190,12 +323,40 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0055", + "name": "present_value", + "zcl_type": "single", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -210,7 +371,21 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -225,7 +400,21 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -240,11 +429,26 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0041", @@ -264,6 +468,18 @@ "zcl_type": "bool", "value": 0 }, + { + "id": "0x0055", + "name": "present_value", + "zcl_type": "single", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x006a", "name": "resolution", @@ -291,11 +507,26 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0041", @@ -315,6 +546,18 @@ "zcl_type": "bool", "value": 0 }, + { + "id": "0x0055", + "name": "present_value", + "zcl_type": "single", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x006a", "name": "resolution", @@ -342,7 +585,21 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -357,7 +614,21 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -372,7 +643,21 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -387,6 +672,7 @@ { "cluster_id": "0x00a1", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -394,6 +680,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -408,6 +695,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0007", @@ -426,11 +714,13 @@ { "cluster_id": "0x0011", "endpoint_attribute": "xbee_serial_data", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0092", "endpoint_attribute": "binary_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -438,11 +728,13 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0011", "endpoint_attribute": "xbee_serial_data", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -498,22 +790,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 218, - "cluster": { - "id": 13, - "name": "XBeePWM", - "type": "server" - }, - "id": "218:0x000d", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:218:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 218, "available": true, @@ -545,22 +821,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 219, - "cluster": { - "id": 13, - "name": "XBeePWM", - "type": "server" - }, - "id": "219:0x000d", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:219:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 219, "available": true, @@ -594,22 +854,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogInputClusterHandler", - "generic_id": "cluster_handler_0x000c", - "endpoint_id": 208, - "cluster": { - "id": 12, - "name": "XBeeAnalogInput", - "type": "server" - }, - "id": "208:0x000c", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:208:0x000c", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 208, "available": true, @@ -638,22 +882,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogInputClusterHandler", - "generic_id": "cluster_handler_0x000c", - "endpoint_id": 209, - "cluster": { - "id": 12, - "name": "XBeeAnalogInput", - "type": "server" - }, - "id": "209:0x000c", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:209:0x000c", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 209, "available": true, @@ -682,22 +910,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogInputClusterHandler", - "generic_id": "cluster_handler_0x000c", - "endpoint_id": 210, - "cluster": { - "id": 12, - "name": "XBeeAnalogInput", - "type": "server" - }, - "id": "210:0x000c", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:210:0x000c", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 210, "available": true, @@ -726,22 +938,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogInputClusterHandler", - "generic_id": "cluster_handler_0x000c", - "endpoint_id": 211, - "cluster": { - "id": 12, - "name": "XBeeAnalogInput", - "type": "server" - }, - "id": "211:0x000c", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:211:0x000c", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 211, "available": true, @@ -770,22 +966,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogInputClusterHandler", - "generic_id": "cluster_handler_0x000c", - "endpoint_id": 215, - "cluster": { - "id": 12, - "name": "XBeeAnalogInput", - "type": "server" - }, - "id": "215:0x000c", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:215:0x000c", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 215, "available": true, @@ -816,22 +996,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 208, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "208:0x0006", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:208:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 208, "available": true, @@ -858,22 +1022,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 209, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "209:0x0006", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:209:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 209, "available": true, @@ -900,22 +1048,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 210, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "210:0x0006", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:210:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 210, "available": true, @@ -942,22 +1074,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 211, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "211:0x0006", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:211:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 211, "available": true, @@ -984,22 +1100,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 212, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "212:0x0006", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:212:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 212, "available": true, @@ -1026,22 +1126,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 213, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "213:0x0006", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:213:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 213, "available": true, @@ -1068,22 +1152,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 214, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "214:0x0006", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:214:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 214, "available": true, @@ -1110,22 +1178,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 215, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "215:0x0006", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:215:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 215, "available": true, @@ -1152,22 +1204,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 216, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "216:0x0006", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:216:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 216, "available": true, @@ -1194,22 +1230,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 217, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "217:0x0006", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:217:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 217, "available": true, @@ -1236,22 +1256,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 218, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "218:0x0006", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:218:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 218, "available": true, @@ -1278,22 +1282,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 219, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "219:0x0006", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:219:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 219, "available": true, @@ -1320,22 +1308,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 220, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "220:0x0006", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:220:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 220, "available": true, @@ -1362,22 +1334,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 221, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "221:0x0006", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:221:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 221, "available": true, @@ -1404,22 +1360,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 222, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "222:0x0006", - "unique_id": "ab:cd:ef:12:e9:3f:91:6d:222:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e9:3f:91:6d", "endpoint_id": 222, "available": true, diff --git a/tests/data/devices/ecodim-bv-eco-dim-05-zigbee.json b/tests/data/devices/ecodim-bv-eco-dim-05-zigbee.json index b7e1cac6c..c0f3241ed 100644 --- a/tests/data/devices/ecodim-bv-eco-dim-05-zigbee.json +++ b/tests/data/devices/ecodim-bv-eco-dim-05-zigbee.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:c4:e7:80:b2", "nwk": "0x36C7", "manufacturer": "EcoDim BV", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -150,6 +169,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -171,32 +191,43 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -209,12 +240,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -257,6 +295,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -264,6 +303,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -286,6 +326,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -369,22 +410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:c4:e7:80:b2:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c4:e7:80:b2", "endpoint_id": 1, "available": true, @@ -417,36 +442,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:c4:e7:80:b2:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:c4:e7:80:b2:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:c4:e7:80:b2", "endpoint_id": 1, "available": true, @@ -498,36 +493,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:c4:e7:80:b2:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 2, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "2:0x0008", - "unique_id": "ab:cd:ef:12:c4:e7:80:b2:2:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:c4:e7:80:b2", "endpoint_id": 2, "available": true, @@ -581,22 +546,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:c4:e7:80:b2:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:c4:e7:80:b2", "endpoint_id": 1, "available": true, @@ -628,22 +577,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 2, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "2:0x0008", - "unique_id": "ab:cd:ef:12:c4:e7:80:b2:2:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:c4:e7:80:b2", "endpoint_id": 2, "available": true, @@ -677,22 +610,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c4:e7:80:b2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c4:e7:80:b2", "endpoint_id": 1, "available": true, @@ -721,22 +638,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c4:e7:80:b2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c4:e7:80:b2", "endpoint_id": 1, "available": true, @@ -767,22 +668,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:c4:e7:80:b2:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c4:e7:80:b2", "endpoint_id": 1, "available": true, @@ -816,22 +701,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 2, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "2:0x0019_client", - "unique_id": "ab:cd:ef:12:c4:e7:80:b2:2:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c4:e7:80:b2", "endpoint_id": 2, "available": true, diff --git a/tests/data/devices/ecodim-bv-ecodim-zigbee-3-0.json b/tests/data/devices/ecodim-bv-ecodim-zigbee-3-0.json index 8739ab7ae..a7d46b3f1 100644 --- a/tests/data/devices/ecodim-bv-ecodim-zigbee-3-0.json +++ b/tests/data/devices/ecodim-bv-ecodim-zigbee-3-0.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:52:45:d8:51", "nwk": "0xC5F8", "manufacturer": "EcoDim BV", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -100,7 +105,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0xfffe", @@ -119,12 +130,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 190 + "value": 190, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -167,6 +185,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -174,6 +193,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -188,32 +208,43 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -226,12 +257,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 210 + "value": 210, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -274,6 +312,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -281,6 +320,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -296,6 +336,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -379,22 +420,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:52:45:d8:51:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:45:d8:51", "endpoint_id": 1, "available": true, @@ -427,36 +452,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:52:45:d8:51:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:52:45:d8:51:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:52:45:d8:51", "endpoint_id": 1, "available": true, @@ -508,36 +503,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:52:45:d8:51:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 2, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "2:0x0008", - "unique_id": "ab:cd:ef:12:52:45:d8:51:2:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:52:45:d8:51", "endpoint_id": 2, "available": true, @@ -591,22 +556,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:52:45:d8:51:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:52:45:d8:51", "endpoint_id": 1, "available": true, @@ -638,22 +587,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 2, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "2:0x0008", - "unique_id": "ab:cd:ef:12:52:45:d8:51:2:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:52:45:d8:51", "endpoint_id": 2, "available": true, @@ -687,22 +620,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:52:45:d8:51:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:45:d8:51", "endpoint_id": 1, "available": true, @@ -731,22 +648,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:52:45:d8:51:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:45:d8:51", "endpoint_id": 1, "available": true, @@ -777,22 +678,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:52:45:d8:51:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:45:d8:51", "endpoint_id": 1, "available": true, @@ -826,22 +711,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 2, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "2:0x0019_client", - "unique_id": "ab:cd:ef:12:52:45:d8:51:2:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:45:d8:51", "endpoint_id": 2, "available": true, diff --git a/tests/data/devices/ecolink-4655bc0-r.json b/tests/data/devices/ecolink-4655bc0-r.json index 130f32cb8..35870d53f 100644 --- a/tests/data/devices/ecolink-4655bc0-r.json +++ b/tests/data/devices/ecolink-4655bc0-r.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:0d:6f:00:11:15:94:aa", "nwk": "0xF8F6", "manufacturer": "Ecolink", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,7 +69,20 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0033", "name": "battery_quantity", @@ -109,18 +123,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -139,18 +161,26 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2500 + "value": 2500, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -190,6 +220,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -197,6 +228,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -263,22 +295,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "00:0d:6f:00:11:15:94:aa:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:11:15:94:aa", "endpoint_id": 1, "available": true, @@ -308,22 +324,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:0d:6f:00:11:15:94:aa:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:11:15:94:aa", "endpoint_id": 1, "available": true, @@ -356,22 +356,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:00:11:15:94:aa:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:11:15:94:aa", "endpoint_id": 1, "available": true, @@ -400,22 +384,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:00:11:15:94:aa:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:11:15:94:aa", "endpoint_id": 1, "available": true, @@ -444,22 +412,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:0d:6f:00:11:15:94:aa:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:0d:6f:00:11:15:94:aa", "endpoint_id": 1, "available": true, @@ -496,22 +448,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "00:0d:6f:00:11:15:94:aa:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:0d:6f:00:11:15:94:aa", "endpoint_id": 1, "available": true, @@ -542,22 +478,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:0d:6f:00:11:15:94:aa:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:11:15:94:aa", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/enktro-acmidea.json b/tests/data/devices/enktro-acmidea.json index 0ac2e7d26..7377f2532 100644 --- a/tests/data/devices/enktro-acmidea.json +++ b/tests/data/devices/enktro-acmidea.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f9:10:2d:81", "nwk": "0xBF3D", "manufacturer": "enktro", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,11 +63,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -102,7 +105,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2450 + "value": 2450, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -138,43 +147,85 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2600 + "value": 2600, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2000 + "value": 2000, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -186,31 +237,56 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0202", "endpoint_attribute": "fan", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "fan_mode", "zcl_type": "enum8", - "value": 5 + "value": 5, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -225,6 +301,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -281,22 +358,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:f9:10:2d:81:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f9:10:2d:81", "endpoint_id": 1, "available": true, @@ -329,36 +390,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:f9:10:2d:81:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - }, - { - "class_name": "FanClusterHandler", - "generic_id": "cluster_handler_0x0202", - "endpoint_id": 1, - "cluster": { - "id": 514, - "name": "Fan Control", - "type": "server" - }, - "id": "1:0x0202", - "unique_id": "ab:cd:ef:12:f9:10:2d:81:1:0x0202", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f9:10:2d:81", "endpoint_id": 1, "available": true, @@ -427,22 +458,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f9:10:2d:81:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f9:10:2d:81", "endpoint_id": 1, "available": true, @@ -471,22 +486,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f9:10:2d:81:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f9:10:2d:81", "endpoint_id": 1, "available": true, @@ -515,22 +514,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:f9:10:2d:81:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:f9:10:2d:81", "endpoint_id": 1, "available": true, @@ -559,22 +542,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:f9:10:2d:81:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:f9:10:2d:81", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ericsity-gl-c-008p.json b/tests/data/devices/ericsity-gl-c-008p.json index 9333c7deb..d70074b45 100755 --- a/tests/data/devices/ericsity-gl-c-008p.json +++ b/tests/data/devices/ericsity-gl-c-008p.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "a4:c1:38:de:fe:e0:60:b8", "nwk": "0xC536", "manufacturer": "ERICSITY", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,7 +197,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 455 + "value": 455, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -196,13 +221,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 9568 + "value": 9568, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 3145 + "value": 3145, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -227,6 +264,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -234,6 +272,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -301,22 +340,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "a4:c1:38:de:fe:e0:60:b8:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:de:fe:e0:60:b8", "endpoint_id": 11, "available": true, @@ -349,50 +372,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "a4:c1:38:de:fe:e0:60:b8:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "a4:c1:38:de:fe:e0:60:b8:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "a4:c1:38:de:fe:e0:60:b8:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "a4:c1:38:de:fe:e0:60:b8", "endpoint_id": 11, "available": true, @@ -453,22 +432,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "a4:c1:38:de:fe:e0:60:b8:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "a4:c1:38:de:fe:e0:60:b8", "endpoint_id": 11, "available": true, @@ -500,22 +463,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "a4:c1:38:de:fe:e0:60:b8:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "a4:c1:38:de:fe:e0:60:b8", "endpoint_id": 11, "available": true, @@ -549,22 +496,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "a4:c1:38:de:fe:e0:60:b8:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "a4:c1:38:de:fe:e0:60:b8", "endpoint_id": 11, "available": true, @@ -600,22 +531,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "a4:c1:38:de:fe:e0:60:b8:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:de:fe:e0:60:b8", "endpoint_id": 11, "available": true, @@ -644,22 +559,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "a4:c1:38:de:fe:e0:60:b8:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:de:fe:e0:60:b8", "endpoint_id": 11, "available": true, @@ -690,22 +589,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "a4:c1:38:de:fe:e0:60:b8:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:de:fe:e0:60:b8", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/ericsity-gl-c-009p.json b/tests/data/devices/ericsity-gl-c-009p.json index 25a7e4cb2..64cc7df60 100644 --- a/tests/data/devices/ericsity-gl-c-009p.json +++ b/tests/data/devices/ericsity-gl-c-009p.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "a4:c1:38:44:c6:4d:75:c2", "nwk": "0x6C17", "manufacturer": "ERICSITY", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -80,27 +81,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -113,12 +124,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -161,6 +179,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -208,7 +227,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500 + "value": 500, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -226,13 +251,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 33904 + "value": 33904, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 65280 + "value": 65280, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -263,6 +300,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -270,6 +308,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -337,22 +376,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "a4:c1:38:44:c6:4d:75:c2:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:44:c6:4d:75:c2", "endpoint_id": 11, "available": true, @@ -385,50 +408,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "a4:c1:38:44:c6:4d:75:c2:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "a4:c1:38:44:c6:4d:75:c2:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "a4:c1:38:44:c6:4d:75:c2:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "a4:c1:38:44:c6:4d:75:c2", "endpoint_id": 11, "available": true, @@ -483,22 +462,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "a4:c1:38:44:c6:4d:75:c2:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "a4:c1:38:44:c6:4d:75:c2", "endpoint_id": 11, "available": true, @@ -530,22 +493,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "a4:c1:38:44:c6:4d:75:c2:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "a4:c1:38:44:c6:4d:75:c2", "endpoint_id": 11, "available": true, @@ -579,22 +526,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "a4:c1:38:44:c6:4d:75:c2:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "a4:c1:38:44:c6:4d:75:c2", "endpoint_id": 11, "available": true, @@ -630,22 +561,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "a4:c1:38:44:c6:4d:75:c2:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:44:c6:4d:75:c2", "endpoint_id": 11, "available": true, @@ -674,22 +589,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "a4:c1:38:44:c6:4d:75:c2:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:44:c6:4d:75:c2", "endpoint_id": 11, "available": true, @@ -720,22 +619,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "a4:c1:38:44:c6:4d:75:c2:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:44:c6:4d:75:c2", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/espressif-zigbeeanalogdevice.json b/tests/data/devices/espressif-zigbeeanalogdevice.json index b638f9bb8..9a400d941 100644 --- a/tests/data/devices/espressif-zigbeeanalogdevice.json +++ b/tests/data/devices/espressif-zigbeeanalogdevice.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:39:a2:73:55", "nwk": "0xA62B", "manufacturer": "Espressif", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,11 +63,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -108,7 +111,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 280.0 + "value": 280.0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0067", @@ -133,6 +142,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -168,7 +178,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 0.0 + "value": 0.0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0068", @@ -237,22 +253,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:39:a2:73:55:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:a2:73:55", "endpoint_id": 1, "available": true, @@ -285,22 +285,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 1, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "1:0x000d", - "unique_id": "ab:cd:ef:12:39:a2:73:55:1:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:39:a2:73:55", "endpoint_id": 1, "available": true, @@ -334,22 +318,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:39:a2:73:55:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:a2:73:55", "endpoint_id": 1, "available": true, @@ -378,22 +346,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:39:a2:73:55:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:a2:73:55", "endpoint_id": 1, "available": true, @@ -422,22 +374,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogInputClusterHandler", - "generic_id": "cluster_handler_0x000c", - "endpoint_id": 1, - "cluster": { - "id": 12, - "name": "AnalogInput", - "type": "server" - }, - "id": "1:0x000c", - "unique_id": "ab:cd:ef:12:39:a2:73:55:1:0x000c", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:39:a2:73:55", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/espressif-zigbeebinaryoutputdevice.json b/tests/data/devices/espressif-zigbeebinaryoutputdevice.json index 1e52b817f..5cd3f0a8c 100644 --- a/tests/data/devices/espressif-zigbeebinaryoutputdevice.json +++ b/tests/data/devices/espressif-zigbeebinaryoutputdevice.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:39:a2:73:56", "nwk": "0xA62B", "manufacturer": "Espressif", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,11 +63,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0010", "endpoint_attribute": "binary_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -78,7 +81,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": true + "value": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -134,22 +143,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:39:a2:73:56:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:a2:73:56", "endpoint_id": 1, "available": true, @@ -182,22 +175,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:39:a2:73:56:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:a2:73:56", "endpoint_id": 1, "available": true, @@ -226,22 +203,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:39:a2:73:56:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:a2:73:56", "endpoint_id": 1, "available": true, @@ -272,22 +233,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "BinaryOutputClusterHandler", - "generic_id": "cluster_handler_0x0010", - "endpoint_id": 1, - "cluster": { - "id": 16, - "name": "BinaryOutput", - "type": "server" - }, - "id": "1:0x0010", - "unique_id": "ab:cd:ef:12:39:a2:73:56:1:0x0010", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:39:a2:73:56", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/espressif-zigbeecarbondioxidesensor.json b/tests/data/devices/espressif-zigbeecarbondioxidesensor.json index 98cb6610e..b2ea19bf8 100644 --- a/tests/data/devices/espressif-zigbeecarbondioxidesensor.json +++ b/tests/data/devices/espressif-zigbeecarbondioxidesensor.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "f0:f5:bd:ff:fe:01:86:64", "nwk": "0xE3CE", "manufacturer": "Espressif", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,17 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x040d", "endpoint_attribute": "carbon_dioxide_concentration", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "single", - "value": 0.0003239999932702631 + "value": 0.0003239999932702631, + "reporting": { + "min": 30, + "max": 900, + "change": 1e-06, + "status": "SUCCESS" + } } ] } @@ -128,22 +137,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 10, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "10:0x0003", - "unique_id": "f0:f5:bd:ff:fe:01:86:64:10:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f0:f5:bd:ff:fe:01:86:64", "endpoint_id": 10, "available": true, @@ -176,22 +169,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 10, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "10:0x0000", - "unique_id": "f0:f5:bd:ff:fe:01:86:64:10:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f0:f5:bd:ff:fe:01:86:64", "endpoint_id": 10, "available": true, @@ -220,22 +197,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 10, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "10:0x0000", - "unique_id": "f0:f5:bd:ff:fe:01:86:64:10:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f0:f5:bd:ff:fe:01:86:64", "endpoint_id": 10, "available": true, @@ -264,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "CarbonDioxideConcentrationClusterHandler", - "generic_id": "cluster_handler_0x040d", - "endpoint_id": 10, - "cluster": { - "id": 1037, - "name": "Carbon Dioxide (CO\u2082) Concentration", - "type": "server" - }, - "id": "10:0x040d", - "unique_id": "f0:f5:bd:ff:fe:01:86:64:10:0x040d", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "f0:f5:bd:ff:fe:01:86:64", "endpoint_id": 10, "available": true, diff --git a/tests/data/devices/eurotronic-spzb0001.json b/tests/data/devices/eurotronic-spzb0001.json index ac9503325..c104047d6 100644 --- a/tests/data/devices/eurotronic-spzb0001.json +++ b/tests/data/devices/eurotronic-spzb0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:32:62:3d:21", "nwk": "0x4D24", "manufacturer": "Eurotronic", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 130 + "value": 130, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,23 +93,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 229 + "value": 229, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -137,7 +154,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2250 + "value": 2250, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -173,43 +196,85 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2000 + "value": 2000, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -221,19 +286,37 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "value": 2000 + "value": 2000, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] } @@ -242,6 +325,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -306,22 +390,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:32:62:3d:21:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:32:62:3d:21", "endpoint_id": 1, "available": true, @@ -354,22 +422,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:32:62:3d:21:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:32:62:3d:21", "endpoint_id": 1, "available": true, @@ -433,22 +485,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:32:62:3d:21:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:32:62:3d:21", "endpoint_id": 1, "available": true, @@ -480,22 +516,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:32:62:3d:21:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:32:62:3d:21", "endpoint_id": 1, "available": true, @@ -527,22 +547,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:32:62:3d:21:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:32:62:3d:21", "endpoint_id": 1, "available": true, @@ -576,22 +580,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:32:62:3d:21:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:32:62:3d:21", "endpoint_id": 1, "available": true, @@ -620,22 +608,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:32:62:3d:21:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:32:62:3d:21", "endpoint_id": 1, "available": true, @@ -664,22 +636,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:32:62:3d:21:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:32:62:3d:21", "endpoint_id": 1, "available": true, @@ -716,22 +672,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:32:62:3d:21:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:32:62:3d:21", "endpoint_id": 1, "available": true, @@ -760,22 +700,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:32:62:3d:21:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:32:62:3d:21", "endpoint_id": 1, "available": true, @@ -804,22 +728,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:32:62:3d:21:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:32:62:3d:21", "endpoint_id": 1, "available": true, @@ -850,22 +758,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:32:62:3d:21:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:32:62:3d:21", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ewelink-ck-bl702-al-01-7009-z102lg03-1.json b/tests/data/devices/ewelink-ck-bl702-al-01-7009-z102lg03-1.json index 0d606382e..c6a85e5bb 100644 --- a/tests/data/devices/ewelink-ck-bl702-al-01-7009-z102lg03-1.json +++ b/tests/data/devices/ewelink-ck-bl702-al-01-7009-z102lg03-1.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "7c:b9:4c:77:33:d0:00:00", "nwk": "0x91F2", "manufacturer": "eWeLink", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,7 +197,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 142 + "value": 142, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -196,13 +221,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 19957 + "value": 19957, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 20682 + "value": 20682, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -227,21 +264,25 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc11", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -249,6 +290,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -319,22 +361,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "7c:b9:4c:77:33:d0:00:00:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "7c:b9:4c:77:33:d0:00:00", "endpoint_id": 1, "available": true, @@ -367,50 +393,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "7c:b9:4c:77:33:d0:00:00:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "7c:b9:4c:77:33:d0:00:00:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "7c:b9:4c:77:33:d0:00:00:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "7c:b9:4c:77:33:d0:00:00", "endpoint_id": 1, "available": true, @@ -471,22 +453,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "7c:b9:4c:77:33:d0:00:00:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "7c:b9:4c:77:33:d0:00:00", "endpoint_id": 1, "available": true, @@ -518,22 +484,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "7c:b9:4c:77:33:d0:00:00:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "7c:b9:4c:77:33:d0:00:00", "endpoint_id": 1, "available": true, @@ -565,22 +515,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "7c:b9:4c:77:33:d0:00:00:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "7c:b9:4c:77:33:d0:00:00", "endpoint_id": 1, "available": true, @@ -612,22 +546,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "7c:b9:4c:77:33:d0:00:00:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "7c:b9:4c:77:33:d0:00:00", "endpoint_id": 1, "available": true, @@ -661,22 +579,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "7c:b9:4c:77:33:d0:00:00:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "7c:b9:4c:77:33:d0:00:00", "endpoint_id": 1, "available": true, @@ -712,22 +614,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "7c:b9:4c:77:33:d0:00:00:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "7c:b9:4c:77:33:d0:00:00", "endpoint_id": 1, "available": true, @@ -756,22 +642,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "7c:b9:4c:77:33:d0:00:00:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "7c:b9:4c:77:33:d0:00:00", "endpoint_id": 1, "available": true, @@ -802,22 +672,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "7c:b9:4c:77:33:d0:00:00:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "7c:b9:4c:77:33:d0:00:00", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ewelink-ck-tlsr8656-ss5-01-7000.json b/tests/data/devices/ewelink-ck-tlsr8656-ss5-01-7000.json index 65d0df262..6d6737cc6 100644 --- a/tests/data/devices/ewelink-ck-tlsr8656-ss5-01-7000.json +++ b/tests/data/devices/ewelink-ck-tlsr8656-ss5-01-7000.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:40:82:43:82", "nwk": "0xF9A2", "manufacturer": "eWeLink", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,23 +93,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -116,11 +133,13 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -186,22 +205,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:40:82:43:82:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:82:43:82", "endpoint_id": 1, "available": true, @@ -234,22 +237,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:40:82:43:82:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:82:43:82", "endpoint_id": 1, "available": true, @@ -278,22 +265,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:40:82:43:82:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:82:43:82", "endpoint_id": 1, "available": true, @@ -322,22 +293,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:40:82:43:82:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:40:82:43:82", "endpoint_id": 1, "available": true, @@ -374,22 +329,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:40:82:43:82:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:82:43:82", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ewelink-ds01.json b/tests/data/devices/ewelink-ds01.json index 427bbba95..3980d10c5 100644 --- a/tests/data/devices/ewelink-ds01.json +++ b/tests/data/devices/ewelink-ds01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:39:cb:5d:55", "nwk": "0xE04D", "manufacturer": "eWeLink", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29 + "value": 29, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -138,6 +154,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -194,22 +211,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:39:cb:5d:55:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:cb:5d:55", "endpoint_id": 1, "available": true, @@ -239,22 +240,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:39:cb:5d:55:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:cb:5d:55", "endpoint_id": 1, "available": true, @@ -287,22 +272,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:39:cb:5d:55:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:cb:5d:55", "endpoint_id": 1, "available": true, @@ -331,22 +300,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:39:cb:5d:55:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:cb:5d:55", "endpoint_id": 1, "available": true, @@ -375,22 +328,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:39:cb:5d:55:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:39:cb:5d:55", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ewelink-ms01.json b/tests/data/devices/ewelink-ms01.json index 976a765e7..f48f03118 100644 --- a/tests/data/devices/ewelink-ms01.json +++ b/tests/data/devices/ewelink-ms01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:5e:7d:ad:d6", "nwk": "0x2DF8", "manufacturer": "eWeLink", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -138,6 +154,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -194,22 +211,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:5e:7d:ad:d6:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5e:7d:ad:d6", "endpoint_id": 1, "available": true, @@ -239,22 +240,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:5e:7d:ad:d6:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5e:7d:ad:d6", "endpoint_id": 1, "available": true, @@ -287,22 +272,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5e:7d:ad:d6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5e:7d:ad:d6", "endpoint_id": 1, "available": true, @@ -331,22 +300,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5e:7d:ad:d6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5e:7d:ad:d6", "endpoint_id": 1, "available": true, @@ -375,22 +328,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:5e:7d:ad:d6:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:5e:7d:ad:d6", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ewelink-sa-003-zigbee.json b/tests/data/devices/ewelink-sa-003-zigbee.json index 6904f0d34..1dda893be 100644 --- a/tests/data/devices/ewelink-sa-003-zigbee.json +++ b/tests/data/devices/ewelink-sa-003-zigbee.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:12:4b:00:1d:8b:65:1c", "nwk": "0x7F08", "manufacturer": "eWeLink", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -97,6 +108,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -154,22 +166,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:12:4b:00:1d:8b:65:1c:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:1d:8b:65:1c", "endpoint_id": 1, "available": true, @@ -202,22 +198,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:12:4b:00:1d:8b:65:1c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:1d:8b:65:1c", "endpoint_id": 1, "available": true, @@ -246,22 +226,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:12:4b:00:1d:8b:65:1c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:1d:8b:65:1c", "endpoint_id": 1, "available": true, @@ -292,22 +256,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:12:4b:00:1d:8b:65:1c:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:12:4b:00:1d:8b:65:1c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ewelink-snzb-01p.json b/tests/data/devices/ewelink-snzb-01p.json index ac7842dcf..8dbd4a04f 100644 --- a/tests/data/devices/ewelink-snzb-01p.json +++ b/tests/data/devices/ewelink-snzb-01p.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "84:ba:20:ff:fe:d2:41:fe", "nwk": "0x117F", "manufacturer": "eWeLink", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29 + "value": 29, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -109,6 +125,7 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -116,16 +133,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -192,22 +212,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "84:ba:20:ff:fe:d2:41:fe:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "84:ba:20:ff:fe:d2:41:fe", "endpoint_id": 1, "available": true, @@ -240,22 +244,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "84:ba:20:ff:fe:d2:41:fe:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "84:ba:20:ff:fe:d2:41:fe", "endpoint_id": 1, "available": true, @@ -284,22 +272,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "84:ba:20:ff:fe:d2:41:fe:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "84:ba:20:ff:fe:d2:41:fe", "endpoint_id": 1, "available": true, @@ -328,22 +300,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "84:ba:20:ff:fe:d2:41:fe:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "84:ba:20:ff:fe:d2:41:fe", "endpoint_id": 1, "available": true, @@ -380,22 +336,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "84:ba:20:ff:fe:d2:41:fe:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "84:ba:20:ff:fe:d2:41:fe", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ewelink-snzb-02p.json b/tests/data/devices/ewelink-snzb-02p.json index 3fd59be34..543cb441d 100644 --- a/tests/data/devices/ewelink-snzb-02p.json +++ b/tests/data/devices/ewelink-snzb-02p.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "90:35:ea:ff:fe:0d:8a:5e", "nwk": "0x767D", "manufacturer": "eWeLink", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -109,35 +125,51 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2420 + "value": 2420, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4700 + "value": 4700, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfc11", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -145,6 +177,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -212,22 +245,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "90:35:ea:ff:fe:0d:8a:5e:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "90:35:ea:ff:fe:0d:8a:5e", "endpoint_id": 1, "available": true, @@ -260,22 +277,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "90:35:ea:ff:fe:0d:8a:5e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "90:35:ea:ff:fe:0d:8a:5e", "endpoint_id": 1, "available": true, @@ -304,22 +305,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "90:35:ea:ff:fe:0d:8a:5e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "90:35:ea:ff:fe:0d:8a:5e", "endpoint_id": 1, "available": true, @@ -348,22 +333,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "90:35:ea:ff:fe:0d:8a:5e:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "90:35:ea:ff:fe:0d:8a:5e", "endpoint_id": 1, "available": true, @@ -397,22 +366,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "90:35:ea:ff:fe:0d:8a:5e:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "90:35:ea:ff:fe:0d:8a:5e", "endpoint_id": 1, "available": true, @@ -441,22 +394,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "90:35:ea:ff:fe:0d:8a:5e:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "90:35:ea:ff:fe:0d:8a:5e", "endpoint_id": 1, "available": true, @@ -487,22 +424,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "90:35:ea:ff:fe:0d:8a:5e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "90:35:ea:ff:fe:0d:8a:5e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ewelink-snzb-03p.json b/tests/data/devices/ewelink-snzb-03p.json index 4b45d658b..5816c549e 100644 --- a/tests/data/devices/ewelink-snzb-03p.json +++ b/tests/data/devices/ewelink-snzb-03p.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:cb:2e:18:c7", "nwk": "0xFB8F", "manufacturer": "eWeLink", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31 + "value": 31, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -109,12 +125,19 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0020", @@ -133,6 +156,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -172,6 +196,7 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -179,11 +204,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -251,22 +278,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:cb:2e:18:c7:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:cb:2e:18:c7", "endpoint_id": 1, "available": true, @@ -294,22 +305,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:cb:2e:18:c7:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cb:2e:18:c7", "endpoint_id": 1, "available": true, @@ -339,22 +334,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:cb:2e:18:c7:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cb:2e:18:c7", "endpoint_id": 1, "available": true, @@ -387,22 +366,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:cb:2e:18:c7:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:cb:2e:18:c7", "endpoint_id": 1, "available": true, @@ -436,22 +399,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cb:2e:18:c7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cb:2e:18:c7", "endpoint_id": 1, "available": true, @@ -480,22 +427,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cb:2e:18:c7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cb:2e:18:c7", "endpoint_id": 1, "available": true, @@ -524,22 +455,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:cb:2e:18:c7:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:cb:2e:18:c7", "endpoint_id": 1, "available": true, @@ -576,22 +491,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:cb:2e:18:c7:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cb:2e:18:c7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ewelink-snzb-04p.json b/tests/data/devices/ewelink-snzb-04p.json index e4971cea2..aa062591d 100644 --- a/tests/data/devices/ewelink-snzb-04p.json +++ b/tests/data/devices/ewelink-snzb-04p.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:81:81:05:49", "nwk": "0xD45C", "manufacturer": "eWeLink", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,7 +93,13 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -104,11 +118,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -121,6 +137,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -160,11 +177,26 @@ { "cluster_id": "0xfc11", "endpoint_attribute": "sonoff_contact_cluster", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x2000", + "name": "tamper", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -172,11 +204,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -195,6 +229,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -263,22 +298,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:81:81:05:49:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:81:05:49", "endpoint_id": 1, "available": true, @@ -306,22 +325,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "Sonoff contact cluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:81:81:05:49:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:81:05:49", "endpoint_id": 1, "available": true, @@ -351,22 +354,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:81:81:05:49:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:81:05:49", "endpoint_id": 1, "available": true, @@ -399,22 +386,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:81:81:05:49:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:81:05:49", "endpoint_id": 1, "available": true, @@ -443,22 +414,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:81:81:05:49:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:81:05:49", "endpoint_id": 1, "available": true, @@ -487,22 +442,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:81:81:05:49:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:81:81:05:49", "endpoint_id": 1, "available": true, @@ -539,22 +478,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:81:81:05:49:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:81:05:49", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ewelink-th01.json b/tests/data/devices/ewelink-th01.json index 3f7817168..dc3944619 100644 --- a/tests/data/devices/ewelink-th01.json +++ b/tests/data/devices/ewelink-th01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:62:93:68:a8", "nwk": "0x6F45", "manufacturer": "eWeLink", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,36 +93,57 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31 + "value": 31, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2660 + "value": 2660, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5775 + "value": 5775, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -123,6 +152,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -180,22 +210,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:62:93:68:a8:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:62:93:68:a8", "endpoint_id": 1, "available": true, @@ -228,22 +242,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:62:93:68:a8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:62:93:68:a8", "endpoint_id": 1, "available": true, @@ -272,22 +270,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:62:93:68:a8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:62:93:68:a8", "endpoint_id": 1, "available": true, @@ -316,22 +298,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:62:93:68:a8:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:62:93:68:a8", "endpoint_id": 1, "available": true, @@ -366,22 +332,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:62:93:68:a8:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:62:93:68:a8", "endpoint_id": 1, "available": true, @@ -410,22 +360,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:62:93:68:a8:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:62:93:68:a8", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ewelink-wb01.json b/tests/data/devices/ewelink-wb01.json index 5aafb8ca5..1e56a3d0c 100644 --- a/tests/data/devices/ewelink-wb01.json +++ b/tests/data/devices/ewelink-wb01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:12:4b:00:25:12:e0:f9", "nwk": "0x7D23", "manufacturer": "eWeLink", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,13 +93,20 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -99,11 +114,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] } ] @@ -160,22 +177,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:12:4b:00:25:12:e0:f9:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:25:12:e0:f9", "endpoint_id": 1, "available": true, @@ -208,22 +209,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:12:4b:00:25:12:e0:f9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:25:12:e0:f9", "endpoint_id": 1, "available": true, @@ -252,22 +237,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:12:4b:00:25:12:e0:f9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:25:12:e0:f9", "endpoint_id": 1, "available": true, @@ -296,22 +265,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:12:4b:00:25:12:e0:f9:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:12:4b:00:25:12:e0:f9", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ewelink-zb-sw01.json b/tests/data/devices/ewelink-zb-sw01.json index c649b59bd..2121ed5d5 100644 --- a/tests/data/devices/ewelink-zb-sw01.json +++ b/tests/data/devices/ewelink-zb-sw01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f8:28:3c:8f", "nwk": "0x8674", "manufacturer": "eWeLink", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -97,6 +108,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -154,22 +166,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:f8:28:3c:8f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f8:28:3c:8f", "endpoint_id": 1, "available": true, @@ -202,22 +198,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:f8:28:3c:8f:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:f8:28:3c:8f", "endpoint_id": 1, "available": true, @@ -270,22 +250,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f8:28:3c:8f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f8:28:3c:8f", "endpoint_id": 1, "available": true, @@ -314,22 +278,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f8:28:3c:8f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f8:28:3c:8f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ewelink-zb-sw02.json b/tests/data/devices/ewelink-zb-sw02.json index 926d93528..9ba47d617 100644 --- a/tests/data/devices/ewelink-zb-sw02.json +++ b/tests/data/devices/ewelink-zb-sw02.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:12:4b:00:23:b7:d0:ce", "nwk": "0x3F29", "manufacturer": "eWeLink", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -97,6 +108,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -111,32 +123,43 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -151,6 +174,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -222,22 +246,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:12:4b:00:23:b7:d0:ce:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:23:b7:d0:ce", "endpoint_id": 1, "available": true, @@ -270,22 +278,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:12:4b:00:23:b7:d0:ce:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:12:4b:00:23:b7:d0:ce", "endpoint_id": 1, "available": true, @@ -336,22 +328,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "00:12:4b:00:23:b7:d0:ce:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:12:4b:00:23:b7:d0:ce", "endpoint_id": 2, "available": true, @@ -404,22 +380,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:12:4b:00:23:b7:d0:ce:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:23:b7:d0:ce", "endpoint_id": 1, "available": true, @@ -448,22 +408,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:12:4b:00:23:b7:d0:ce:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:23:b7:d0:ce", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ezviz-cs-t55-r100-g.json b/tests/data/devices/ezviz-cs-t55-r100-g.json index e2d54cffb..2b8ef7adb 100644 --- a/tests/data/devices/ezviz-cs-t55-r100-g.json +++ b/tests/data/devices/ezviz-cs-t55-r100-g.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:9d:90:be:b1", "nwk": "0x05CB", "manufacturer": "EZVIZ", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 100 + "value": 100, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,24 +93,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 33 + "value": 33, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -115,6 +137,7 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -127,6 +150,7 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -162,7 +186,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -198,43 +228,85 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 3500 + "value": 3500, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -246,37 +318,63 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 1 + "value": 1, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2850 + "value": 2850, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -316,16 +414,19 @@ { "cluster_id": "0x0704", "endpoint_attribute": "smartenergy_tunneling", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe00", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfec0", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -333,6 +434,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -345,6 +447,7 @@ { "cluster_id": "0x0704", "endpoint_attribute": "smartenergy_tunneling", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -409,22 +512,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:9d:90:be:b1:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9d:90:be:b1", "endpoint_id": 1, "available": true, @@ -454,22 +541,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:9d:90:be:b1:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9d:90:be:b1", "endpoint_id": 1, "available": true, @@ -502,22 +573,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:9d:90:be:b1:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:9d:90:be:b1", "endpoint_id": 1, "available": true, @@ -580,22 +635,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:9d:90:be:b1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9d:90:be:b1", "endpoint_id": 1, "available": true, @@ -624,22 +663,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:9d:90:be:b1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9d:90:be:b1", "endpoint_id": 1, "available": true, @@ -668,22 +691,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:9d:90:be:b1:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:9d:90:be:b1", "endpoint_id": 1, "available": true, @@ -718,22 +725,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:9d:90:be:b1:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:9d:90:be:b1", "endpoint_id": 1, "available": true, @@ -762,22 +753,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:9d:90:be:b1:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:9d:90:be:b1", "endpoint_id": 1, "available": true, @@ -806,22 +781,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:9d:90:be:b1:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:9d:90:be:b1", "endpoint_id": 1, "available": true, @@ -852,22 +811,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:9d:90:be:b1:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:9d:90:be:b1", "endpoint_id": 1, "available": true, @@ -896,22 +839,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:9d:90:be:b1:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9d:90:be:b1", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/feibit-inc-co-fzb56-zcw27lx1-0.json b/tests/data/devices/feibit-inc-co-fzb56-zcw27lx1-0.json index e1852d27a..965705b03 100644 --- a/tests/data/devices/feibit-inc-co-fzb56-zcw27lx1-0.json +++ b/tests/data/devices/feibit-inc-co-fzb56-zcw27lx1-0.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:12:4b:00:1c:46:5f:b1", "nwk": "0xE2CF", "manufacturer": "Feibit Inc co. ", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,12 +112,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 76 + "value": 76, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -149,6 +167,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -184,7 +203,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 222 + "value": 222, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -202,13 +227,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 45677 + "value": 45677, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 19529 + "value": 19529, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -243,6 +280,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -250,6 +288,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -317,22 +356,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "00:12:4b:00:1c:46:5f:b1:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:1c:46:5f:b1", "endpoint_id": 11, "available": true, @@ -365,50 +388,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:12:4b:00:1c:46:5f:b1:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:12:4b:00:1c:46:5f:b1:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:12:4b:00:1c:46:5f:b1:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:12:4b:00:1c:46:5f:b1", "endpoint_id": 11, "available": true, @@ -469,22 +448,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:12:4b:00:1c:46:5f:b1:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:1c:46:5f:b1", "endpoint_id": 11, "available": true, @@ -513,22 +476,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:12:4b:00:1c:46:5f:b1:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:1c:46:5f:b1", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/frient-a-s-aqszb-110.json b/tests/data/devices/frient-a-s-aqszb-110.json index c91ca4634..a33eeecda 100644 --- a/tests/data/devices/frient-a-s-aqszb-110.json +++ b/tests/data/devices/frient-a-s-aqszb-110.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:bc:00:36:00:1f:ee", "nwk": "0xCA04", "manufacturer": "frient A/S", @@ -44,16 +44,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -69,6 +72,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -87,6 +91,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -98,7 +103,13 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 150 + "value": 150, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -116,18 +127,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29 + "value": 29, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -140,12 +159,19 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2060 + "value": 2060, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } }, { "id": "0x0003", @@ -158,12 +184,19 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4180 + "value": 4180, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } }, { "id": "0x0003", @@ -176,28 +209,46 @@ { "cluster_id": "0x042e", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "develco_voc_level", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "measured_value", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 10, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -277,22 +328,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 38, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "38:0x0003", - "unique_id": "00:15:bc:00:36:00:1f:ee:38:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:36:00:1f:ee", "endpoint_id": 38, "available": true, @@ -325,22 +360,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 38, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "38:0x0000", - "unique_id": "00:15:bc:00:36:00:1f:ee:38:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:36:00:1f:ee", "endpoint_id": 38, "available": true, @@ -369,22 +388,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 38, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "38:0x0000", - "unique_id": "00:15:bc:00:36:00:1f:ee:38:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:36:00:1f:ee", "endpoint_id": 38, "available": true, @@ -413,22 +416,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 38, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "38:0x0001", - "unique_id": "00:15:bc:00:36:00:1f:ee:38:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:15:bc:00:36:00:1f:ee", "endpoint_id": 38, "available": true, @@ -465,22 +452,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 38, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "38:0x0402", - "unique_id": "00:15:bc:00:36:00:1f:ee:38:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:15:bc:00:36:00:1f:ee", "endpoint_id": 38, "available": true, @@ -509,22 +480,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 38, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "38:0x0405", - "unique_id": "00:15:bc:00:36:00:1f:ee:38:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:15:bc:00:36:00:1f:ee", "endpoint_id": 38, "available": true, @@ -553,22 +508,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfc03", - "endpoint_id": 38, - "cluster": { - "id": 64515, - "name": "VOC Level", - "type": "server" - }, - "id": "38:0xfc03", - "unique_id": "00:15:bc:00:36:00:1f:ee:38:0xfc03", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:36:00:1f:ee", "endpoint_id": 38, "available": true, @@ -599,22 +538,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 38, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "38:0x0019_client", - "unique_id": "00:15:bc:00:36:00:1f:ee:38:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:36:00:1f:ee", "endpoint_id": 38, "available": true, diff --git a/tests/data/devices/frient-a-s-emizb-141.json b/tests/data/devices/frient-a-s-emizb-141.json index f5b305652..0f1e5505f 100644 --- a/tests/data/devices/frient-a-s-emizb-141.json +++ b/tests/data/devices/frient-a-s-emizb-141.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:bc:00:1b:10:01:5c", "nwk": "0x09EF", "manufacturer": "frient A/S", @@ -44,11 +44,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -64,6 +66,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -82,6 +85,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -93,7 +97,13 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -111,18 +121,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31 + "value": 31, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -135,54 +153,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -200,7 +267,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -218,7 +291,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -237,16 +316,19 @@ { "cluster_id": "0x0b01", "endpoint_attribute": "meter_id", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd10", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -254,16 +336,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -342,22 +427,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 2, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "2:0x0003", - "unique_id": "00:15:bc:00:1b:10:01:5c:2:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:1b:10:01:5c", "endpoint_id": 2, "available": true, @@ -388,22 +457,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfd10", - "endpoint_id": 2, - "cluster": { - "id": 64784, - "name": "ManufacturerMetering", - "type": "server" - }, - "id": "2:0xfd10", - "unique_id": "00:15:bc:00:1b:10:01:5c:2:0xfd10", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:1b:10:01:5c", "endpoint_id": 2, "available": true, @@ -433,22 +486,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfd10", - "endpoint_id": 2, - "cluster": { - "id": 64784, - "name": "ManufacturerMetering", - "type": "server" - }, - "id": "2:0xfd10", - "unique_id": "00:15:bc:00:1b:10:01:5c:2:0xfd10", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:1b:10:01:5c", "endpoint_id": 2, "available": true, @@ -482,22 +519,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 2, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "2:0x0000", - "unique_id": "00:15:bc:00:1b:10:01:5c:2:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:1b:10:01:5c", "endpoint_id": 2, "available": true, @@ -526,22 +547,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 2, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "2:0x0000", - "unique_id": "00:15:bc:00:1b:10:01:5c:2:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:1b:10:01:5c", "endpoint_id": 2, "available": true, @@ -570,22 +575,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 2, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "2:0x0001", - "unique_id": "00:15:bc:00:1b:10:01:5c:2:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:15:bc:00:1b:10:01:5c", "endpoint_id": 2, "available": true, @@ -622,22 +611,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 2, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "2:0x0702", - "unique_id": "00:15:bc:00:1b:10:01:5c:2:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "00:15:bc:00:1b:10:01:5c", "endpoint_id": 2, "available": true, @@ -674,22 +647,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 2, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "2:0x0702", - "unique_id": "00:15:bc:00:1b:10:01:5c:2:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "00:15:bc:00:1b:10:01:5c", "endpoint_id": 2, "available": true, @@ -728,22 +685,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 2, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "2:0x0019_client", - "unique_id": "00:15:bc:00:1b:10:01:5c:2:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:1b:10:01:5c", "endpoint_id": 2, "available": true, diff --git a/tests/data/devices/frient-a-s-emizb-151.json b/tests/data/devices/frient-a-s-emizb-151.json index c50a1ed29..2afabc1c3 100644 --- a/tests/data/devices/frient-a-s-emizb-151.json +++ b/tests/data/devices/frient-a-s-emizb-151.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:74:0f:89:c3", "nwk": "0x7B86", "manufacturer": "frient A/S", @@ -44,11 +44,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -77,6 +79,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -95,12 +98,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -118,7 +128,13 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -131,11 +147,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -148,54 +166,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 41984478 + "value": 41984478, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 9532077 + "value": 9532077, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "value": 26339666 + "value": 26339666, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "value": 15644812 + "value": 15644812, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -213,7 +280,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 1821 + "value": 1821, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -231,7 +304,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -250,34 +329,55 @@ { "cluster_id": "0x0704", "endpoint_attribute": "smartenergy_tunneling", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b01", "endpoint_attribute": "meter_id", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -301,31 +401,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 517 + "value": 517, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -349,19 +479,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "value": 1274 + "value": 1274, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "value": 29 + "value": 29, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -373,7 +629,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -397,7 +659,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -421,7 +689,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 5 + "value": 5, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -445,19 +719,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "value": 5 + "value": 5, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 2280 + "value": 2280, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -481,19 +773,37 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "value": 2280 + "value": 2280, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "value": 2270 + "value": 2270, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "value": 1821 + "value": 1821, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0305", @@ -506,6 +816,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -513,16 +824,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -544,64 +858,115 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 2950491 + "value": 2950491, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -619,7 +984,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -637,7 +1008,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -656,6 +1033,7 @@ { "cluster_id": "0x0b01", "endpoint_attribute": "meter_id", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -663,6 +1041,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -677,64 +1056,115 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 281474976710655 + "value": 281474976710655, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -752,7 +1182,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -770,7 +1206,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -789,6 +1231,7 @@ { "cluster_id": "0x0b01", "endpoint_attribute": "meter_id", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -796,6 +1239,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -810,64 +1254,115 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 281474976710655 + "value": 281474976710655, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -885,7 +1380,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -903,7 +1404,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -922,6 +1429,7 @@ { "cluster_id": "0x0b01", "endpoint_attribute": "meter_id", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -929,6 +1437,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -943,64 +1452,115 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 281474976710655 + "value": 281474976710655, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -1018,7 +1578,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -1036,7 +1602,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -1055,6 +1627,7 @@ { "cluster_id": "0x0b01", "endpoint_attribute": "meter_id", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -1062,6 +1635,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -1186,22 +1760,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 2, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "2:0x0003", - "unique_id": "ab:cd:ef:12:74:0f:89:c3:2:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:74:0f:89:c3", "endpoint_id": 2, "available": true, @@ -1234,22 +1792,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 2, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "2:0x0000", - "unique_id": "ab:cd:ef:12:74:0f:89:c3:2:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:74:0f:89:c3", "endpoint_id": 2, "available": true, @@ -1278,22 +1820,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 2, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "2:0x0000", - "unique_id": "ab:cd:ef:12:74:0f:89:c3:2:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:74:0f:89:c3", "endpoint_id": 2, "available": true, @@ -1322,22 +1848,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 2, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "2:0x0001", - "unique_id": "ab:cd:ef:12:74:0f:89:c3:2:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:74:0f:89:c3", "endpoint_id": 2, "available": true, @@ -1371,22 +1881,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 2, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "2:0x0702", - "unique_id": "ab:cd:ef:12:74:0f:89:c3:2:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:74:0f:89:c3", "endpoint_id": 2, "available": true, @@ -1423,22 +1917,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 2, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "2:0x0702", - "unique_id": "ab:cd:ef:12:74:0f:89:c3:2:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:74:0f:89:c3", "endpoint_id": 2, "available": true, @@ -1475,22 +1953,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 2, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "2:0x0702", - "unique_id": "ab:cd:ef:12:74:0f:89:c3:2:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:74:0f:89:c3", "endpoint_id": 2, "available": true, @@ -1527,22 +1989,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:74:0f:89:c3:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:74:0f:89:c3", "endpoint_id": 2, "available": true, @@ -1576,22 +2022,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:74:0f:89:c3:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:74:0f:89:c3", "endpoint_id": 2, "available": true, @@ -1625,22 +2055,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:74:0f:89:c3:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:74:0f:89:c3", "endpoint_id": 2, "available": true, @@ -1674,22 +2088,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:74:0f:89:c3:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:74:0f:89:c3", "endpoint_id": 2, "available": true, @@ -1723,22 +2121,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:74:0f:89:c3:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:74:0f:89:c3", "endpoint_id": 2, "available": true, @@ -1772,22 +2154,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:74:0f:89:c3:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:74:0f:89:c3", "endpoint_id": 2, "available": true, @@ -1821,22 +2187,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:74:0f:89:c3:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:74:0f:89:c3", "endpoint_id": 2, "available": true, @@ -1870,22 +2220,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:74:0f:89:c3:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:74:0f:89:c3", "endpoint_id": 2, "available": true, @@ -1919,22 +2253,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:74:0f:89:c3:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:74:0f:89:c3", "endpoint_id": 2, "available": true, @@ -1968,22 +2286,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:74:0f:89:c3:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:74:0f:89:c3", "endpoint_id": 2, "available": true, @@ -2019,22 +2321,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 2, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "2:0x0019_client", - "unique_id": "ab:cd:ef:12:74:0f:89:c3:2:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:74:0f:89:c3", "endpoint_id": 2, "available": true, diff --git a/tests/data/devices/frient-a-s-flszb-110.json b/tests/data/devices/frient-a-s-flszb-110.json index f427b04d2..f0e062f02 100644 --- a/tests/data/devices/frient-a-s-flszb-110.json +++ b/tests/data/devices/frient-a-s-flszb-110.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:bc:00:33:00:76:9a", "nwk": "0xC4C5", "manufacturer": "frient A/S", @@ -46,16 +46,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -78,6 +81,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -96,6 +100,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -103,28 +108,54 @@ "zcl_type": "map32", "value": 0 }, + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 32 + "value": 32, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x006f", @@ -137,6 +168,7 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -149,6 +181,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -176,6 +209,7 @@ { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", + "bind": "SUCCESS", "attributes": [] } ], @@ -183,11 +217,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -209,22 +245,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2193 + "value": 2193, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] } @@ -233,6 +278,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -315,22 +361,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 35, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "35:0x0500", - "unique_id": "00:15:bc:00:33:00:76:9a:35:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:33:00:76:9a", "endpoint_id": 35, "available": true, @@ -360,22 +390,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 35, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "35:0x0003", - "unique_id": "00:15:bc:00:33:00:76:9a:35:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:33:00:76:9a", "endpoint_id": 35, "available": true, @@ -408,22 +422,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 35, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "35:0x0000", - "unique_id": "00:15:bc:00:33:00:76:9a:35:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:33:00:76:9a", "endpoint_id": 35, "available": true, @@ -452,22 +450,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 35, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "35:0x0000", - "unique_id": "00:15:bc:00:33:00:76:9a:35:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:33:00:76:9a", "endpoint_id": 35, "available": true, @@ -496,22 +478,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 35, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "35:0x0001", - "unique_id": "00:15:bc:00:33:00:76:9a:35:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:15:bc:00:33:00:76:9a", "endpoint_id": 35, "available": true, @@ -546,22 +512,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 38, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "38:0x0402", - "unique_id": "00:15:bc:00:33:00:76:9a:38:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:15:bc:00:33:00:76:9a", "endpoint_id": 38, "available": true, @@ -592,22 +542,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 35, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "35:0x0502", - "unique_id": "00:15:bc:00:33:00:76:9a:35:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:33:00:76:9a", "endpoint_id": 35, "available": true, @@ -638,22 +572,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 35, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "35:0x0019_client", - "unique_id": "00:15:bc:00:33:00:76:9a:35:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:33:00:76:9a", "endpoint_id": 35, "available": true, diff --git a/tests/data/devices/frient-a-s-hmszb-120.json b/tests/data/devices/frient-a-s-hmszb-120.json index 9971b5dcb..5da83951e 100644 --- a/tests/data/devices/frient-a-s-hmszb-120.json +++ b/tests/data/devices/frient-a-s-hmszb-120.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:bc:00:35:00:26:aa", "nwk": "0x89A7", "manufacturer": "frient A/S", @@ -44,16 +44,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -69,6 +72,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -87,6 +91,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -98,7 +103,13 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -116,18 +127,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -140,12 +159,19 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2060 + "value": 2060, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } }, { "id": "0x0003", @@ -158,12 +184,19 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4150 + "value": 4150, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } }, { "id": "0x0003", @@ -178,16 +211,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -265,22 +301,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 38, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "38:0x0003", - "unique_id": "00:15:bc:00:35:00:26:aa:38:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:35:00:26:aa", "endpoint_id": 38, "available": true, @@ -313,22 +333,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 38, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "38:0x0000", - "unique_id": "00:15:bc:00:35:00:26:aa:38:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:35:00:26:aa", "endpoint_id": 38, "available": true, @@ -357,22 +361,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 38, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "38:0x0000", - "unique_id": "00:15:bc:00:35:00:26:aa:38:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:35:00:26:aa", "endpoint_id": 38, "available": true, @@ -401,22 +389,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 38, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "38:0x0001", - "unique_id": "00:15:bc:00:35:00:26:aa:38:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:15:bc:00:35:00:26:aa", "endpoint_id": 38, "available": true, @@ -453,22 +425,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 38, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "38:0x0402", - "unique_id": "00:15:bc:00:35:00:26:aa:38:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:15:bc:00:35:00:26:aa", "endpoint_id": 38, "available": true, @@ -497,22 +453,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 38, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "38:0x0405", - "unique_id": "00:15:bc:00:35:00:26:aa:38:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:15:bc:00:35:00:26:aa", "endpoint_id": 38, "available": true, @@ -543,22 +483,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 38, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "38:0x0019_client", - "unique_id": "00:15:bc:00:35:00:26:aa:38:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:35:00:26:aa", "endpoint_id": 38, "available": true, diff --git a/tests/data/devices/frient-a-s-iomzb-110.json b/tests/data/devices/frient-a-s-iomzb-110.json index 0fa540efa..fc080e8f0 100644 --- a/tests/data/devices/frient-a-s-iomzb-110.json +++ b/tests/data/devices/frient-a-s-iomzb-110.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:bc:00:42:00:09:1c", "nwk": "0xD5B7", "manufacturer": "frient A/S", @@ -44,11 +44,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -64,6 +66,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -82,17 +85,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x006f", @@ -105,6 +116,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -112,16 +124,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -143,22 +158,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x006f", @@ -173,6 +197,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -187,22 +212,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x006f", @@ -217,6 +251,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -231,22 +266,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x006f", @@ -261,6 +305,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -275,32 +320,43 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -315,11 +371,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -334,32 +392,43 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -374,11 +443,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -394,6 +465,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -535,22 +607,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 112, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "112:0x000f", - "unique_id": "00:15:bc:00:42:00:09:1c:112:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "00:15:bc:00:42:00:09:1c", "endpoint_id": 112, "available": true, @@ -578,22 +634,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 113, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "113:0x000f", - "unique_id": "00:15:bc:00:42:00:09:1c:113:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "00:15:bc:00:42:00:09:1c", "endpoint_id": 113, "available": true, @@ -621,22 +661,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 114, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "114:0x000f", - "unique_id": "00:15:bc:00:42:00:09:1c:114:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "00:15:bc:00:42:00:09:1c", "endpoint_id": 114, "available": true, @@ -664,22 +688,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 115, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "115:0x000f", - "unique_id": "00:15:bc:00:42:00:09:1c:115:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "00:15:bc:00:42:00:09:1c", "endpoint_id": 115, "available": true, @@ -709,22 +717,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 112, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "112:0x0003", - "unique_id": "00:15:bc:00:42:00:09:1c:112:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:42:00:09:1c", "endpoint_id": 112, "available": true, @@ -757,22 +749,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 112, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "112:0x0000", - "unique_id": "00:15:bc:00:42:00:09:1c:112:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:42:00:09:1c", "endpoint_id": 112, "available": true, @@ -801,22 +777,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 112, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "112:0x0000", - "unique_id": "00:15:bc:00:42:00:09:1c:112:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:42:00:09:1c", "endpoint_id": 112, "available": true, @@ -847,22 +807,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 116, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "116:0x0006", - "unique_id": "00:15:bc:00:42:00:09:1c:116:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:15:bc:00:42:00:09:1c", "endpoint_id": 116, "available": true, @@ -889,22 +833,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 117, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "117:0x0006", - "unique_id": "00:15:bc:00:42:00:09:1c:117:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:15:bc:00:42:00:09:1c", "endpoint_id": 117, "available": true, @@ -933,22 +861,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 112, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "112:0x0019_client", - "unique_id": "00:15:bc:00:42:00:09:1c:112:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:42:00:09:1c", "endpoint_id": 112, "available": true, diff --git a/tests/data/devices/frient-a-s-kepzb-110.json b/tests/data/devices/frient-a-s-kepzb-110.json index 87af490b1..a822453fc 100644 --- a/tests/data/devices/frient-a-s-kepzb-110.json +++ b/tests/data/devices/frient-a-s-kepzb-110.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:bc:00:43:00:4a:39", "nwk": "0x0422", "manufacturer": "frient A/S", @@ -44,11 +44,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -64,6 +66,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -82,6 +85,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -93,7 +97,13 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 130 + "value": 130, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -111,18 +121,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 53 + "value": 53, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -135,6 +153,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -174,6 +193,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -181,16 +201,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -203,6 +226,7 @@ { "cluster_id": "0x0501", "endpoint_attribute": "ias_ace", + "bind": "SUCCESS", "attributes": [] } ] @@ -273,22 +297,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasAceClientClusterHandler", - "generic_id": "cluster_handler_0x0501_client", - "endpoint_id": 44, - "cluster": { - "id": 1281, - "name": "IAS Ancillary Control Equipment", - "type": "client" - }, - "id": "44:0x0501_client", - "unique_id": "00:15:bc:00:43:00:4a:39:44:0x0501_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:43:00:4a:39", "endpoint_id": 44, "available": true, @@ -320,22 +328,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 44, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "44:0x0500", - "unique_id": "00:15:bc:00:43:00:4a:39:44:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:43:00:4a:39", "endpoint_id": 44, "available": true, @@ -365,22 +357,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 44, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "44:0x0003", - "unique_id": "00:15:bc:00:43:00:4a:39:44:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:43:00:4a:39", "endpoint_id": 44, "available": true, @@ -413,22 +389,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 44, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "44:0x0000", - "unique_id": "00:15:bc:00:43:00:4a:39:44:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:43:00:4a:39", "endpoint_id": 44, "available": true, @@ -457,22 +417,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 44, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "44:0x0000", - "unique_id": "00:15:bc:00:43:00:4a:39:44:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:43:00:4a:39", "endpoint_id": 44, "available": true, @@ -501,22 +445,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 44, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "44:0x0001", - "unique_id": "00:15:bc:00:43:00:4a:39:44:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:15:bc:00:43:00:4a:39", "endpoint_id": 44, "available": true, @@ -555,22 +483,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 44, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "44:0x0019_client", - "unique_id": "00:15:bc:00:43:00:4a:39:44:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:43:00:4a:39", "endpoint_id": 44, "available": true, diff --git a/tests/data/devices/frient-a-s-moszb-140.json b/tests/data/devices/frient-a-s-moszb-140.json index aec5850bd..e3c7b5e7b 100644 --- a/tests/data/devices/frient-a-s-moszb-140.json +++ b/tests/data/devices/frient-a-s-moszb-140.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a5:49:dd:25", "nwk": "0x0281", "manufacturer": "frient A/S", @@ -44,16 +44,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -69,6 +72,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -87,17 +91,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -114,11 +126,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -130,7 +144,13 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -148,18 +168,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -171,7 +199,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x006f", @@ -184,11 +218,13 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -230,16 +266,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -261,22 +300,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2043 + "value": 2043, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] } @@ -293,22 +341,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 26490 + "value": 26490, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -325,22 +382,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -357,22 +423,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -495,22 +570,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 34, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "34:0x0406", - "unique_id": "ab:cd:ef:12:a5:49:dd:25:34:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:a5:49:dd:25", "endpoint_id": 34, "available": true, @@ -538,22 +597,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 35, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "35:0x0500", - "unique_id": "ab:cd:ef:12:a5:49:dd:25:35:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a5:49:dd:25", "endpoint_id": 35, "available": true, @@ -581,22 +624,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 35, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "35:0x0500", - "unique_id": "ab:cd:ef:12:a5:49:dd:25:35:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a5:49:dd:25", "endpoint_id": 35, "available": true, @@ -626,22 +653,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 34, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "34:0x0003", - "unique_id": "ab:cd:ef:12:a5:49:dd:25:34:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a5:49:dd:25", "endpoint_id": 34, "available": true, @@ -674,22 +685,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 34, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "34:0x0000", - "unique_id": "ab:cd:ef:12:a5:49:dd:25:34:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a5:49:dd:25", "endpoint_id": 34, "available": true, @@ -718,22 +713,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 34, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "34:0x0000", - "unique_id": "ab:cd:ef:12:a5:49:dd:25:34:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a5:49:dd:25", "endpoint_id": 34, "available": true, @@ -762,22 +741,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 35, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "35:0x0001", - "unique_id": "ab:cd:ef:12:a5:49:dd:25:35:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:a5:49:dd:25", "endpoint_id": 35, "available": true, @@ -814,22 +777,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 38, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "38:0x0402", - "unique_id": "ab:cd:ef:12:a5:49:dd:25:38:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:a5:49:dd:25", "endpoint_id": 38, "available": true, @@ -858,22 +805,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 39, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "39:0x0400", - "unique_id": "ab:cd:ef:12:a5:49:dd:25:39:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:a5:49:dd:25", "endpoint_id": 39, "available": true, @@ -904,22 +835,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 35, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "35:0x0019_client", - "unique_id": "ab:cd:ef:12:a5:49:dd:25:35:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a5:49:dd:25", "endpoint_id": 35, "available": true, diff --git a/tests/data/devices/frient-a-s-moszb-153.json b/tests/data/devices/frient-a-s-moszb-153.json index b9a06b7b7..fd5678a76 100644 --- a/tests/data/devices/frient-a-s-moszb-153.json +++ b/tests/data/devices/frient-a-s-moszb-153.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:bc:00:1a:10:8a:e5", "nwk": "0x45DF", "manufacturer": "frient A/S", @@ -44,11 +44,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -64,6 +66,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -82,17 +85,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -107,6 +118,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -121,11 +133,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -137,7 +151,13 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 190 + "value": 190, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -155,24 +175,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29 + "value": 29, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0067", @@ -191,6 +225,7 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -203,6 +238,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -242,6 +278,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -249,16 +286,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -280,22 +320,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2256 + "value": 2256, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] } @@ -304,6 +353,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -318,22 +368,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 19815 + "value": 19815, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -342,6 +401,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -356,22 +416,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -380,6 +449,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -394,22 +464,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -418,6 +497,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -548,22 +628,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 34, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "34:0x0406", - "unique_id": "00:15:bc:00:1a:10:8a:e5:34:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "00:15:bc:00:1a:10:8a:e5", "endpoint_id": 34, "available": true, @@ -591,22 +655,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 35, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "35:0x0500", - "unique_id": "00:15:bc:00:1a:10:8a:e5:35:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:1a:10:8a:e5", "endpoint_id": 35, "available": true, @@ -636,22 +684,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 34, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "34:0x0003", - "unique_id": "00:15:bc:00:1a:10:8a:e5:34:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:1a:10:8a:e5", "endpoint_id": 34, "available": true, @@ -684,22 +716,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 34, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "34:0x0406", - "unique_id": "00:15:bc:00:1a:10:8a:e5:34:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "00:15:bc:00:1a:10:8a:e5", "endpoint_id": 34, "available": true, @@ -731,22 +747,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 35, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "35:0x0500", - "unique_id": "00:15:bc:00:1a:10:8a:e5:35:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:1a:10:8a:e5", "endpoint_id": 35, "available": true, @@ -780,22 +780,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 34, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "34:0x0000", - "unique_id": "00:15:bc:00:1a:10:8a:e5:34:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:1a:10:8a:e5", "endpoint_id": 34, "available": true, @@ -824,22 +808,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 34, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "34:0x0000", - "unique_id": "00:15:bc:00:1a:10:8a:e5:34:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:1a:10:8a:e5", "endpoint_id": 34, "available": true, @@ -868,22 +836,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 35, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "35:0x0001", - "unique_id": "00:15:bc:00:1a:10:8a:e5:35:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:15:bc:00:1a:10:8a:e5", "endpoint_id": 35, "available": true, @@ -920,22 +872,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 38, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "38:0x0402", - "unique_id": "00:15:bc:00:1a:10:8a:e5:38:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:15:bc:00:1a:10:8a:e5", "endpoint_id": 38, "available": true, @@ -964,22 +900,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 39, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "39:0x0400", - "unique_id": "00:15:bc:00:1a:10:8a:e5:39:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:15:bc:00:1a:10:8a:e5", "endpoint_id": 39, "available": true, @@ -1010,22 +930,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 35, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "35:0x0019_client", - "unique_id": "00:15:bc:00:1a:10:8a:e5:35:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:1a:10:8a:e5", "endpoint_id": 35, "available": true, diff --git a/tests/data/devices/frient-a-s-sbtzb-110.json b/tests/data/devices/frient-a-s-sbtzb-110.json index 28d66634c..9e339154f 100644 --- a/tests/data/devices/frient-a-s-sbtzb-110.json +++ b/tests/data/devices/frient-a-s-sbtzb-110.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:bc:00:39:00:52:cd", "nwk": "0x2B3E", "manufacturer": "frient A/S", @@ -44,11 +44,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -64,6 +66,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -82,6 +85,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -93,7 +97,13 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 160 + "value": 160, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -111,24 +121,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x006f", @@ -141,6 +165,7 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -153,6 +178,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -160,11 +186,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -183,11 +211,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -265,22 +295,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 32, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "32:0x000f", - "unique_id": "00:15:bc:00:39:00:52:cd:32:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "00:15:bc:00:39:00:52:cd", "endpoint_id": 32, "available": true, @@ -310,22 +324,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 32, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "32:0x0003", - "unique_id": "00:15:bc:00:39:00:52:cd:32:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:39:00:52:cd", "endpoint_id": 32, "available": true, @@ -358,22 +356,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 32, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "32:0x0000", - "unique_id": "00:15:bc:00:39:00:52:cd:32:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:39:00:52:cd", "endpoint_id": 32, "available": true, @@ -402,22 +384,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 32, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "32:0x0000", - "unique_id": "00:15:bc:00:39:00:52:cd:32:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:39:00:52:cd", "endpoint_id": 32, "available": true, @@ -446,22 +412,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 32, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "32:0x0001", - "unique_id": "00:15:bc:00:39:00:52:cd:32:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:15:bc:00:39:00:52:cd", "endpoint_id": 32, "available": true, @@ -500,22 +450,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 32, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "32:0x0019_client", - "unique_id": "00:15:bc:00:39:00:52:cd:32:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:39:00:52:cd", "endpoint_id": 32, "available": true, diff --git a/tests/data/devices/frient-a-s-scazb-141.json b/tests/data/devices/frient-a-s-scazb-141.json index b5fddc1f0..af19f6706 100644 --- a/tests/data/devices/frient-a-s-scazb-141.json +++ b/tests/data/devices/frient-a-s-scazb-141.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:18:f2:e7:e6", "nwk": "0xEA73", "manufacturer": "frient A/S", @@ -46,11 +46,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -66,6 +68,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -102,6 +105,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -109,6 +113,18 @@ "zcl_type": "map32", "value": 0 }, + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0033", "name": "battery_quantity", @@ -125,18 +141,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29 + "value": 29, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0004", @@ -154,7 +178,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0067", @@ -173,11 +203,13 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -217,6 +249,7 @@ { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", + "bind": "SUCCESS", "attributes": [] } ], @@ -224,16 +257,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -255,22 +291,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2037 + "value": 2037, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] } @@ -287,16 +332,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0004", @@ -314,7 +362,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0067", @@ -333,18 +387,26 @@ { "cluster_id": "0x040c", "endpoint_attribute": "carbon_monoxide_concentration", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "single", - "value": 0.0 + "value": 0.0, + "reporting": { + "min": 30, + "max": 900, + "change": 1e-06, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -386,6 +448,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -480,22 +543,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 35, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "35:0x0500", - "unique_id": "ab:cd:ef:12:18:f2:e7:e6:35:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:18:f2:e7:e6", "endpoint_id": 35, "available": true, @@ -523,22 +570,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 35, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "35:0x0500", - "unique_id": "ab:cd:ef:12:18:f2:e7:e6:35:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:18:f2:e7:e6", "endpoint_id": 35, "available": true, @@ -566,22 +597,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 35, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "35:0x0500", - "unique_id": "ab:cd:ef:12:18:f2:e7:e6:35:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:18:f2:e7:e6", "endpoint_id": 35, "available": true, @@ -609,22 +624,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 46, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "46:0x0500", - "unique_id": "ab:cd:ef:12:18:f2:e7:e6:46:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:18:f2:e7:e6", "endpoint_id": 46, "available": true, @@ -654,22 +653,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 35, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "35:0x0003", - "unique_id": "ab:cd:ef:12:18:f2:e7:e6:35:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:18:f2:e7:e6", "endpoint_id": 35, "available": true, @@ -702,22 +685,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 35, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "35:0x0000", - "unique_id": "ab:cd:ef:12:18:f2:e7:e6:35:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:18:f2:e7:e6", "endpoint_id": 35, "available": true, @@ -746,22 +713,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 35, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "35:0x0000", - "unique_id": "ab:cd:ef:12:18:f2:e7:e6:35:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:18:f2:e7:e6", "endpoint_id": 35, "available": true, @@ -790,22 +741,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 35, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "35:0x0001", - "unique_id": "ab:cd:ef:12:18:f2:e7:e6:35:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:18:f2:e7:e6", "endpoint_id": 35, "available": true, @@ -842,22 +777,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 38, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "38:0x0402", - "unique_id": "ab:cd:ef:12:18:f2:e7:e6:38:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:18:f2:e7:e6", "endpoint_id": 38, "available": true, @@ -886,22 +805,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "CarbonMonoxideConcentrationClusterHandler", - "generic_id": "cluster_handler_0x040c", - "endpoint_id": 46, - "cluster": { - "id": 1036, - "name": "Carbon Monoxide (CO) Concentration", - "type": "server" - }, - "id": "46:0x040c", - "unique_id": "ab:cd:ef:12:18:f2:e7:e6:46:0x040c", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:18:f2:e7:e6", "endpoint_id": 46, "available": true, @@ -932,22 +835,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 35, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "35:0x0502", - "unique_id": "ab:cd:ef:12:18:f2:e7:e6:35:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:18:f2:e7:e6", "endpoint_id": 35, "available": true, @@ -978,22 +865,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 35, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "35:0x0019_client", - "unique_id": "ab:cd:ef:12:18:f2:e7:e6:35:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:18:f2:e7:e6", "endpoint_id": 35, "available": true, diff --git a/tests/data/devices/frient-a-s-sirzb-111.json b/tests/data/devices/frient-a-s-sirzb-111.json index dd19cc1a8..dc6c3d7c1 100644 --- a/tests/data/devices/frient-a-s-sirzb-111.json +++ b/tests/data/devices/frient-a-s-sirzb-111.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:bc:00:41:00:6f:8e", "nwk": "0x7FDB", "manufacturer": "frient A/S", @@ -44,11 +44,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -64,6 +66,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -82,6 +85,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -93,7 +97,13 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 10 + "value": 10, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -117,23 +127,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -173,6 +192,7 @@ { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", + "bind": "SUCCESS", "attributes": [] } ], @@ -180,16 +200,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -212,6 +235,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -289,22 +313,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 43, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "43:0x0003", - "unique_id": "00:15:bc:00:41:00:6f:8e:43:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:41:00:6f:8e", "endpoint_id": 43, "available": true, @@ -337,22 +345,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 43, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "43:0x0502", - "unique_id": "00:15:bc:00:41:00:6f:8e:43:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:41:00:6f:8e", "endpoint_id": 43, "available": true, @@ -386,22 +378,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 43, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "43:0x0502", - "unique_id": "00:15:bc:00:41:00:6f:8e:43:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:41:00:6f:8e", "endpoint_id": 43, "available": true, @@ -433,22 +409,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 43, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "43:0x0502", - "unique_id": "00:15:bc:00:41:00:6f:8e:43:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:41:00:6f:8e", "endpoint_id": 43, "available": true, @@ -482,22 +442,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 43, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "43:0x0502", - "unique_id": "00:15:bc:00:41:00:6f:8e:43:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:41:00:6f:8e", "endpoint_id": 43, "available": true, @@ -536,22 +480,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 43, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "43:0x0000", - "unique_id": "00:15:bc:00:41:00:6f:8e:43:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:41:00:6f:8e", "endpoint_id": 43, "available": true, @@ -580,22 +508,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 43, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "43:0x0000", - "unique_id": "00:15:bc:00:41:00:6f:8e:43:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:41:00:6f:8e", "endpoint_id": 43, "available": true, @@ -624,22 +536,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 43, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "43:0x0001", - "unique_id": "00:15:bc:00:41:00:6f:8e:43:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:15:bc:00:41:00:6f:8e", "endpoint_id": 43, "available": true, @@ -670,22 +566,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 43, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "43:0x0502", - "unique_id": "00:15:bc:00:41:00:6f:8e:43:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:41:00:6f:8e", "endpoint_id": 43, "available": true, @@ -723,22 +603,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 43, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "43:0x0019_client", - "unique_id": "00:15:bc:00:41:00:6f:8e:43:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:41:00:6f:8e", "endpoint_id": 43, "available": true, diff --git a/tests/data/devices/frient-a-s-smszb-120.json b/tests/data/devices/frient-a-s-smszb-120.json index 27a28c73b..e7a808b9d 100644 --- a/tests/data/devices/frient-a-s-smszb-120.json +++ b/tests/data/devices/frient-a-s-smszb-120.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:bc:00:31:01:f8:92", "nwk": "0x614F", "manufacturer": "frient A/S", @@ -46,16 +46,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -71,6 +74,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -89,6 +93,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -100,7 +105,13 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 150 + "value": 150, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -118,24 +129,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29 + "value": 29, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x006f", @@ -148,6 +173,7 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -160,6 +186,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -199,6 +226,7 @@ { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", + "bind": "SUCCESS", "attributes": [] } ], @@ -206,11 +234,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -232,22 +262,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2281 + "value": 2281, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] } @@ -256,6 +295,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -338,22 +378,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 35, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "35:0x0500", - "unique_id": "00:15:bc:00:31:01:f8:92:35:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:31:01:f8:92", "endpoint_id": 35, "available": true, @@ -383,22 +407,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 35, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "35:0x0003", - "unique_id": "00:15:bc:00:31:01:f8:92:35:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:31:01:f8:92", "endpoint_id": 35, "available": true, @@ -431,22 +439,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 35, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "35:0x0000", - "unique_id": "00:15:bc:00:31:01:f8:92:35:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:31:01:f8:92", "endpoint_id": 35, "available": true, @@ -475,22 +467,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 35, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "35:0x0000", - "unique_id": "00:15:bc:00:31:01:f8:92:35:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:31:01:f8:92", "endpoint_id": 35, "available": true, @@ -519,22 +495,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 35, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "35:0x0001", - "unique_id": "00:15:bc:00:31:01:f8:92:35:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:15:bc:00:31:01:f8:92", "endpoint_id": 35, "available": true, @@ -571,22 +531,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 38, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "38:0x0402", - "unique_id": "00:15:bc:00:31:01:f8:92:38:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:15:bc:00:31:01:f8:92", "endpoint_id": 38, "available": true, @@ -617,22 +561,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 35, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "35:0x0502", - "unique_id": "00:15:bc:00:31:01:f8:92:35:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:31:01:f8:92", "endpoint_id": 35, "available": true, @@ -663,22 +591,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 35, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "35:0x0019_client", - "unique_id": "00:15:bc:00:31:01:f8:92:35:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:31:01:f8:92", "endpoint_id": 35, "available": true, diff --git a/tests/data/devices/frient-a-s-splzb-141.json b/tests/data/devices/frient-a-s-splzb-141.json index ee19b6ec7..9f98fa656 100644 --- a/tests/data/devices/frient-a-s-splzb-141.json +++ b/tests/data/devices/frient-a-s-splzb-141.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:bc:00:2f:02:19:79", "nwk": "0x3E8F", "manufacturer": "frient A/S", @@ -44,11 +44,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -64,6 +66,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -82,39 +85,56 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 32 + "value": 32, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -127,59 +147,109 @@ { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 41 + "value": 41, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -197,7 +267,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 2 + "value": 2, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -215,7 +291,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -234,24 +316,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 59986 + "value": 59986, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -275,31 +376,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 2 + "value": 2, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -323,19 +454,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -347,7 +604,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -371,13 +634,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 37 + "value": 37, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -401,19 +676,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12308 + "value": 12308, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -437,19 +730,44 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -457,16 +775,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -479,6 +800,7 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -494,6 +816,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -576,22 +899,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 2, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "2:0x0003", - "unique_id": "00:15:bc:00:2f:02:19:79:2:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:2f:02:19:79", "endpoint_id": 2, "available": true, @@ -624,22 +931,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 2, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "2:0x0000", - "unique_id": "00:15:bc:00:2f:02:19:79:2:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:2f:02:19:79", "endpoint_id": 2, "available": true, @@ -668,22 +959,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 2, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "2:0x0000", - "unique_id": "00:15:bc:00:2f:02:19:79:2:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:2f:02:19:79", "endpoint_id": 2, "available": true, @@ -712,22 +987,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 2, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "2:0x0702", - "unique_id": "00:15:bc:00:2f:02:19:79:2:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "00:15:bc:00:2f:02:19:79", "endpoint_id": 2, "available": true, @@ -764,22 +1023,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 2, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "2:0x0702", - "unique_id": "00:15:bc:00:2f:02:19:79:2:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "00:15:bc:00:2f:02:19:79", "endpoint_id": 2, "available": true, @@ -816,22 +1059,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 2, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "2:0x0002", - "unique_id": "00:15:bc:00:2f:02:19:79:2:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "00:15:bc:00:2f:02:19:79", "endpoint_id": 2, "available": true, @@ -860,22 +1087,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "00:15:bc:00:2f:02:19:79:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:15:bc:00:2f:02:19:79", "endpoint_id": 2, "available": true, @@ -909,22 +1120,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "00:15:bc:00:2f:02:19:79:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:15:bc:00:2f:02:19:79", "endpoint_id": 2, "available": true, @@ -958,22 +1153,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "00:15:bc:00:2f:02:19:79:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:15:bc:00:2f:02:19:79", "endpoint_id": 2, "available": true, @@ -1008,22 +1187,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "00:15:bc:00:2f:02:19:79:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:15:bc:00:2f:02:19:79", "endpoint_id": 2, "available": true, @@ -1060,22 +1223,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "00:15:bc:00:2f:02:19:79:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:15:bc:00:2f:02:19:79", "endpoint_id": 2, "available": true, @@ -1104,22 +1251,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 2, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "2:0x0019_client", - "unique_id": "00:15:bc:00:2f:02:19:79:2:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:2f:02:19:79", "endpoint_id": 2, "available": true, diff --git a/tests/data/devices/frient-a-s-wiszb-131.json b/tests/data/devices/frient-a-s-wiszb-131.json index f9dfd8d09..39a992408 100644 --- a/tests/data/devices/frient-a-s-wiszb-131.json +++ b/tests/data/devices/frient-a-s-wiszb-131.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:bc:00:44:01:11:f9", "nwk": "0x336F", "manufacturer": "frient A/S", @@ -44,11 +44,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -64,6 +66,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -82,6 +85,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -93,7 +97,13 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 180 + "value": 180, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -111,24 +121,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29 + "value": 29, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0067", @@ -147,6 +171,7 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -159,6 +184,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -198,6 +224,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -205,11 +232,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -231,22 +260,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2012 + "value": 2012, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] } @@ -255,6 +293,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -336,22 +375,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 35, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "35:0x0500", - "unique_id": "00:15:bc:00:44:01:11:f9:35:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:44:01:11:f9", "endpoint_id": 35, "available": true, @@ -379,22 +402,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 35, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "35:0x0500", - "unique_id": "00:15:bc:00:44:01:11:f9:35:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:44:01:11:f9", "endpoint_id": 35, "available": true, @@ -424,22 +431,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 35, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "35:0x0003", - "unique_id": "00:15:bc:00:44:01:11:f9:35:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:44:01:11:f9", "endpoint_id": 35, "available": true, @@ -472,22 +463,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 35, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "35:0x0000", - "unique_id": "00:15:bc:00:44:01:11:f9:35:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:44:01:11:f9", "endpoint_id": 35, "available": true, @@ -516,22 +491,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 35, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "35:0x0000", - "unique_id": "00:15:bc:00:44:01:11:f9:35:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:44:01:11:f9", "endpoint_id": 35, "available": true, @@ -560,22 +519,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 35, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "35:0x0001", - "unique_id": "00:15:bc:00:44:01:11:f9:35:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:15:bc:00:44:01:11:f9", "endpoint_id": 35, "available": true, @@ -612,22 +555,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 38, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "38:0x0402", - "unique_id": "00:15:bc:00:44:01:11:f9:38:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:15:bc:00:44:01:11:f9", "endpoint_id": 38, "available": true, @@ -658,22 +585,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 35, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "35:0x0019_client", - "unique_id": "00:15:bc:00:44:01:11:f9:35:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:bc:00:44:01:11:f9", "endpoint_id": 35, "available": true, diff --git a/tests/data/devices/generic-zigbee-coordinator-ezsp.json b/tests/data/devices/generic-zigbee-coordinator-ezsp.json index 8c8482b7a..cff50bad0 100644 --- a/tests/data/devices/generic-zigbee-coordinator-ezsp.json +++ b/tests/data/devices/generic-zigbee-coordinator-ezsp.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:90:34:24:63", "nwk": "0x0000", "manufacturer": "", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0501", "endpoint_attribute": "ias_ace", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -84,21 +89,25 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -113,6 +122,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/gledopto-gl-b-008p.json b/tests/data/devices/gledopto-gl-b-008p.json index 4201f42ec..7cc757116 100644 --- a/tests/data/devices/gledopto-gl-b-008p.json +++ b/tests/data/devices/gledopto-gl-b-008p.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "68:0a:e2:ff:fe:d6:1e:ab", "nwk": "0x92D1", "manufacturer": "GLEDOPTO", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -92,27 +93,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -125,12 +136,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -173,6 +191,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -208,7 +227,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 158 + "value": 158, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -226,13 +251,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 17623 + "value": 17623, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 43739 + "value": 43739, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -257,6 +294,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -264,6 +302,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -286,6 +325,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -354,22 +394,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "68:0a:e2:ff:fe:d6:1e:ab:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "68:0a:e2:ff:fe:d6:1e:ab", "endpoint_id": 11, "available": true, @@ -402,50 +426,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "68:0a:e2:ff:fe:d6:1e:ab:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "68:0a:e2:ff:fe:d6:1e:ab:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "68:0a:e2:ff:fe:d6:1e:ab:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "68:0a:e2:ff:fe:d6:1e:ab", "endpoint_id": 11, "available": true, @@ -506,22 +486,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "68:0a:e2:ff:fe:d6:1e:ab:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "68:0a:e2:ff:fe:d6:1e:ab", "endpoint_id": 11, "available": true, @@ -553,22 +517,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "68:0a:e2:ff:fe:d6:1e:ab:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "68:0a:e2:ff:fe:d6:1e:ab", "endpoint_id": 11, "available": true, @@ -602,22 +550,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "68:0a:e2:ff:fe:d6:1e:ab:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "68:0a:e2:ff:fe:d6:1e:ab", "endpoint_id": 11, "available": true, @@ -653,22 +585,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "68:0a:e2:ff:fe:d6:1e:ab:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "68:0a:e2:ff:fe:d6:1e:ab", "endpoint_id": 11, "available": true, @@ -697,22 +613,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "68:0a:e2:ff:fe:d6:1e:ab:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "68:0a:e2:ff:fe:d6:1e:ab", "endpoint_id": 11, "available": true, @@ -743,22 +643,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "68:0a:e2:ff:fe:d6:1e:ab:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "68:0a:e2:ff:fe:d6:1e:ab", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/gledopto-gl-b-008z.json b/tests/data/devices/gledopto-gl-b-008z.json index 59c943653..1d3af8de8 100644 --- a/tests/data/devices/gledopto-gl-b-008z.json +++ b/tests/data/devices/gledopto-gl-b-008z.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:80:5a:bb:1b", "nwk": "0x0A04", "manufacturer": "GLEDOPTO", @@ -44,32 +44,43 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -82,12 +93,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -130,6 +148,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -165,7 +184,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500 + "value": 500, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -183,13 +208,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 12480 + "value": 12480, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 47190 + "value": 47190, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -267,22 +304,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "ab:cd:ef:12:80:5a:bb:1b:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:80:5a:bb:1b", "endpoint_id": 11, "available": true, @@ -315,50 +336,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:80:5a:bb:1b:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:80:5a:bb:1b:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "ab:cd:ef:12:80:5a:bb:1b:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:80:5a:bb:1b", "endpoint_id": 11, "available": true, @@ -419,22 +396,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:80:5a:bb:1b:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:80:5a:bb:1b", "endpoint_id": 11, "available": true, @@ -463,22 +424,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:80:5a:bb:1b:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:80:5a:bb:1b", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/gledopto-gl-c-009p.json b/tests/data/devices/gledopto-gl-c-009p.json index 41c3dc668..cd352d109 100644 --- a/tests/data/devices/gledopto-gl-c-009p.json +++ b/tests/data/devices/gledopto-gl-c-009p.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:8c:97:e8:62", "nwk": "0x26A7", "manufacturer": "GLEDOPTO", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 166 + "value": 166, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -150,6 +169,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -217,22 +237,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "ab:cd:ef:12:8c:97:e8:62:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:97:e8:62", "endpoint_id": 11, "available": true, @@ -265,36 +269,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:8c:97:e8:62:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:8c:97:e8:62:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:8c:97:e8:62", "endpoint_id": 11, "available": true, @@ -348,22 +322,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:8c:97:e8:62:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:8c:97:e8:62", "endpoint_id": 11, "available": true, @@ -397,22 +355,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:8c:97:e8:62:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:8c:97:e8:62", "endpoint_id": 11, "available": true, @@ -448,22 +390,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:8c:97:e8:62:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:97:e8:62", "endpoint_id": 11, "available": true, @@ -492,22 +418,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:8c:97:e8:62:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:97:e8:62", "endpoint_id": 11, "available": true, @@ -538,22 +448,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "ab:cd:ef:12:8c:97:e8:62:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:97:e8:62", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/gledpopto-gl-c-007p.json b/tests/data/devices/gledpopto-gl-c-007p.json index 7c82bcf6f..a10554567 100644 --- a/tests/data/devices/gledpopto-gl-c-007p.json +++ b/tests/data/devices/gledpopto-gl-c-007p.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ce:0d:48:29", "nwk": "0x57B2", "manufacturer": "GLEDPOPTO", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0014", @@ -74,11 +75,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -97,11 +100,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -113,7 +118,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -132,12 +143,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 211 + "value": 211, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -180,6 +198,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -215,7 +234,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 495 + "value": 495, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0006", @@ -239,13 +264,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 17623 + "value": 17623, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 43739 + "value": 43739, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -276,6 +313,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -283,6 +321,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -298,6 +337,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -366,22 +406,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "ab:cd:ef:12:ce:0d:48:29:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:0d:48:29", "endpoint_id": 11, "available": true, @@ -414,50 +438,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:ce:0d:48:29:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:ce:0d:48:29:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "ab:cd:ef:12:ce:0d:48:29:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:ce:0d:48:29", "endpoint_id": 11, "available": true, @@ -518,22 +498,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "ab:cd:ef:12:ce:0d:48:29:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:ce:0d:48:29", "endpoint_id": 11, "available": true, @@ -565,22 +529,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:ce:0d:48:29:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:ce:0d:48:29", "endpoint_id": 11, "available": true, @@ -614,22 +562,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:ce:0d:48:29:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ce:0d:48:29", "endpoint_id": 11, "available": true, @@ -665,22 +597,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:ce:0d:48:29:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:0d:48:29", "endpoint_id": 11, "available": true, @@ -709,22 +625,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:ce:0d:48:29:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:0d:48:29", "endpoint_id": 11, "available": true, @@ -755,22 +655,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "ab:cd:ef:12:ce:0d:48:29:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:0d:48:29", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/handshake-finland-agge-zigbee-smart-rotary-dimmer.json b/tests/data/devices/handshake-finland-agge-zigbee-smart-rotary-dimmer.json index 1c92c926f..ef34f60c9 100644 --- a/tests/data/devices/handshake-finland-agge-zigbee-smart-rotary-dimmer.json +++ b/tests/data/devices/handshake-finland-agge-zigbee-smart-rotary-dimmer.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:45:62:b6:0e", "nwk": "0x5A2D", "manufacturer": "Handshake Finland", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,12 +112,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 137 + "value": 137, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -149,11 +167,13 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -161,6 +181,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -183,6 +204,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -251,22 +273,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:45:62:b6:0e:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:45:62:b6:0e", "endpoint_id": 1, "available": true, @@ -299,36 +305,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:45:62:b6:0e:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:45:62:b6:0e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:45:62:b6:0e", "endpoint_id": 1, "available": true, @@ -382,22 +358,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:45:62:b6:0e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:45:62:b6:0e", "endpoint_id": 1, "available": true, @@ -431,22 +391,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:45:62:b6:0e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:45:62:b6:0e", "endpoint_id": 1, "available": true, @@ -475,22 +419,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:45:62:b6:0e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:45:62:b6:0e", "endpoint_id": 1, "available": true, @@ -521,22 +449,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:45:62:b6:0e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:45:62:b6:0e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/heiman-smokesensor-em.json b/tests/data/devices/heiman-smokesensor-em.json index 12e3611b6..d1db42b91 100644 --- a/tests/data/devices/heiman-smokesensor-em.json +++ b/tests/data/devices/heiman-smokesensor-em.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:5b:49:00:53", "nwk": "0x0ED6", "manufacturer": "HEIMAN", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 32 + "value": 32, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -138,6 +154,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -195,22 +212,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:5b:49:00:53:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5b:49:00:53", "endpoint_id": 1, "available": true, @@ -240,22 +241,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:5b:49:00:53:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5b:49:00:53", "endpoint_id": 1, "available": true, @@ -288,22 +273,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5b:49:00:53:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5b:49:00:53", "endpoint_id": 1, "available": true, @@ -332,22 +301,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5b:49:00:53:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5b:49:00:53", "endpoint_id": 1, "available": true, @@ -376,22 +329,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:5b:49:00:53:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:5b:49:00:53", "endpoint_id": 1, "available": true, @@ -428,22 +365,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:5b:49:00:53:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5b:49:00:53", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/hive-mbr1.json b/tests/data/devices/hive-mbr1.json index fa47ba913..fa722873c 100644 --- a/tests/data/devices/hive-mbr1.json +++ b/tests/data/devices/hive-mbr1.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:1c:d0:af:c8", "nwk": "0xBE3E", "manufacturer": "Hive", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -128,11 +129,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe00", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -140,31 +143,37 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0015", "endpoint_attribute": "commissioning", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -198,36 +207,43 @@ { "cluster_id": "0xfe01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe02", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe03", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe04", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe05", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe06", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe07", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -243,36 +259,43 @@ { "cluster_id": "0xfe01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe02", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe03", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe04", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe05", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe06", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe07", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -288,36 +311,43 @@ { "cluster_id": "0xfe01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe02", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe03", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe04", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe05", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe06", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe07", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -333,36 +363,43 @@ { "cluster_id": "0xfe01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe02", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe03", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe04", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe05", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe06", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe07", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -480,22 +517,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:1c:d0:af:c8:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1c:d0:af:c8", "endpoint_id": 1, "available": true, @@ -528,22 +549,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1c:d0:af:c8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1c:d0:af:c8", "endpoint_id": 1, "available": true, @@ -572,22 +577,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1c:d0:af:c8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1c:d0:af:c8", "endpoint_id": 1, "available": true, @@ -618,22 +607,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:1c:d0:af:c8:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1c:d0:af:c8", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/hobeian-zg-101zl.json b/tests/data/devices/hobeian-zg-101zl.json index fce7037d4..e95efd7b5 100644 --- a/tests/data/devices/hobeian-zg-101zl.json +++ b/tests/data/devices/hobeian-zg-101zl.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:41:15:95:9c", "nwk": "0x0224", "manufacturer": "HOBEIAN", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -110,12 +111,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -133,7 +141,13 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0xfffd", @@ -146,6 +160,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -164,6 +179,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -182,6 +198,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -205,7 +222,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -224,11 +247,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -236,6 +261,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -254,6 +280,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -272,6 +299,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -314,16 +342,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -336,6 +367,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -401,22 +433,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:41:15:95:9c:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:41:15:95:9c", "endpoint_id": 1, "available": true, @@ -449,22 +465,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:41:15:95:9c:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:41:15:95:9c", "endpoint_id": 1, "available": true, @@ -500,22 +500,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:41:15:95:9c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:41:15:95:9c", "endpoint_id": 1, "available": true, @@ -544,22 +528,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:41:15:95:9c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:41:15:95:9c", "endpoint_id": 1, "available": true, @@ -588,22 +556,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:41:15:95:9c:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:41:15:95:9c", "endpoint_id": 1, "available": true, @@ -640,22 +592,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:41:15:95:9c:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:41:15:95:9c", "endpoint_id": 1, "available": true, @@ -684,22 +620,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:41:15:95:9c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:41:15:95:9c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/hobeian-zg-102zm.json b/tests/data/devices/hobeian-zg-102zm.json index a1e69f758..d49eb4d39 100644 --- a/tests/data/devices/hobeian-zg-102zm.json +++ b/tests/data/devices/hobeian-zg-102zm.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:be:26:37:f4", "nwk": "0xCEF6", "manufacturer": "HOBEIAN", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -136,6 +152,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -192,22 +209,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:be:26:37:f4:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:be:26:37:f4", "endpoint_id": 1, "available": true, @@ -237,22 +238,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:be:26:37:f4:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:be:26:37:f4", "endpoint_id": 1, "available": true, @@ -285,22 +270,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:be:26:37:f4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:be:26:37:f4", "endpoint_id": 1, "available": true, @@ -329,22 +298,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:be:26:37:f4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:be:26:37:f4", "endpoint_id": 1, "available": true, @@ -373,22 +326,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:be:26:37:f4:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:be:26:37:f4", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/hobeian-zg-204zv.json b/tests/data/devices/hobeian-zg-204zv.json index 8427b091f..dfce85758 100644 --- a/tests/data/devices/hobeian-zg-204zv.json +++ b/tests/data/devices/hobeian-zg-204zv.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d9:4b:d8:42", "nwk": "0xAF28", "manufacturer": "HOBEIAN", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,54 +93,83 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 31688 + "value": 31688, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2330 + "value": 2330, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4130 + "value": 4130, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -172,6 +209,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -179,6 +217,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -239,22 +278,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:d9:4b:d8:42:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:4b:d8:42", "endpoint_id": 1, "available": true, @@ -284,22 +307,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:d9:4b:d8:42:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:4b:d8:42", "endpoint_id": 1, "available": true, @@ -332,22 +339,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d9:4b:d8:42:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:4b:d8:42", "endpoint_id": 1, "available": true, @@ -376,22 +367,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d9:4b:d8:42:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:4b:d8:42", "endpoint_id": 1, "available": true, @@ -420,22 +395,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:d9:4b:d8:42:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:d9:4b:d8:42", "endpoint_id": 1, "available": true, @@ -470,22 +429,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:d9:4b:d8:42:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:d9:4b:d8:42", "endpoint_id": 1, "available": true, @@ -514,22 +457,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:d9:4b:d8:42:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:d9:4b:d8:42", "endpoint_id": 1, "available": true, @@ -558,22 +485,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:d9:4b:d8:42:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:d9:4b:d8:42", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/homr-hrmsn01.json b/tests/data/devices/homr-hrmsn01.json index 317046451..e85b9b9d7 100644 --- a/tests/data/devices/homr-hrmsn01.json +++ b/tests/data/devices/homr-hrmsn01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "f4:ce:36:f8:ec:e4:c3:5d", "nwk": "0x95C0", "manufacturer": "Homr", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,71 +63,108 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2400 + "value": 2400, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0403", "endpoint_attribute": "pressure", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 997 + "value": 997, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4178 + "value": 4178, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", + "bind": "SUCCESS", "attributes": [] } ], @@ -134,6 +172,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -148,6 +187,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -155,6 +195,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -169,32 +210,43 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -207,12 +259,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 255 + "value": 255, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -255,6 +314,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -290,7 +350,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -308,13 +374,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -341,6 +419,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -427,22 +506,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "f4:ce:36:f8:ec:e4:c3:5d:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "f4:ce:36:f8:ec:e4:c3:5d", "endpoint_id": 1, "available": true, @@ -472,22 +535,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "f4:ce:36:f8:ec:e4:c3:5d:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:ce:36:f8:ec:e4:c3:5d", "endpoint_id": 1, "available": true, @@ -520,50 +567,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 10, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "10:0x0006", - "unique_id": "f4:ce:36:f8:ec:e4:c3:5d:10:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 10, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "10:0x0008", - "unique_id": "f4:ce:36:f8:ec:e4:c3:5d:10:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 10, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "10:0x0300", - "unique_id": "f4:ce:36:f8:ec:e4:c3:5d:10:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "f4:ce:36:f8:ec:e4:c3:5d", "endpoint_id": 10, "available": true, @@ -622,22 +625,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 10, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "10:0x0300", - "unique_id": "f4:ce:36:f8:ec:e4:c3:5d:10:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "f4:ce:36:f8:ec:e4:c3:5d", "endpoint_id": 10, "available": true, @@ -671,22 +658,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 1, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "1:0x0502", - "unique_id": "f4:ce:36:f8:ec:e4:c3:5d:1:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:ce:36:f8:ec:e4:c3:5d", "endpoint_id": 1, "available": true, @@ -720,22 +691,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 1, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "1:0x0502", - "unique_id": "f4:ce:36:f8:ec:e4:c3:5d:1:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:ce:36:f8:ec:e4:c3:5d", "endpoint_id": 1, "available": true, @@ -767,22 +722,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 1, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "1:0x0502", - "unique_id": "f4:ce:36:f8:ec:e4:c3:5d:1:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:ce:36:f8:ec:e4:c3:5d", "endpoint_id": 1, "available": true, @@ -816,22 +755,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 1, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "1:0x0502", - "unique_id": "f4:ce:36:f8:ec:e4:c3:5d:1:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:ce:36:f8:ec:e4:c3:5d", "endpoint_id": 1, "available": true, @@ -870,22 +793,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "f4:ce:36:f8:ec:e4:c3:5d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:ce:36:f8:ec:e4:c3:5d", "endpoint_id": 1, "available": true, @@ -914,22 +821,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "f4:ce:36:f8:ec:e4:c3:5d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:ce:36:f8:ec:e4:c3:5d", "endpoint_id": 1, "available": true, @@ -958,22 +849,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "f4:ce:36:f8:ec:e4:c3:5d:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "f4:ce:36:f8:ec:e4:c3:5d", "endpoint_id": 1, "available": true, @@ -1002,22 +877,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "f4:ce:36:f8:ec:e4:c3:5d:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "f4:ce:36:f8:ec:e4:c3:5d", "endpoint_id": 1, "available": true, @@ -1046,22 +905,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PressureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0403", - "endpoint_id": 1, - "cluster": { - "id": 1027, - "name": "Pressure Measurement", - "type": "server" - }, - "id": "1:0x0403", - "unique_id": "f4:ce:36:f8:ec:e4:c3:5d:1:0x0403", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "f4:ce:36:f8:ec:e4:c3:5d", "endpoint_id": 1, "available": true, @@ -1090,22 +933,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "f4:ce:36:f8:ec:e4:c3:5d:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "f4:ce:36:f8:ec:e4:c3:5d", "endpoint_id": 1, "available": true, @@ -1136,22 +963,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 1, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "1:0x0502", - "unique_id": "f4:ce:36:f8:ec:e4:c3:5d:1:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:ce:36:f8:ec:e4:c3:5d", "endpoint_id": 1, "available": true, @@ -1189,22 +1000,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 5, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "5:0x0019_client", - "unique_id": "f4:ce:36:f8:ec:e4:c3:5d:5:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:ce:36:f8:ec:e4:c3:5d", "endpoint_id": 5, "available": true, diff --git a/tests/data/devices/horn-zone-haier-hs-22zw-0000011216.json b/tests/data/devices/horn-zone-haier-hs-22zw-0000011216.json index 986d0cc0d..97c78f751 100644 --- a/tests/data/devices/horn-zone-haier-hs-22zw-0000011216.json +++ b/tests/data/devices/horn-zone-haier-hs-22zw-0000011216.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e2:16:2d:16", "nwk": "0x9E37", "manufacturer": "HORN-ZONE-HAIER ", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -69,6 +71,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -136,22 +139,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:e2:16:2d:16:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e2:16:2d:16", "endpoint_id": 1, "available": true, @@ -181,22 +168,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:e2:16:2d:16:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e2:16:2d:16", "endpoint_id": 1, "available": true, @@ -229,22 +200,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e2:16:2d:16:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e2:16:2d:16", "endpoint_id": 1, "available": true, @@ -273,22 +228,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e2:16:2d:16:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e2:16:2d:16", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-badring-water-leakage-sensor.json b/tests/data/devices/ikea-of-sweden-badring-water-leakage-sensor.json index 4573d8a48..9108c7c76 100644 --- a/tests/data/devices/ikea-of-sweden-badring-water-leakage-sensor.json +++ b/tests/data/devices/ikea-of-sweden-badring-water-leakage-sensor.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:81:d7:c3:57", "nwk": "0x92DD", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 15 + "value": 15, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -109,6 +125,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -148,16 +165,19 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc81", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -165,16 +185,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -244,22 +267,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:81:d7:c3:57:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:d7:c3:57", "endpoint_id": 1, "available": true, @@ -289,22 +296,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:81:d7:c3:57:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:d7:c3:57", "endpoint_id": 1, "available": true, @@ -337,22 +328,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:81:d7:c3:57:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:d7:c3:57", "endpoint_id": 1, "available": true, @@ -381,22 +356,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:81:d7:c3:57:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:d7:c3:57", "endpoint_id": 1, "available": true, @@ -425,22 +384,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:81:d7:c3:57:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:81:d7:c3:57", "endpoint_id": 1, "available": true, @@ -479,22 +422,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:81:d7:c3:57:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:d7:c3:57", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-fyrtur-block-out-roller-blind.json b/tests/data/devices/ikea-of-sweden-fyrtur-block-out-roller-blind.json index 2c350de63..a5739775d 100644 --- a/tests/data/devices/ikea-of-sweden-fyrtur-block-out-roller-blind.json +++ b/tests/data/devices/ikea-of-sweden-fyrtur-block-out-roller-blind.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "f4:b3:b1:ff:fe:8c:5a:5f", "nwk": "0xC976", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 154 + "value": 154, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,28 +99,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 76 + "value": 76, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,6 +143,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -136,13 +155,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -191,11 +222,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -203,6 +236,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -215,6 +249,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -277,22 +312,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "f4:b3:b1:ff:fe:8c:5a:5f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:b3:b1:ff:fe:8c:5a:5f", "endpoint_id": 1, "available": true, @@ -325,22 +344,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "f4:b3:b1:ff:fe:8c:5a:5f:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "f4:b3:b1:ff:fe:8c:5a:5f", "endpoint_id": 1, "available": true, @@ -375,22 +378,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "f4:b3:b1:ff:fe:8c:5a:5f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:b3:b1:ff:fe:8c:5a:5f", "endpoint_id": 1, "available": true, @@ -419,22 +406,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "f4:b3:b1:ff:fe:8c:5a:5f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:b3:b1:ff:fe:8c:5a:5f", "endpoint_id": 1, "available": true, @@ -463,22 +434,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "f4:b3:b1:ff:fe:8c:5a:5f:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "f4:b3:b1:ff:fe:8c:5a:5f", "endpoint_id": 1, "available": true, @@ -513,22 +468,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "f4:b3:b1:ff:fe:8c:5a:5f:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "f4:b3:b1:ff:fe:8c:5a:5f", "endpoint_id": 1, "available": true, @@ -559,22 +498,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "f4:b3:b1:ff:fe:8c:5a:5f:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "f4:b3:b1:ff:fe:8c:5a:5f", "endpoint_id": 1, "available": true, @@ -609,22 +532,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "f4:b3:b1:ff:fe:8c:5a:5f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:b3:b1:ff:fe:8c:5a:5f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-inspelning-smart-plug.json b/tests/data/devices/ikea-of-sweden-inspelning-smart-plug.json index 405dc461b..cd052a5c7 100644 --- a/tests/data/devices/ikea-of-sweden-inspelning-smart-plug.json +++ b/tests/data/devices/ikea-of-sweden-inspelning-smart-plug.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "d4:48:67:ff:fe:13:d6:f8", "nwk": "0x80A8", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,54 +106,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 2440 + "value": 2440, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -160,7 +220,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -178,7 +244,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -197,24 +269,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -238,31 +329,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -286,19 +407,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -310,7 +557,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -334,13 +587,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 7 + "value": 7, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -364,19 +629,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -400,29 +683,56 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc85", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -430,6 +740,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -451,6 +762,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -458,6 +770,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -530,22 +843,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "d4:48:67:ff:fe:13:d6:f8:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "d4:48:67:ff:fe:13:d6:f8", "endpoint_id": 1, "available": true, @@ -578,22 +875,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "d4:48:67:ff:fe:13:d6:f8:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "d4:48:67:ff:fe:13:d6:f8", "endpoint_id": 1, "available": true, @@ -629,22 +910,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "d4:48:67:ff:fe:13:d6:f8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "d4:48:67:ff:fe:13:d6:f8", "endpoint_id": 1, "available": true, @@ -673,22 +938,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "d4:48:67:ff:fe:13:d6:f8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "d4:48:67:ff:fe:13:d6:f8", "endpoint_id": 1, "available": true, @@ -717,22 +966,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "d4:48:67:ff:fe:13:d6:f8:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "d4:48:67:ff:fe:13:d6:f8", "endpoint_id": 1, "available": true, @@ -769,22 +1002,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "d4:48:67:ff:fe:13:d6:f8:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "d4:48:67:ff:fe:13:d6:f8", "endpoint_id": 1, "available": true, @@ -818,22 +1035,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "d4:48:67:ff:fe:13:d6:f8:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "d4:48:67:ff:fe:13:d6:f8", "endpoint_id": 1, "available": true, @@ -867,22 +1068,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "d4:48:67:ff:fe:13:d6:f8:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "d4:48:67:ff:fe:13:d6:f8", "endpoint_id": 1, "available": true, @@ -918,22 +1103,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "d4:48:67:ff:fe:13:d6:f8:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "d4:48:67:ff:fe:13:d6:f8", "endpoint_id": 1, "available": true, @@ -960,22 +1129,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfc85", - "endpoint_id": 1, - "cluster": { - "id": 64645, - "name": "IkeaSmartPlugCluster", - "type": "server" - }, - "id": "1:0xfc85", - "unique_id": "d4:48:67:ff:fe:13:d6:f8:1:0xfc85", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "d4:48:67:ff:fe:13:d6:f8", "endpoint_id": 1, "available": true, @@ -1008,22 +1161,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfc85", - "endpoint_id": 1, - "cluster": { - "id": 64645, - "name": "IkeaSmartPlugCluster", - "type": "server" - }, - "id": "1:0xfc85", - "unique_id": "d4:48:67:ff:fe:13:d6:f8:1:0xfc85", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "d4:48:67:ff:fe:13:d6:f8", "endpoint_id": 1, "available": true, @@ -1058,22 +1195,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "d4:48:67:ff:fe:13:d6:f8:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "d4:48:67:ff:fe:13:d6:f8", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-ormanas-led-strip.json b/tests/data/devices/ikea-of-sweden-ormanas-led-strip.json index 56adae471..f9d6d7211 100644 --- a/tests/data/devices/ikea-of-sweden-ormanas-led-strip.json +++ b/tests/data/devices/ikea-of-sweden-ormanas-led-strip.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:96:7e:63:8a", "nwk": "0x9812", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -86,16 +87,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -108,12 +112,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -132,6 +143,7 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0004", @@ -143,7 +155,13 @@ "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 56 + "value": 56, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -186,6 +204,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -227,7 +246,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 264 + "value": 264, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -245,13 +270,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 21167 + "value": 21167, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 21561 + "value": 21561, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -336,11 +373,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -348,6 +387,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -369,6 +409,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -376,6 +417,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -447,22 +489,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:96:7e:63:8a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:96:7e:63:8a", "endpoint_id": 1, "available": true, @@ -495,50 +521,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:96:7e:63:8a:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:96:7e:63:8a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:96:7e:63:8a:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:96:7e:63:8a", "endpoint_id": 1, "available": true, @@ -599,22 +581,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:96:7e:63:8a:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:96:7e:63:8a", "endpoint_id": 1, "available": true, @@ -646,22 +612,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:96:7e:63:8a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:96:7e:63:8a", "endpoint_id": 1, "available": true, @@ -693,22 +643,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:96:7e:63:8a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:96:7e:63:8a", "endpoint_id": 1, "available": true, @@ -740,22 +674,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:96:7e:63:8a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:96:7e:63:8a", "endpoint_id": 1, "available": true, @@ -789,22 +707,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:96:7e:63:8a:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:96:7e:63:8a", "endpoint_id": 1, "available": true, @@ -840,22 +742,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:96:7e:63:8a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:96:7e:63:8a", "endpoint_id": 1, "available": true, @@ -884,22 +770,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:96:7e:63:8a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:96:7e:63:8a", "endpoint_id": 1, "available": true, @@ -930,22 +800,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:96:7e:63:8a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:96:7e:63:8a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-parasoll-door-window-sensor.json b/tests/data/devices/ikea-of-sweden-parasoll-door-window-sensor.json index 77f33d378..e1f2c6d46 100644 --- a/tests/data/devices/ikea-of-sweden-parasoll-door-window-sensor.json +++ b/tests/data/devices/ikea-of-sweden-parasoll-door-window-sensor.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "04:87:27:ff:fe:4a:b3:25", "nwk": "0xD4C9", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 16 + "value": 16, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -109,21 +125,25 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc81", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -131,21 +151,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -158,6 +182,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -172,16 +197,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -223,6 +251,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -299,22 +328,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 2, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "2:0x0500", - "unique_id": "04:87:27:ff:fe:4a:b3:25:2:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:87:27:ff:fe:4a:b3:25", "endpoint_id": 2, "available": true, @@ -344,22 +357,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "04:87:27:ff:fe:4a:b3:25:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:87:27:ff:fe:4a:b3:25", "endpoint_id": 1, "available": true, @@ -392,22 +389,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "04:87:27:ff:fe:4a:b3:25:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:87:27:ff:fe:4a:b3:25", "endpoint_id": 1, "available": true, @@ -436,22 +417,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "04:87:27:ff:fe:4a:b3:25:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:87:27:ff:fe:4a:b3:25", "endpoint_id": 1, "available": true, @@ -480,22 +445,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "04:87:27:ff:fe:4a:b3:25:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "04:87:27:ff:fe:4a:b3:25", "endpoint_id": 1, "available": true, @@ -534,22 +483,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "04:87:27:ff:fe:4a:b3:25:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:87:27:ff:fe:4a:b3:25", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-praktlysing-cellular-blind.json b/tests/data/devices/ikea-of-sweden-praktlysing-cellular-blind.json index 944eeb744..41689c0a0 100644 --- a/tests/data/devices/ikea-of-sweden-praktlysing-cellular-blind.json +++ b/tests/data/devices/ikea-of-sweden-praktlysing-cellular-blind.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "bc:02:6e:ff:fe:5e:af:fd", "nwk": "0xE8FD", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 190 + "value": 190, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,23 +99,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 81 + "value": 81, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -126,6 +143,7 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -138,6 +156,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -149,13 +168,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -198,11 +229,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -210,6 +243,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -222,6 +256,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -284,22 +319,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "bc:02:6e:ff:fe:5e:af:fd:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "bc:02:6e:ff:fe:5e:af:fd", "endpoint_id": 1, "available": true, @@ -332,22 +351,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "bc:02:6e:ff:fe:5e:af:fd:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "bc:02:6e:ff:fe:5e:af:fd", "endpoint_id": 1, "available": true, @@ -382,22 +385,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "bc:02:6e:ff:fe:5e:af:fd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "bc:02:6e:ff:fe:5e:af:fd", "endpoint_id": 1, "available": true, @@ -426,22 +413,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "bc:02:6e:ff:fe:5e:af:fd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "bc:02:6e:ff:fe:5e:af:fd", "endpoint_id": 1, "available": true, @@ -470,22 +441,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "bc:02:6e:ff:fe:5e:af:fd:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "bc:02:6e:ff:fe:5e:af:fd", "endpoint_id": 1, "available": true, @@ -520,22 +475,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "bc:02:6e:ff:fe:5e:af:fd:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "bc:02:6e:ff:fe:5e:af:fd", "endpoint_id": 1, "available": true, @@ -566,22 +505,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "bc:02:6e:ff:fe:5e:af:fd:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "bc:02:6e:ff:fe:5e:af:fd", "endpoint_id": 1, "available": true, @@ -616,22 +539,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "bc:02:6e:ff:fe:5e:af:fd:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "bc:02:6e:ff:fe:5e:af:fd", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-remote-control-n2.json b/tests/data/devices/ikea-of-sweden-remote-control-n2.json index 700a8be91..e2e75740c 100644 --- a/tests/data/devices/ikea-of-sweden-remote-control-n2.json +++ b/tests/data/devices/ikea-of-sweden-remote-control-n2.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:6b:e7:d0:70", "nwk": "0x5815", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,7 +69,20 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0033", "name": "battery_quantity", @@ -86,27 +100,43 @@ "name": "battery_size", "zcl_type": "enum8", "value": 4 + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -114,31 +144,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -202,22 +238,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:6b:e7:d0:70:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6b:e7:d0:70", "endpoint_id": 1, "available": true, @@ -250,22 +270,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6b:e7:d0:70:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6b:e7:d0:70", "endpoint_id": 1, "available": true, @@ -294,22 +298,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6b:e7:d0:70:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6b:e7:d0:70", "endpoint_id": 1, "available": true, @@ -338,22 +326,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:6b:e7:d0:70:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:6b:e7:d0:70", "endpoint_id": 1, "available": true, @@ -391,22 +363,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:6b:e7:d0:70:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6b:e7:d0:70", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-rodret-dimmer.json b/tests/data/devices/ikea-of-sweden-rodret-dimmer.json index 550aa0bb7..2c456882a 100644 --- a/tests/data/devices/ikea-of-sweden-rodret-dimmer.json +++ b/tests/data/devices/ikea-of-sweden-rodret-dimmer.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "5c:c7:c1:ff:fe:cc:19:d9", "nwk": "0x92DB", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 156 + "value": 156, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,18 +99,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 12 + "value": 12, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -115,11 +131,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -127,26 +145,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -159,6 +182,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -222,22 +246,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "5c:c7:c1:ff:fe:cc:19:d9:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "5c:c7:c1:ff:fe:cc:19:d9", "endpoint_id": 1, "available": true, @@ -270,22 +278,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "5c:c7:c1:ff:fe:cc:19:d9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "5c:c7:c1:ff:fe:cc:19:d9", "endpoint_id": 1, "available": true, @@ -314,22 +306,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "5c:c7:c1:ff:fe:cc:19:d9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "5c:c7:c1:ff:fe:cc:19:d9", "endpoint_id": 1, "available": true, @@ -358,22 +334,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "5c:c7:c1:ff:fe:cc:19:d9:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "5c:c7:c1:ff:fe:cc:19:d9", "endpoint_id": 1, "available": true, @@ -412,22 +372,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "5c:c7:c1:ff:fe:cc:19:d9:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "5c:c7:c1:ff:fe:cc:19:d9", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-rodret-wireless-dimmer.json b/tests/data/devices/ikea-of-sweden-rodret-wireless-dimmer.json index 9a9d71900..8a5e95962 100644 --- a/tests/data/devices/ikea-of-sweden-rodret-wireless-dimmer.json +++ b/tests/data/devices/ikea-of-sweden-rodret-wireless-dimmer.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:07:f8:aa:b7", "nwk": "0xB599", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -74,12 +75,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -103,18 +111,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 15 + "value": 15, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -127,11 +143,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -139,26 +157,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -171,6 +194,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -235,22 +259,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:07:f8:aa:b7:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:07:f8:aa:b7", "endpoint_id": 1, "available": true, @@ -283,22 +291,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:07:f8:aa:b7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:07:f8:aa:b7", "endpoint_id": 1, "available": true, @@ -327,22 +319,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:07:f8:aa:b7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:07:f8:aa:b7", "endpoint_id": 1, "available": true, @@ -371,22 +347,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:07:f8:aa:b7:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:07:f8:aa:b7", "endpoint_id": 1, "available": true, @@ -425,22 +385,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:07:f8:aa:b7:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:07:f8:aa:b7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-somrig-shortcut-button.json b/tests/data/devices/ikea-of-sweden-somrig-shortcut-button.json index 2b7d59b07..52e7f021c 100644 --- a/tests/data/devices/ikea-of-sweden-somrig-shortcut-button.json +++ b/tests/data/devices/ikea-of-sweden-somrig-shortcut-button.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:6d:e6:02:47", "nwk": "0xDF5B", "manufacturer": "IKEA of Sweden", @@ -44,17 +44,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 168 + "value": 168, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -78,18 +86,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 13 + "value": 13, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -102,16 +118,19 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc80", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -119,26 +138,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -151,11 +175,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc80", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ] @@ -170,16 +196,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc80", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -187,26 +216,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc80", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ] @@ -290,22 +324,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:6d:e6:02:47:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6d:e6:02:47", "endpoint_id": 1, "available": true, @@ -338,22 +356,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6d:e6:02:47:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6d:e6:02:47", "endpoint_id": 1, "available": true, @@ -382,22 +384,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6d:e6:02:47:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6d:e6:02:47", "endpoint_id": 1, "available": true, @@ -426,22 +412,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:6d:e6:02:47:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:6d:e6:02:47", "endpoint_id": 1, "available": true, @@ -480,22 +450,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:6d:e6:02:47:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6d:e6:02:47", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-starkvind-air-purifier-table.json b/tests/data/devices/ikea-of-sweden-starkvind-air-purifier-table.json index 1ec2cf34f..59c17c04b 100644 --- a/tests/data/devices/ikea-of-sweden-starkvind-air-purifier-table.json +++ b/tests/data/devices/ikea-of-sweden-starkvind-air-purifier-table.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e0:99:45:a5", "nwk": "0x80D4", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -80,21 +81,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042a", "endpoint_attribute": "pm25", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -112,7 +117,13 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "single", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 0.1, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -137,70 +148,127 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7d", "endpoint_attribute": "ikea_airpurifier", + "bind": "SUCCESS", "attributes": [ { "id": "0x0004", "name": "air_quality_25pm", "zcl_type": "uint16", - "value": 65535 + "value": 65535, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0005", "name": "child_lock", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "device_run_time", "zcl_type": "uint32", - "value": 59343 + "value": 59343, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0003", "name": "disable_led", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0006", "name": "fan_mode", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "fan_speed", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0002", "name": "filter_life_time", "zcl_type": "uint32", - "value": 259200 + "value": 259200, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", "name": "filter_run_time", "zcl_type": "uint32", - "value": 59343 + "value": 59343, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "replace_filter", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -209,6 +277,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -239,6 +308,7 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -254,6 +324,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -324,22 +395,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IkeaAirPurifierClusterHandler", - "generic_id": "cluster_handler_0xfc7d", - "endpoint_id": 1, - "cluster": { - "id": 64637, - "name": "Ikea Airpurifier", - "type": "server" - }, - "id": "1:0xfc7d", - "unique_id": "ab:cd:ef:12:e0:99:45:a5:1:0xfc7d", - "status": "INITIALIZED", - "value_attribute": "filter_run_time" - } - ], "device_ieee": "ab:cd:ef:12:e0:99:45:a5", "endpoint_id": 1, "available": true, @@ -369,22 +424,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:e0:99:45:a5:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:99:45:a5", "endpoint_id": 1, "available": true, @@ -417,22 +456,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IkeaAirPurifierClusterHandler", - "generic_id": "cluster_handler_0xfc7d", - "endpoint_id": 1, - "cluster": { - "id": 64637, - "name": "Ikea Airpurifier", - "type": "server" - }, - "id": "1:0xfc7d", - "unique_id": "ab:cd:ef:12:e0:99:45:a5:1:0xfc7d", - "status": "INITIALIZED", - "value_attribute": "filter_run_time" - } - ], "device_ieee": "ab:cd:ef:12:e0:99:45:a5", "endpoint_id": 1, "available": true, @@ -476,22 +499,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IkeaAirPurifierClusterHandler", - "generic_id": "cluster_handler_0xfc7d", - "endpoint_id": 1, - "cluster": { - "id": 64637, - "name": "Ikea Airpurifier", - "type": "server" - }, - "id": "1:0xfc7d", - "unique_id": "ab:cd:ef:12:e0:99:45:a5:1:0xfc7d", - "status": "INITIALIZED", - "value_attribute": "filter_run_time" - } - ], "device_ieee": "ab:cd:ef:12:e0:99:45:a5", "endpoint_id": 1, "available": true, @@ -525,22 +532,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e0:99:45:a5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:99:45:a5", "endpoint_id": 1, "available": true, @@ -569,22 +560,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e0:99:45:a5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:99:45:a5", "endpoint_id": 1, "available": true, @@ -613,22 +588,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PM25ClusterHandler", - "generic_id": "cluster_handler_0x042a", - "endpoint_id": 1, - "cluster": { - "id": 1066, - "name": "PM2.5", - "type": "server" - }, - "id": "1:0x042a", - "unique_id": "ab:cd:ef:12:e0:99:45:a5:1:0x042a", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:e0:99:45:a5", "endpoint_id": 1, "available": true, @@ -657,22 +616,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IkeaAirPurifierClusterHandler", - "generic_id": "cluster_handler_0xfc7d", - "endpoint_id": 1, - "cluster": { - "id": 64637, - "name": "Ikea Airpurifier", - "type": "server" - }, - "id": "1:0xfc7d", - "unique_id": "ab:cd:ef:12:e0:99:45:a5:1:0xfc7d", - "status": "INITIALIZED", - "value_attribute": "filter_run_time" - } - ], "device_ieee": "ab:cd:ef:12:e0:99:45:a5", "endpoint_id": 1, "available": true, @@ -701,22 +644,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IkeaAirPurifierClusterHandler", - "generic_id": "cluster_handler_0xfc7d", - "endpoint_id": 1, - "cluster": { - "id": 64637, - "name": "Ikea Airpurifier", - "type": "server" - }, - "id": "1:0xfc7d", - "unique_id": "ab:cd:ef:12:e0:99:45:a5:1:0xfc7d", - "status": "INITIALIZED", - "value_attribute": "filter_run_time" - } - ], "device_ieee": "ab:cd:ef:12:e0:99:45:a5", "endpoint_id": 1, "available": true, @@ -747,22 +674,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IkeaAirPurifierClusterHandler", - "generic_id": "cluster_handler_0xfc7d", - "endpoint_id": 1, - "cluster": { - "id": 64637, - "name": "Ikea Airpurifier", - "type": "server" - }, - "id": "1:0xfc7d", - "unique_id": "ab:cd:ef:12:e0:99:45:a5:1:0xfc7d", - "status": "INITIALIZED", - "value_attribute": "filter_run_time" - } - ], "device_ieee": "ab:cd:ef:12:e0:99:45:a5", "endpoint_id": 1, "available": true, @@ -795,22 +706,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IkeaAirPurifierClusterHandler", - "generic_id": "cluster_handler_0xfc7d", - "endpoint_id": 1, - "cluster": { - "id": 64637, - "name": "Ikea Airpurifier", - "type": "server" - }, - "id": "1:0xfc7d", - "unique_id": "ab:cd:ef:12:e0:99:45:a5:1:0xfc7d", - "status": "INITIALIZED", - "value_attribute": "filter_run_time" - } - ], "device_ieee": "ab:cd:ef:12:e0:99:45:a5", "endpoint_id": 1, "available": true, @@ -845,22 +740,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e0:99:45:a5:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:99:45:a5", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-starkvind-air-purifier.json b/tests/data/devices/ikea-of-sweden-starkvind-air-purifier.json index 070f1aaa6..434342815 100644 --- a/tests/data/devices/ikea-of-sweden-starkvind-air-purifier.json +++ b/tests/data/devices/ikea-of-sweden-starkvind-air-purifier.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "0c:43:14:ff:fe:73:07:e2", "nwk": "0x8877", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,92 +63,158 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042a", "endpoint_attribute": "pm25", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "single", - "value": 16 + "value": 16, + "reporting": { + "min": 30, + "max": 900, + "change": 0.1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7d", "endpoint_attribute": "ikea_airpurifier", + "bind": "SUCCESS", "attributes": [ { "id": "0x0004", "name": "air_quality_25pm", "zcl_type": "uint16", - "value": 16 + "value": 16, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0005", "name": "child_lock", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "device_run_time", "zcl_type": "uint32", - "value": 118729 + "value": 118729, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0003", "name": "disable_led", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0006", "name": "fan_mode", "zcl_type": "uint8", - "value": 2 + "value": 2, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "fan_speed", "zcl_type": "uint8", - "value": 2 + "value": 2, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0002", "name": "filter_life_time", "zcl_type": "uint32", - "value": 259200 + "value": 259200, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", "name": "filter_run_time", "zcl_type": "uint32", - "value": 118729 + "value": 118729, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "replace_filter", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -156,6 +223,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -168,6 +236,7 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -183,6 +252,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -252,22 +322,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IkeaAirPurifierClusterHandler", - "generic_id": "cluster_handler_0xfc7d", - "endpoint_id": 1, - "cluster": { - "id": 64637, - "name": "Ikea Airpurifier", - "type": "server" - }, - "id": "1:0xfc7d", - "unique_id": "0c:43:14:ff:fe:73:07:e2:1:0xfc7d", - "status": "INITIALIZED", - "value_attribute": "filter_run_time" - } - ], "device_ieee": "0c:43:14:ff:fe:73:07:e2", "endpoint_id": 1, "available": true, @@ -297,22 +351,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "0c:43:14:ff:fe:73:07:e2:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "0c:43:14:ff:fe:73:07:e2", "endpoint_id": 1, "available": true, @@ -345,22 +383,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IkeaAirPurifierClusterHandler", - "generic_id": "cluster_handler_0xfc7d", - "endpoint_id": 1, - "cluster": { - "id": 64637, - "name": "Ikea Airpurifier", - "type": "server" - }, - "id": "1:0xfc7d", - "unique_id": "0c:43:14:ff:fe:73:07:e2:1:0xfc7d", - "status": "INITIALIZED", - "value_attribute": "filter_run_time" - } - ], "device_ieee": "0c:43:14:ff:fe:73:07:e2", "endpoint_id": 1, "available": true, @@ -404,22 +426,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IkeaAirPurifierClusterHandler", - "generic_id": "cluster_handler_0xfc7d", - "endpoint_id": 1, - "cluster": { - "id": 64637, - "name": "Ikea Airpurifier", - "type": "server" - }, - "id": "1:0xfc7d", - "unique_id": "0c:43:14:ff:fe:73:07:e2:1:0xfc7d", - "status": "INITIALIZED", - "value_attribute": "filter_run_time" - } - ], "device_ieee": "0c:43:14:ff:fe:73:07:e2", "endpoint_id": 1, "available": true, @@ -453,22 +459,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "0c:43:14:ff:fe:73:07:e2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "0c:43:14:ff:fe:73:07:e2", "endpoint_id": 1, "available": true, @@ -497,22 +487,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "0c:43:14:ff:fe:73:07:e2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "0c:43:14:ff:fe:73:07:e2", "endpoint_id": 1, "available": true, @@ -541,22 +515,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PM25ClusterHandler", - "generic_id": "cluster_handler_0x042a", - "endpoint_id": 1, - "cluster": { - "id": 1066, - "name": "PM2.5", - "type": "server" - }, - "id": "1:0x042a", - "unique_id": "0c:43:14:ff:fe:73:07:e2:1:0x042a", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "0c:43:14:ff:fe:73:07:e2", "endpoint_id": 1, "available": true, @@ -585,22 +543,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IkeaAirPurifierClusterHandler", - "generic_id": "cluster_handler_0xfc7d", - "endpoint_id": 1, - "cluster": { - "id": 64637, - "name": "Ikea Airpurifier", - "type": "server" - }, - "id": "1:0xfc7d", - "unique_id": "0c:43:14:ff:fe:73:07:e2:1:0xfc7d", - "status": "INITIALIZED", - "value_attribute": "filter_run_time" - } - ], "device_ieee": "0c:43:14:ff:fe:73:07:e2", "endpoint_id": 1, "available": true, @@ -629,22 +571,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IkeaAirPurifierClusterHandler", - "generic_id": "cluster_handler_0xfc7d", - "endpoint_id": 1, - "cluster": { - "id": 64637, - "name": "Ikea Airpurifier", - "type": "server" - }, - "id": "1:0xfc7d", - "unique_id": "0c:43:14:ff:fe:73:07:e2:1:0xfc7d", - "status": "INITIALIZED", - "value_attribute": "filter_run_time" - } - ], "device_ieee": "0c:43:14:ff:fe:73:07:e2", "endpoint_id": 1, "available": true, @@ -675,22 +601,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IkeaAirPurifierClusterHandler", - "generic_id": "cluster_handler_0xfc7d", - "endpoint_id": 1, - "cluster": { - "id": 64637, - "name": "Ikea Airpurifier", - "type": "server" - }, - "id": "1:0xfc7d", - "unique_id": "0c:43:14:ff:fe:73:07:e2:1:0xfc7d", - "status": "INITIALIZED", - "value_attribute": "filter_run_time" - } - ], "device_ieee": "0c:43:14:ff:fe:73:07:e2", "endpoint_id": 1, "available": true, @@ -723,22 +633,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IkeaAirPurifierClusterHandler", - "generic_id": "cluster_handler_0xfc7d", - "endpoint_id": 1, - "cluster": { - "id": 64637, - "name": "Ikea Airpurifier", - "type": "server" - }, - "id": "1:0xfc7d", - "unique_id": "0c:43:14:ff:fe:73:07:e2:1:0xfc7d", - "status": "INITIALIZED", - "value_attribute": "filter_run_time" - } - ], "device_ieee": "0c:43:14:ff:fe:73:07:e2", "endpoint_id": 1, "available": true, @@ -773,22 +667,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "0c:43:14:ff:fe:73:07:e2:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "0c:43:14:ff:fe:73:07:e2", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-symfonisk-sound-remote-gen2.json b/tests/data/devices/ikea-of-sweden-symfonisk-sound-remote-gen2.json index 05ee8016c..6255ef525 100644 --- a/tests/data/devices/ikea-of-sweden-symfonisk-sound-remote-gen2.json +++ b/tests/data/devices/ikea-of-sweden-symfonisk-sound-remote-gen2.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:52:61:2b:43", "nwk": "0x17D7", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x4000", @@ -56,12 +57,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,28 +93,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -114,26 +132,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -146,11 +169,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7f", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ] @@ -215,22 +240,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:52:61:2b:43:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:61:2b:43", "endpoint_id": 1, "available": true, @@ -263,22 +272,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:52:61:2b:43:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:61:2b:43", "endpoint_id": 1, "available": true, @@ -307,22 +300,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:52:61:2b:43:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:61:2b:43", "endpoint_id": 1, "available": true, @@ -351,22 +328,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:52:61:2b:43:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:52:61:2b:43", "endpoint_id": 1, "available": true, @@ -405,22 +366,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:52:61:2b:43:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:61:2b:43", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e12-w-op-ch-400lm.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e12-w-op-ch-400lm.json index 3e29d900c..93ef22cbd 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e12-w-op-ch-400lm.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e12-w-op-ch-400lm.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:0b:57:ff:fe:d5:37:65", "nwk": "0x26E4", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -80,16 +81,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -102,12 +106,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -120,12 +131,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 3 + "value": 3, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -174,11 +192,13 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -186,11 +206,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -203,11 +225,13 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -271,22 +295,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:0b:57:ff:fe:d5:37:65:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:d5:37:65", "endpoint_id": 1, "available": true, @@ -319,36 +327,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:0b:57:ff:fe:d5:37:65:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:0b:57:ff:fe:d5:37:65:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:0b:57:ff:fe:d5:37:65", "endpoint_id": 1, "available": true, @@ -402,22 +380,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:0b:57:ff:fe:d5:37:65:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:0b:57:ff:fe:d5:37:65", "endpoint_id": 1, "available": true, @@ -449,22 +411,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:0b:57:ff:fe:d5:37:65:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:0b:57:ff:fe:d5:37:65", "endpoint_id": 1, "available": true, @@ -496,22 +442,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:0b:57:ff:fe:d5:37:65:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:0b:57:ff:fe:d5:37:65", "endpoint_id": 1, "available": true, @@ -545,22 +475,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:0b:57:ff:fe:d5:37:65:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:0b:57:ff:fe:d5:37:65", "endpoint_id": 1, "available": true, @@ -596,22 +510,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0b:57:ff:fe:d5:37:65:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:d5:37:65", "endpoint_id": 1, "available": true, @@ -640,22 +538,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0b:57:ff:fe:d5:37:65:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:d5:37:65", "endpoint_id": 1, "available": true, @@ -686,22 +568,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:0b:57:ff:fe:d5:37:65:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:d5:37:65", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e12-ws-opal-400lm.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e12-ws-opal-400lm.json index 9936d1ed8..4acd1387d 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e12-ws-opal-400lm.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e12-ws-opal-400lm.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "90:fd:9f:ff:fe:74:75:2c", "nwk": "0xFBA9", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -80,16 +81,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -102,12 +106,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -120,12 +131,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -168,6 +186,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -203,7 +222,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 250 + "value": 250, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -221,13 +246,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 30138 + "value": 30138, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26909 + "value": 26909, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -252,6 +289,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -259,11 +297,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -276,11 +316,13 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -295,6 +337,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -302,6 +345,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -375,22 +419,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "90:fd:9f:ff:fe:74:75:2c:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "90:fd:9f:ff:fe:74:75:2c", "endpoint_id": 1, "available": true, @@ -423,50 +451,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "90:fd:9f:ff:fe:74:75:2c:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "90:fd:9f:ff:fe:74:75:2c:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "90:fd:9f:ff:fe:74:75:2c:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "90:fd:9f:ff:fe:74:75:2c", "endpoint_id": 1, "available": true, @@ -521,22 +505,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "90:fd:9f:ff:fe:74:75:2c:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "90:fd:9f:ff:fe:74:75:2c", "endpoint_id": 1, "available": true, @@ -568,22 +536,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "90:fd:9f:ff:fe:74:75:2c:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "90:fd:9f:ff:fe:74:75:2c", "endpoint_id": 1, "available": true, @@ -615,22 +567,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "90:fd:9f:ff:fe:74:75:2c:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "90:fd:9f:ff:fe:74:75:2c", "endpoint_id": 1, "available": true, @@ -662,22 +598,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "90:fd:9f:ff:fe:74:75:2c:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "90:fd:9f:ff:fe:74:75:2c", "endpoint_id": 1, "available": true, @@ -711,22 +631,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "90:fd:9f:ff:fe:74:75:2c:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "90:fd:9f:ff:fe:74:75:2c", "endpoint_id": 1, "available": true, @@ -762,22 +666,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "90:fd:9f:ff:fe:74:75:2c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "90:fd:9f:ff:fe:74:75:2c", "endpoint_id": 1, "available": true, @@ -806,22 +694,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "90:fd:9f:ff:fe:74:75:2c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "90:fd:9f:ff:fe:74:75:2c", "endpoint_id": 1, "available": true, @@ -852,22 +724,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "90:fd:9f:ff:fe:74:75:2c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "90:fd:9f:ff:fe:74:75:2c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e14-ws-globe-470lm.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e14-ws-globe-470lm.json index 7c8fd6f3a..eeed911de 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e14-ws-globe-470lm.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e14-ws-globe-470lm.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:af:8d:14:56", "nwk": "0x7A25", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,19 +197,37 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 370 + "value": 370, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 24939 + "value": 24939, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 24701 + "value": 24701, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -209,11 +246,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -221,6 +260,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -242,6 +282,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -249,6 +290,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -320,22 +362,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:af:8d:14:56:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:af:8d:14:56", "endpoint_id": 1, "available": true, @@ -368,50 +394,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:af:8d:14:56:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:af:8d:14:56:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:af:8d:14:56:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:af:8d:14:56", "endpoint_id": 1, "available": true, @@ -466,22 +448,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:af:8d:14:56:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:af:8d:14:56", "endpoint_id": 1, "available": true, @@ -513,22 +479,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:af:8d:14:56:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:af:8d:14:56", "endpoint_id": 1, "available": true, @@ -560,22 +510,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:af:8d:14:56:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:af:8d:14:56", "endpoint_id": 1, "available": true, @@ -607,22 +541,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:af:8d:14:56:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:af:8d:14:56", "endpoint_id": 1, "available": true, @@ -656,22 +574,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:af:8d:14:56:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:af:8d:14:56", "endpoint_id": 1, "available": true, @@ -707,22 +609,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:af:8d:14:56:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:af:8d:14:56", "endpoint_id": 1, "available": true, @@ -751,22 +637,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:af:8d:14:56:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:af:8d:14:56", "endpoint_id": 1, "available": true, @@ -797,22 +667,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:af:8d:14:56:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:af:8d:14:56", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-opal-1000lm.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-opal-1000lm.json index 676945984..75ae28c7e 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-opal-1000lm.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-opal-1000lm.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:0b:57:ff:fe:39:3d:3c", "nwk": "0x15B7", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,11 +161,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -155,11 +175,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -172,11 +194,13 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -191,6 +215,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -198,6 +223,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -271,22 +297,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:0b:57:ff:fe:39:3d:3c:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:39:3d:3c", "endpoint_id": 1, "available": true, @@ -319,36 +329,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:0b:57:ff:fe:39:3d:3c:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:0b:57:ff:fe:39:3d:3c:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:0b:57:ff:fe:39:3d:3c", "endpoint_id": 1, "available": true, @@ -402,22 +382,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:0b:57:ff:fe:39:3d:3c:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:0b:57:ff:fe:39:3d:3c", "endpoint_id": 1, "available": true, @@ -449,22 +413,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:0b:57:ff:fe:39:3d:3c:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:0b:57:ff:fe:39:3d:3c", "endpoint_id": 1, "available": true, @@ -496,22 +444,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:0b:57:ff:fe:39:3d:3c:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:0b:57:ff:fe:39:3d:3c", "endpoint_id": 1, "available": true, @@ -545,22 +477,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:0b:57:ff:fe:39:3d:3c:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:0b:57:ff:fe:39:3d:3c", "endpoint_id": 1, "available": true, @@ -596,22 +512,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0b:57:ff:fe:39:3d:3c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:39:3d:3c", "endpoint_id": 1, "available": true, @@ -640,22 +540,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0b:57:ff:fe:39:3d:3c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:39:3d:3c", "endpoint_id": 1, "available": true, @@ -686,22 +570,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:0b:57:ff:fe:39:3d:3c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:39:3d:3c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-w-opal-1000lm.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-w-opal-1000lm.json index 2586f2cdb..6a2802fb8 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-w-opal-1000lm.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-w-opal-1000lm.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:0b:57:ff:fe:8e:8c:44", "nwk": "0xA68D", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -80,16 +81,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -102,12 +106,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -120,12 +131,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -168,11 +186,13 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -180,11 +200,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -197,11 +219,13 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -265,22 +289,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:0b:57:ff:fe:8e:8c:44:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:8e:8c:44", "endpoint_id": 1, "available": true, @@ -313,36 +321,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:0b:57:ff:fe:8e:8c:44:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:0b:57:ff:fe:8e:8c:44:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:0b:57:ff:fe:8e:8c:44", "endpoint_id": 1, "available": true, @@ -396,22 +374,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:0b:57:ff:fe:8e:8c:44:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:0b:57:ff:fe:8e:8c:44", "endpoint_id": 1, "available": true, @@ -443,22 +405,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:0b:57:ff:fe:8e:8c:44:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:0b:57:ff:fe:8e:8c:44", "endpoint_id": 1, "available": true, @@ -490,22 +436,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:0b:57:ff:fe:8e:8c:44:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:0b:57:ff:fe:8e:8c:44", "endpoint_id": 1, "available": true, @@ -539,22 +469,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:0b:57:ff:fe:8e:8c:44:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:0b:57:ff:fe:8e:8c:44", "endpoint_id": 1, "available": true, @@ -590,22 +504,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0b:57:ff:fe:8e:8c:44:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:8e:8c:44", "endpoint_id": 1, "available": true, @@ -634,22 +532,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0b:57:ff:fe:8e:8c:44:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:8e:8c:44", "endpoint_id": 1, "available": true, @@ -680,22 +562,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:0b:57:ff:fe:8e:8c:44:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:8e:8c:44", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-ws-opal-980lm.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-ws-opal-980lm.json index 9d56d10c7..972880561 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-ws-opal-980lm.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-ws-opal-980lm.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:0b:57:ff:fe:dd:49:54", "nwk": "0x380A", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -84,12 +88,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -102,12 +113,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 3 + "value": 3, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -150,6 +168,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -185,7 +204,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 452 + "value": 452, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -203,13 +228,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 30138 + "value": 30138, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26909 + "value": 26909, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -234,11 +271,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -246,11 +285,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -263,11 +304,13 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -283,6 +326,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -355,22 +399,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:0b:57:ff:fe:dd:49:54:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:dd:49:54", "endpoint_id": 1, "available": true, @@ -403,50 +431,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:0b:57:ff:fe:dd:49:54:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:0b:57:ff:fe:dd:49:54:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "00:0b:57:ff:fe:dd:49:54:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:0b:57:ff:fe:dd:49:54", "endpoint_id": 1, "available": true, @@ -501,22 +485,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "00:0b:57:ff:fe:dd:49:54:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:0b:57:ff:fe:dd:49:54", "endpoint_id": 1, "available": true, @@ -548,22 +516,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:0b:57:ff:fe:dd:49:54:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:0b:57:ff:fe:dd:49:54", "endpoint_id": 1, "available": true, @@ -595,22 +547,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:0b:57:ff:fe:dd:49:54:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:0b:57:ff:fe:dd:49:54", "endpoint_id": 1, "available": true, @@ -642,22 +578,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:0b:57:ff:fe:dd:49:54:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:0b:57:ff:fe:dd:49:54", "endpoint_id": 1, "available": true, @@ -691,22 +611,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:0b:57:ff:fe:dd:49:54:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:0b:57:ff:fe:dd:49:54", "endpoint_id": 1, "available": true, @@ -742,22 +646,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0b:57:ff:fe:dd:49:54:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:dd:49:54", "endpoint_id": 1, "available": true, @@ -786,22 +674,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0b:57:ff:fe:dd:49:54:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:dd:49:54", "endpoint_id": 1, "available": true, @@ -832,22 +704,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:0b:57:ff:fe:dd:49:54:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:dd:49:54", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e27-ws-globe-1055lm.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e27-ws-globe-1055lm.json index af12fa7ee..03012f461 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e27-ws-globe-1055lm.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e27-ws-globe-1055lm.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:54:27:c9:2f", "nwk": "0xD172", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 234 + "value": 234, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,7 +197,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 250 + "value": 250, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -196,13 +221,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 30015 + "value": 30015, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26870 + "value": 26870, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -227,16 +264,19 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -244,6 +284,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -266,6 +307,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -336,22 +378,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:54:27:c9:2f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:54:27:c9:2f", "endpoint_id": 1, "available": true, @@ -384,50 +410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:54:27:c9:2f:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:54:27:c9:2f:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:54:27:c9:2f:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:54:27:c9:2f", "endpoint_id": 1, "available": true, @@ -482,22 +464,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:54:27:c9:2f:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:54:27:c9:2f", "endpoint_id": 1, "available": true, @@ -529,22 +495,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:54:27:c9:2f:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:54:27:c9:2f", "endpoint_id": 1, "available": true, @@ -576,22 +526,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:54:27:c9:2f:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:54:27:c9:2f", "endpoint_id": 1, "available": true, @@ -623,22 +557,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:54:27:c9:2f:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:54:27:c9:2f", "endpoint_id": 1, "available": true, @@ -672,22 +590,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:54:27:c9:2f:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:54:27:c9:2f", "endpoint_id": 1, "available": true, @@ -723,22 +625,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:54:27:c9:2f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:54:27:c9:2f", "endpoint_id": 1, "available": true, @@ -767,22 +653,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:54:27:c9:2f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:54:27:c9:2f", "endpoint_id": 1, "available": true, @@ -813,22 +683,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:54:27:c9:2f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:54:27:c9:2f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e27-ww-g95-cl-470lm.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e27-ww-g95-cl-470lm.json index 59621b68f..eba97a481 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e27-ww-g95-cl-470lm.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e27-ww-g95-cl-470lm.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:0e:4d:bd:b3", "nwk": "0x0D39", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,16 +161,19 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -160,6 +181,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -182,6 +204,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -251,22 +274,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:0e:4d:bd:b3:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0e:4d:bd:b3", "endpoint_id": 1, "available": true, @@ -299,36 +306,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:0e:4d:bd:b3:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:0e:4d:bd:b3:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:0e:4d:bd:b3", "endpoint_id": 1, "available": true, @@ -382,22 +359,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:0e:4d:bd:b3:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:0e:4d:bd:b3", "endpoint_id": 1, "available": true, @@ -429,22 +390,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:0e:4d:bd:b3:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:0e:4d:bd:b3", "endpoint_id": 1, "available": true, @@ -476,22 +421,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:0e:4d:bd:b3:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:0e:4d:bd:b3", "endpoint_id": 1, "available": true, @@ -525,22 +454,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:0e:4d:bd:b3:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:0e:4d:bd:b3", "endpoint_id": 1, "available": true, @@ -576,22 +489,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0e:4d:bd:b3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0e:4d:bd:b3", "endpoint_id": 1, "available": true, @@ -620,22 +517,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0e:4d:bd:b3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0e:4d:bd:b3", "endpoint_id": 1, "available": true, @@ -666,22 +547,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:0e:4d:bd:b3:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0e:4d:bd:b3", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ws-400lm.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ws-400lm.json index 282046039..cf6308efa 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ws-400lm.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ws-400lm.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "68:0a:e2:ff:fe:8f:fa:33", "nwk": "0x4F9C", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -80,16 +81,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -102,12 +106,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -120,12 +131,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 1 + "value": 1, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -168,6 +186,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -203,7 +222,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 250 + "value": 250, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -221,13 +246,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 30138 + "value": 30138, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26909 + "value": 26909, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -252,11 +289,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -264,11 +303,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -281,11 +322,13 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -300,6 +343,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -307,6 +351,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -381,22 +426,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "68:0a:e2:ff:fe:8f:fa:33:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "68:0a:e2:ff:fe:8f:fa:33", "endpoint_id": 1, "available": true, @@ -429,50 +458,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "68:0a:e2:ff:fe:8f:fa:33:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "68:0a:e2:ff:fe:8f:fa:33:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "68:0a:e2:ff:fe:8f:fa:33:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "68:0a:e2:ff:fe:8f:fa:33", "endpoint_id": 1, "available": true, @@ -527,22 +512,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "68:0a:e2:ff:fe:8f:fa:33:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "68:0a:e2:ff:fe:8f:fa:33", "endpoint_id": 1, "available": true, @@ -574,22 +543,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "68:0a:e2:ff:fe:8f:fa:33:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "68:0a:e2:ff:fe:8f:fa:33", "endpoint_id": 1, "available": true, @@ -621,22 +574,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "68:0a:e2:ff:fe:8f:fa:33:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "68:0a:e2:ff:fe:8f:fa:33", "endpoint_id": 1, "available": true, @@ -668,22 +605,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "68:0a:e2:ff:fe:8f:fa:33:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "68:0a:e2:ff:fe:8f:fa:33", "endpoint_id": 1, "available": true, @@ -717,22 +638,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "68:0a:e2:ff:fe:8f:fa:33:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "68:0a:e2:ff:fe:8f:fa:33", "endpoint_id": 1, "available": true, @@ -768,22 +673,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "68:0a:e2:ff:fe:8f:fa:33:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "68:0a:e2:ff:fe:8f:fa:33", "endpoint_id": 1, "available": true, @@ -812,22 +701,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "68:0a:e2:ff:fe:8f:fa:33:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "68:0a:e2:ff:fe:8f:fa:33", "endpoint_id": 1, "available": true, @@ -858,22 +731,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "68:0a:e2:ff:fe:8f:fa:33:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "68:0a:e2:ff:fe:8f:fa:33", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ww-345lm8.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ww-345lm8.json index 1d15b9c5e..1a0a742a0 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ww-345lm8.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ww-345lm8.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ec:ce:b7:e4", "nwk": "0x0174", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 1 + "value": 1, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,11 +161,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -155,6 +175,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -169,6 +190,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -176,6 +198,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -246,22 +269,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:ec:ce:b7:e4:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ec:ce:b7:e4", "endpoint_id": 1, "available": true, @@ -294,36 +301,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ec:ce:b7:e4:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:ec:ce:b7:e4:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:ec:ce:b7:e4", "endpoint_id": 1, "available": true, @@ -377,22 +354,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:ec:ce:b7:e4:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:ec:ce:b7:e4", "endpoint_id": 1, "available": true, @@ -424,22 +385,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:ec:ce:b7:e4:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:ec:ce:b7:e4", "endpoint_id": 1, "available": true, @@ -471,22 +416,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:ec:ce:b7:e4:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:ec:ce:b7:e4", "endpoint_id": 1, "available": true, @@ -520,22 +449,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ec:ce:b7:e4:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ec:ce:b7:e4", "endpoint_id": 1, "available": true, @@ -571,22 +484,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ec:ce:b7:e4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ec:ce:b7:e4", "endpoint_id": 1, "available": true, @@ -615,22 +512,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ec:ce:b7:e4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ec:ce:b7:e4", "endpoint_id": 1, "available": true, @@ -661,22 +542,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ec:ce:b7:e4:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ec:ce:b7:e4", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-tradfri-control-outlet.json b/tests/data/devices/ikea-of-sweden-tradfri-control-outlet.json index 07682001d..3da2d7545 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-control-outlet.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-control-outlet.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:0d:6f:ff:fe:a5:b7:93", "nwk": "0xB55A", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -80,16 +81,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -102,12 +106,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -120,11 +131,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -132,11 +145,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -149,11 +164,13 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -168,6 +185,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -175,6 +193,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -247,22 +266,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:0d:6f:ff:fe:a5:b7:93:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:ff:fe:a5:b7:93", "endpoint_id": 1, "available": true, @@ -295,22 +298,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:0d:6f:ff:fe:a5:b7:93:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:0d:6f:ff:fe:a5:b7:93", "endpoint_id": 1, "available": true, @@ -346,22 +333,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:ff:fe:a5:b7:93:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:ff:fe:a5:b7:93", "endpoint_id": 1, "available": true, @@ -390,22 +361,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:ff:fe:a5:b7:93:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:ff:fe:a5:b7:93", "endpoint_id": 1, "available": true, @@ -436,22 +391,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:0d:6f:ff:fe:a5:b7:93:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:0d:6f:ff:fe:a5:b7:93", "endpoint_id": 1, "available": true, @@ -480,22 +419,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:0d:6f:ff:fe:a5:b7:93:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:ff:fe:a5:b7:93", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-tradfri-motion-sensor.json b/tests/data/devices/ikea-of-sweden-tradfri-motion-sensor.json index 7a002c11c..97c482865 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-motion-sensor.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-motion-sensor.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:99:94:76:3f", "nwk": "0xB9E6", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 174 + "value": 174, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,23 +99,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29 + "value": 29, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -120,11 +137,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -132,31 +151,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -221,22 +246,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:99:94:76:3f:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:99:94:76:3f", "endpoint_id": 1, "available": true, @@ -266,22 +275,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:99:94:76:3f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:99:94:76:3f", "endpoint_id": 1, "available": true, @@ -314,22 +307,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:99:94:76:3f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:99:94:76:3f", "endpoint_id": 1, "available": true, @@ -358,22 +335,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:99:94:76:3f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:99:94:76:3f", "endpoint_id": 1, "available": true, @@ -402,22 +363,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:99:94:76:3f:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:99:94:76:3f", "endpoint_id": 1, "available": true, @@ -456,22 +401,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:99:94:76:3f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:99:94:76:3f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-tradfri-on-off-switch.json b/tests/data/devices/ikea-of-sweden-tradfri-on-off-switch.json index 37ae1f0c3..7b1d2ff93 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-on-off-switch.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-on-off-switch.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "14:b4:57:ff:fe:53:65:d7", "nwk": "0xDF86", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,33 +99,44 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -125,36 +144,43 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -220,22 +246,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "14:b4:57:ff:fe:53:65:d7:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:b4:57:ff:fe:53:65:d7", "endpoint_id": 1, "available": true, @@ -268,22 +278,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "14:b4:57:ff:fe:53:65:d7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:b4:57:ff:fe:53:65:d7", "endpoint_id": 1, "available": true, @@ -312,22 +306,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "14:b4:57:ff:fe:53:65:d7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:b4:57:ff:fe:53:65:d7", "endpoint_id": 1, "available": true, @@ -356,22 +334,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "14:b4:57:ff:fe:53:65:d7:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "14:b4:57:ff:fe:53:65:d7", "endpoint_id": 1, "available": true, @@ -410,22 +372,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "14:b4:57:ff:fe:53:65:d7:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:b4:57:ff:fe:53:65:d7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-tradfri-open-close-remote.json b/tests/data/devices/ikea-of-sweden-tradfri-open-close-remote.json index 6a4e97f7d..c26546ce0 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-open-close-remote.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-open-close-remote.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "38:5b:44:ff:fe:e6:8a:85", "nwk": "0x20A9", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 174 + "value": 174, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -97,23 +105,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31 + "value": 31, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -126,11 +143,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -138,21 +157,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -165,11 +188,13 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -235,22 +260,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "38:5b:44:ff:fe:e6:8a:85:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "38:5b:44:ff:fe:e6:8a:85", "endpoint_id": 1, "available": true, @@ -283,22 +292,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "38:5b:44:ff:fe:e6:8a:85:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "38:5b:44:ff:fe:e6:8a:85", "endpoint_id": 1, "available": true, @@ -327,22 +320,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "38:5b:44:ff:fe:e6:8a:85:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "38:5b:44:ff:fe:e6:8a:85", "endpoint_id": 1, "available": true, @@ -371,22 +348,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "38:5b:44:ff:fe:e6:8a:85:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "38:5b:44:ff:fe:e6:8a:85", "endpoint_id": 1, "available": true, @@ -425,22 +386,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "38:5b:44:ff:fe:e6:8a:85:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "38:5b:44:ff:fe:e6:8a:85", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-tradfri-remote-control.json b/tests/data/devices/ikea-of-sweden-tradfri-remote-control.json index 4de50b60a..5709d2b5d 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-remote-control.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-remote-control.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "90:fd:9f:ff:fe:fe:d8:a1", "nwk": "0x8183", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 32 + "value": 32, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -97,28 +105,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 26 + "value": 26, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -126,36 +144,43 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -220,22 +245,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "90:fd:9f:ff:fe:fe:d8:a1:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "90:fd:9f:ff:fe:fe:d8:a1", "endpoint_id": 1, "available": true, @@ -268,22 +277,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "90:fd:9f:ff:fe:fe:d8:a1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "90:fd:9f:ff:fe:fe:d8:a1", "endpoint_id": 1, "available": true, @@ -312,22 +305,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "90:fd:9f:ff:fe:fe:d8:a1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "90:fd:9f:ff:fe:fe:d8:a1", "endpoint_id": 1, "available": true, @@ -356,22 +333,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "90:fd:9f:ff:fe:fe:d8:a1:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "90:fd:9f:ff:fe:fe:d8:a1", "endpoint_id": 1, "available": true, @@ -410,22 +371,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "90:fd:9f:ff:fe:fe:d8:a1:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "90:fd:9f:ff:fe:fe:d8:a1", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-tradfri-shortcut-button.json b/tests/data/devices/ikea-of-sweden-tradfri-shortcut-button.json index 81abc8fe2..32e65bb4e 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-shortcut-button.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-shortcut-button.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:7d:a7:c6:3b", "nwk": "0x8047", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 360 + "value": 360, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,23 +99,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29 + "value": 29, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -120,6 +137,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -127,31 +145,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -215,22 +239,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:7d:a7:c6:3b:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7d:a7:c6:3b", "endpoint_id": 1, "available": true, @@ -263,22 +271,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7d:a7:c6:3b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7d:a7:c6:3b", "endpoint_id": 1, "available": true, @@ -307,22 +299,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7d:a7:c6:3b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7d:a7:c6:3b", "endpoint_id": 1, "available": true, @@ -351,22 +327,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:7d:a7:c6:3b:1:0x0001", - "status": "CONFIGURED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:7d:a7:c6:3b", "endpoint_id": 1, "available": true, @@ -405,22 +365,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:7d:a7:c6:3b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7d:a7:c6:3b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-tradfri-wireless-dimmer.json b/tests/data/devices/ikea-of-sweden-tradfri-wireless-dimmer.json index 7e0b58c31..3fb39f8f6 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-wireless-dimmer.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-wireless-dimmer.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:0b:57:ff:fe:2b:cf:1f", "nwk": "0xF049", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -80,12 +81,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 68 + "value": 68, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -109,18 +117,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -133,6 +149,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -140,31 +157,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -227,22 +250,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:0b:57:ff:fe:2b:cf:1f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:2b:cf:1f", "endpoint_id": 1, "available": true, @@ -275,22 +282,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0b:57:ff:fe:2b:cf:1f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:2b:cf:1f", "endpoint_id": 1, "available": true, @@ -319,22 +310,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0b:57:ff:fe:2b:cf:1f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:2b:cf:1f", "endpoint_id": 1, "available": true, @@ -363,22 +338,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:0b:57:ff:fe:2b:cf:1f:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:0b:57:ff:fe:2b:cf:1f", "endpoint_id": 1, "available": true, @@ -417,22 +376,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:0b:57:ff:fe:2b:cf:1f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:2b:cf:1f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-vallhorn-wireless-motion-sensor.json b/tests/data/devices/ikea-of-sweden-vallhorn-wireless-motion-sensor.json index b41ce13ca..1eb9fc322 100644 --- a/tests/data/devices/ikea-of-sweden-vallhorn-wireless-motion-sensor.json +++ b/tests/data/devices/ikea-of-sweden-vallhorn-wireless-motion-sensor.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "8c:6f:b9:ff:fe:26:3b:4a", "nwk": "0x9EB6", "manufacturer": "IKEA of Sweden", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 140 + "value": 140, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 25 + "value": 25, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -115,6 +131,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x010b", @@ -145,16 +162,19 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc81", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -162,16 +182,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -190,6 +213,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -202,6 +226,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -216,22 +241,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -258,6 +292,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -272,22 +307,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4771 + "value": 4771, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -296,6 +340,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -384,22 +429,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "8c:6f:b9:ff:fe:26:3b:4a:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "8c:6f:b9:ff:fe:26:3b:4a", "endpoint_id": 1, "available": true, @@ -427,22 +456,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 2, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "2:0x0406", - "unique_id": "8c:6f:b9:ff:fe:26:3b:4a:2:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "8c:6f:b9:ff:fe:26:3b:4a", "endpoint_id": 2, "available": true, @@ -472,22 +485,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "8c:6f:b9:ff:fe:26:3b:4a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "8c:6f:b9:ff:fe:26:3b:4a", "endpoint_id": 1, "available": true, @@ -520,22 +517,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfc81", - "endpoint_id": 1, - "cluster": { - "id": 64641, - "name": "IKEA manufacturer specific config", - "type": "server" - }, - "id": "1:0xfc81", - "unique_id": "8c:6f:b9:ff:fe:26:3b:4a:1:0xfc81", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "8c:6f:b9:ff:fe:26:3b:4a", "endpoint_id": 1, "available": true, @@ -567,22 +548,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 2, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "2:0x0406", - "unique_id": "8c:6f:b9:ff:fe:26:3b:4a:2:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "8c:6f:b9:ff:fe:26:3b:4a", "endpoint_id": 2, "available": true, @@ -614,22 +579,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 2, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "2:0x0406", - "unique_id": "8c:6f:b9:ff:fe:26:3b:4a:2:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "8c:6f:b9:ff:fe:26:3b:4a", "endpoint_id": 2, "available": true, @@ -663,22 +612,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "8c:6f:b9:ff:fe:26:3b:4a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "8c:6f:b9:ff:fe:26:3b:4a", "endpoint_id": 1, "available": true, @@ -707,22 +640,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "8c:6f:b9:ff:fe:26:3b:4a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "8c:6f:b9:ff:fe:26:3b:4a", "endpoint_id": 1, "available": true, @@ -751,22 +668,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "8c:6f:b9:ff:fe:26:3b:4a:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "8c:6f:b9:ff:fe:26:3b:4a", "endpoint_id": 1, "available": true, @@ -803,22 +704,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 3, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "3:0x0400", - "unique_id": "8c:6f:b9:ff:fe:26:3b:4a:3:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "8c:6f:b9:ff:fe:26:3b:4a", "endpoint_id": 3, "available": true, @@ -849,22 +734,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfc81", - "endpoint_id": 1, - "cluster": { - "id": 64641, - "name": "IKEA manufacturer specific config", - "type": "server" - }, - "id": "1:0xfc81", - "unique_id": "8c:6f:b9:ff:fe:26:3b:4a:1:0xfc81", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "8c:6f:b9:ff:fe:26:3b:4a", "endpoint_id": 1, "available": true, @@ -899,22 +768,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "8c:6f:b9:ff:fe:26:3b:4a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "8c:6f:b9:ff:fe:26:3b:4a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/imagic-by-greatstar-1112-s.json b/tests/data/devices/imagic-by-greatstar-1112-s.json index b7f3e9d9f..744f7daf0 100644 --- a/tests/data/devices/imagic-by-greatstar-1112-s.json +++ b/tests/data/devices/imagic-by-greatstar-1112-s.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:06:61:9f:d3", "nwk": "0x444E", "manufacturer": "iMagic by GreatStar", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 56 + "value": 56, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -109,30 +125,45 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2570 + "value": 2570, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 3080 + "value": 3080, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -172,21 +203,25 @@ { "cluster_id": "0x0501", "endpoint_attribute": "ias_ace", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -194,16 +229,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0501", "endpoint_attribute": "ias_ace", + "bind": "SUCCESS", "attributes": [] } ] @@ -269,22 +307,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasAceClientClusterHandler", - "generic_id": "cluster_handler_0x0501_client", - "endpoint_id": 1, - "cluster": { - "id": 1281, - "name": "IAS Ancillary Control Equipment", - "type": "client" - }, - "id": "1:0x0501_client", - "unique_id": "ab:cd:ef:12:06:61:9f:d3:1:0x0501_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:06:61:9f:d3", "endpoint_id": 1, "available": true, @@ -316,22 +338,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:06:61:9f:d3:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:06:61:9f:d3", "endpoint_id": 1, "available": true, @@ -361,22 +367,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:06:61:9f:d3:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:06:61:9f:d3", "endpoint_id": 1, "available": true, @@ -409,22 +399,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:06:61:9f:d3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:06:61:9f:d3", "endpoint_id": 1, "available": true, @@ -453,22 +427,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:06:61:9f:d3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:06:61:9f:d3", "endpoint_id": 1, "available": true, @@ -497,22 +455,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:06:61:9f:d3:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:06:61:9f:d3", "endpoint_id": 1, "available": true, @@ -549,22 +491,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:06:61:9f:d3:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:06:61:9f:d3", "endpoint_id": 1, "available": true, @@ -593,22 +519,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:06:61:9f:d3:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:06:61:9f:d3", "endpoint_id": 1, "available": true, @@ -639,22 +549,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:06:61:9f:d3:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:06:61:9f:d3", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/innr-ae-280-c.json b/tests/data/devices/innr-ae-280-c.json index b7cb8432a..3c7b8086e 100644 --- a/tests/data/devices/innr-ae-280-c.json +++ b/tests/data/devices/innr-ae-280-c.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "14:2d:41:ff:fe:58:aa:27", "nwk": "0x20C0", "manufacturer": "innr", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,12 +112,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -149,6 +167,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -184,7 +203,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 420 + "value": 420, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -202,13 +227,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 32051 + "value": 32051, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 27169 + "value": 27169, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -235,6 +272,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -301,22 +339,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "14:2d:41:ff:fe:58:aa:27:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:2d:41:ff:fe:58:aa:27", "endpoint_id": 1, "available": true, @@ -349,50 +371,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "14:2d:41:ff:fe:58:aa:27:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "14:2d:41:ff:fe:58:aa:27:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "14:2d:41:ff:fe:58:aa:27:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "14:2d:41:ff:fe:58:aa:27", "endpoint_id": 1, "available": true, @@ -453,22 +431,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "14:2d:41:ff:fe:58:aa:27:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "14:2d:41:ff:fe:58:aa:27", "endpoint_id": 1, "available": true, @@ -500,22 +462,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "14:2d:41:ff:fe:58:aa:27:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "14:2d:41:ff:fe:58:aa:27", "endpoint_id": 1, "available": true, @@ -547,22 +493,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "14:2d:41:ff:fe:58:aa:27:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "14:2d:41:ff:fe:58:aa:27", "endpoint_id": 1, "available": true, @@ -594,22 +524,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "14:2d:41:ff:fe:58:aa:27:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "14:2d:41:ff:fe:58:aa:27", "endpoint_id": 1, "available": true, @@ -643,22 +557,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "14:2d:41:ff:fe:58:aa:27:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "14:2d:41:ff:fe:58:aa:27", "endpoint_id": 1, "available": true, @@ -694,22 +592,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "14:2d:41:ff:fe:58:aa:27:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:2d:41:ff:fe:58:aa:27", "endpoint_id": 1, "available": true, @@ -738,22 +620,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "14:2d:41:ff:fe:58:aa:27:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:2d:41:ff:fe:58:aa:27", "endpoint_id": 1, "available": true, @@ -784,22 +650,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "14:2d:41:ff:fe:58:aa:27:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:2d:41:ff:fe:58:aa:27", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/innr-rb-285-c.json b/tests/data/devices/innr-rb-285-c.json index 48690e47e..b4ee0364d 100644 --- a/tests/data/devices/innr-rb-285-c.json +++ b/tests/data/devices/innr-rb-285-c.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:8d:00:03:00:01:62", "nwk": "0xCF52", "manufacturer": "innr", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -74,27 +75,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -107,12 +118,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -155,6 +173,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -190,7 +209,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 236 + "value": 236, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -208,13 +233,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 24443 + "value": 24443, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 24501 + "value": 24501, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -239,6 +276,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -246,6 +284,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -268,6 +307,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -336,22 +376,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:15:8d:00:03:00:01:62:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:03:00:01:62", "endpoint_id": 1, "available": true, @@ -384,50 +408,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:15:8d:00:03:00:01:62:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:15:8d:00:03:00:01:62:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "00:15:8d:00:03:00:01:62:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:15:8d:00:03:00:01:62", "endpoint_id": 1, "available": true, @@ -488,22 +468,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "00:15:8d:00:03:00:01:62:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:15:8d:00:03:00:01:62", "endpoint_id": 1, "available": true, @@ -535,22 +499,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:15:8d:00:03:00:01:62:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:15:8d:00:03:00:01:62", "endpoint_id": 1, "available": true, @@ -584,22 +532,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:15:8d:00:03:00:01:62:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:15:8d:00:03:00:01:62", "endpoint_id": 1, "available": true, @@ -635,22 +567,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:03:00:01:62:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:03:00:01:62", "endpoint_id": 1, "available": true, @@ -679,22 +595,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:03:00:01:62:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:03:00:01:62", "endpoint_id": 1, "available": true, @@ -725,22 +625,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:15:8d:00:03:00:01:62:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:03:00:01:62", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/innr-rc-250.json b/tests/data/devices/innr-rc-250.json index b3d8bb14d..0e52f9b04 100644 --- a/tests/data/devices/innr-rc-250.json +++ b/tests/data/devices/innr-rc-250.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:25:3a:b6:6f", "nwk": "0xDD91", "manufacturer": "innr", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 20 + "value": 20, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,28 +93,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 25 + "value": 25, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -114,26 +132,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -146,11 +169,13 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -215,22 +240,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:25:3a:b6:6f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:25:3a:b6:6f", "endpoint_id": 1, "available": true, @@ -263,22 +272,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:25:3a:b6:6f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:25:3a:b6:6f", "endpoint_id": 1, "available": true, @@ -307,22 +300,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:25:3a:b6:6f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:25:3a:b6:6f", "endpoint_id": 1, "available": true, @@ -351,22 +328,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:25:3a:b6:6f:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:25:3a:b6:6f", "endpoint_id": 1, "available": true, @@ -405,22 +366,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:25:3a:b6:6f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:25:3a:b6:6f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/innr-rs-232-c.json b/tests/data/devices/innr-rs-232-c.json index 468c306b6..7420c01ca 100644 --- a/tests/data/devices/innr-rs-232-c.json +++ b/tests/data/devices/innr-rs-232-c.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f1:3f:19:36", "nwk": "0xF875", "manufacturer": "innr", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,19 +197,37 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 497 + "value": 497, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 34443 + "value": 34443, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 27097 + "value": 27097, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -209,16 +246,19 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc82", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -226,6 +266,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -248,6 +289,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -318,22 +360,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:f1:3f:19:36:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f1:3f:19:36", "endpoint_id": 1, "available": true, @@ -366,50 +392,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:f1:3f:19:36:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:f1:3f:19:36:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:f1:3f:19:36:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:f1:3f:19:36", "endpoint_id": 1, "available": true, @@ -470,22 +452,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:f1:3f:19:36:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:f1:3f:19:36", "endpoint_id": 1, "available": true, @@ -517,22 +483,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:f1:3f:19:36:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:f1:3f:19:36", "endpoint_id": 1, "available": true, @@ -564,22 +514,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:f1:3f:19:36:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:f1:3f:19:36", "endpoint_id": 1, "available": true, @@ -611,22 +545,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:f1:3f:19:36:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:f1:3f:19:36", "endpoint_id": 1, "available": true, @@ -658,22 +576,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:f1:3f:19:36:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:f1:3f:19:36", "endpoint_id": 1, "available": true, @@ -705,22 +607,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:f1:3f:19:36:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:f1:3f:19:36", "endpoint_id": 1, "available": true, @@ -754,22 +640,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:f1:3f:19:36:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:f1:3f:19:36", "endpoint_id": 1, "available": true, @@ -805,22 +675,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f1:3f:19:36:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f1:3f:19:36", "endpoint_id": 1, "available": true, @@ -849,22 +703,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f1:3f:19:36:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f1:3f:19:36", "endpoint_id": 1, "available": true, @@ -895,22 +733,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f1:3f:19:36:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f1:3f:19:36", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/innr-sp-120.json b/tests/data/devices/innr-sp-120.json index 62fd2e310..44f4fa0f1 100644 --- a/tests/data/devices/innr-sp-120.json +++ b/tests/data/devices/innr-sp-120.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:76:d3:fb:4b", "nwk": "0x66C3", "manufacturer": "innr", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,12 +112,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -149,59 +167,109 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 14526 + "value": 14526, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -219,7 +287,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -243,7 +317,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -262,24 +342,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -303,31 +402,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -351,19 +480,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -375,7 +630,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -399,13 +660,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -429,19 +702,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 238 + "value": 238, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -465,13 +756,37 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -480,16 +795,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -511,6 +829,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -583,22 +902,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:76:d3:fb:4b:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:76:d3:fb:4b", "endpoint_id": 1, "available": true, @@ -631,22 +934,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:76:d3:fb:4b:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:76:d3:fb:4b", "endpoint_id": 1, "available": true, @@ -680,22 +967,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:76:d3:fb:4b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:76:d3:fb:4b", "endpoint_id": 1, "available": true, @@ -724,22 +995,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:76:d3:fb:4b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:76:d3:fb:4b", "endpoint_id": 1, "available": true, @@ -768,22 +1023,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "MeteringClusterInnrOld", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:76:d3:fb:4b:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:76:d3:fb:4b", "endpoint_id": 1, "available": true, @@ -820,22 +1059,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:76:d3:fb:4b:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:76:d3:fb:4b", "endpoint_id": 1, "available": true, @@ -869,22 +1092,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:76:d3:fb:4b:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:76:d3:fb:4b", "endpoint_id": 1, "available": true, @@ -918,22 +1125,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:76:d3:fb:4b:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:76:d3:fb:4b", "endpoint_id": 1, "available": true, @@ -969,22 +1160,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:76:d3:fb:4b:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:76:d3:fb:4b", "endpoint_id": 1, "available": true, @@ -1013,22 +1188,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:76:d3:fb:4b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:76:d3:fb:4b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/innr-sp-234.json b/tests/data/devices/innr-sp-234.json index 57a8bad1c..1ba24067b 100755 --- a/tests/data/devices/innr-sp-234.json +++ b/tests/data/devices/innr-sp-234.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "70:ac:08:ff:fe:ef:c4:b7", "nwk": "0x3E2B", "manufacturer": "innr", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,54 +106,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 541 + "value": 541, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -160,7 +220,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -178,7 +244,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -197,24 +269,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -238,31 +329,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -270,11 +391,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -286,7 +545,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -298,13 +563,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 7 + "value": 7, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -312,38 +589,108 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 123 + "value": 123, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc82", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -351,16 +698,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -383,6 +733,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -456,22 +807,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "70:ac:08:ff:fe:ef:c4:b7:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "70:ac:08:ff:fe:ef:c4:b7", "endpoint_id": 1, "available": true, @@ -504,22 +839,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "70:ac:08:ff:fe:ef:c4:b7:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "70:ac:08:ff:fe:ef:c4:b7", "endpoint_id": 1, "available": true, @@ -555,22 +874,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "70:ac:08:ff:fe:ef:c4:b7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "70:ac:08:ff:fe:ef:c4:b7", "endpoint_id": 1, "available": true, @@ -599,22 +902,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "70:ac:08:ff:fe:ef:c4:b7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "70:ac:08:ff:fe:ef:c4:b7", "endpoint_id": 1, "available": true, @@ -643,22 +930,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "MeteringClusterInnrOld", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "70:ac:08:ff:fe:ef:c4:b7:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "70:ac:08:ff:fe:ef:c4:b7", "endpoint_id": 1, "available": true, @@ -695,22 +966,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "70:ac:08:ff:fe:ef:c4:b7:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "70:ac:08:ff:fe:ef:c4:b7", "endpoint_id": 1, "available": true, @@ -744,22 +999,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "70:ac:08:ff:fe:ef:c4:b7:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "70:ac:08:ff:fe:ef:c4:b7", "endpoint_id": 1, "available": true, @@ -793,22 +1032,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "70:ac:08:ff:fe:ef:c4:b7:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "70:ac:08:ff:fe:ef:c4:b7", "endpoint_id": 1, "available": true, @@ -844,22 +1067,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "70:ac:08:ff:fe:ef:c4:b7:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "70:ac:08:ff:fe:ef:c4:b7", "endpoint_id": 1, "available": true, @@ -888,22 +1095,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "70:ac:08:ff:fe:ef:c4:b7:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "70:ac:08:ff:fe:ef:c4:b7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/innr-sp-240.json b/tests/data/devices/innr-sp-240.json index 0628c61e3..ef12cf696 100644 --- a/tests/data/devices/innr-sp-240.json +++ b/tests/data/devices/innr-sp-240.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:39:51:53:67", "nwk": "0x2020", "manufacturer": "innr", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,54 +161,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 143 + "value": 143, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -208,7 +275,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -226,7 +299,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -245,24 +324,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -286,31 +384,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 2 + "value": 2, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -334,19 +462,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -358,7 +612,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -382,13 +642,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 14 + "value": 14, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -412,19 +684,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 231 + "value": 231, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -448,24 +738,50 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -473,11 +789,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -518,6 +836,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -589,22 +908,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:39:51:53:67:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:51:53:67", "endpoint_id": 1, "available": true, @@ -637,22 +940,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:39:51:53:67:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:39:51:53:67", "endpoint_id": 1, "available": true, @@ -688,22 +975,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:39:51:53:67:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:51:53:67", "endpoint_id": 1, "available": true, @@ -732,22 +1003,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:39:51:53:67:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:51:53:67", "endpoint_id": 1, "available": true, @@ -776,22 +1031,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "MeteringClusterInnrNew", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:39:51:53:67:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:39:51:53:67", "endpoint_id": 1, "available": true, @@ -828,22 +1067,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:39:51:53:67:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:39:51:53:67", "endpoint_id": 1, "available": true, @@ -877,22 +1100,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:39:51:53:67:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:39:51:53:67", "endpoint_id": 1, "available": true, @@ -926,22 +1133,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:39:51:53:67:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:39:51:53:67", "endpoint_id": 1, "available": true, @@ -977,22 +1168,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:39:51:53:67:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:39:51:53:67", "endpoint_id": 1, "available": true, @@ -1021,22 +1196,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:39:51:53:67:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:51:53:67", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/innr-sp-242.json b/tests/data/devices/innr-sp-242.json index 78304d2ff..0a6791931 100644 --- a/tests/data/devices/innr-sp-242.json +++ b/tests/data/devices/innr-sp-242.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:86:df:1b:97", "nwk": "0x89D2", "manufacturer": "innr", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,54 +161,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 466 + "value": 466, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -208,7 +275,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -226,7 +299,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -245,24 +324,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -286,31 +384,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -334,19 +462,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -358,7 +612,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -382,13 +642,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -412,19 +684,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 240 + "value": 240, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -448,30 +738,50 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -479,11 +789,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -506,6 +818,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -577,22 +890,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:86:df:1b:97:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:86:df:1b:97", "endpoint_id": 1, "available": true, @@ -625,22 +922,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:86:df:1b:97:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:86:df:1b:97", "endpoint_id": 1, "available": true, @@ -672,22 +953,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:86:df:1b:97:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:86:df:1b:97", "endpoint_id": 1, "available": true, @@ -719,22 +984,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:86:df:1b:97:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:86:df:1b:97", "endpoint_id": 1, "available": true, @@ -766,22 +1015,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:86:df:1b:97:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:86:df:1b:97", "endpoint_id": 1, "available": true, @@ -813,22 +1046,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:86:df:1b:97:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:86:df:1b:97", "endpoint_id": 1, "available": true, @@ -862,22 +1079,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:86:df:1b:97:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:86:df:1b:97", "endpoint_id": 1, "available": true, @@ -913,22 +1114,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:86:df:1b:97:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:86:df:1b:97", "endpoint_id": 1, "available": true, @@ -957,22 +1142,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:86:df:1b:97:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:86:df:1b:97", "endpoint_id": 1, "available": true, @@ -1001,22 +1170,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:86:df:1b:97:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:86:df:1b:97", "endpoint_id": 1, "available": true, @@ -1053,22 +1206,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:86:df:1b:97:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:86:df:1b:97", "endpoint_id": 1, "available": true, @@ -1102,22 +1239,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:86:df:1b:97:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:86:df:1b:97", "endpoint_id": 1, "available": true, @@ -1151,22 +1272,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:86:df:1b:97:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:86:df:1b:97", "endpoint_id": 1, "available": true, @@ -1202,22 +1307,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:86:df:1b:97:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:86:df:1b:97", "endpoint_id": 1, "available": true, @@ -1246,22 +1335,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:86:df:1b:97:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:86:df:1b:97", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/inovelli-vzm30-sn.json b/tests/data/devices/inovelli-vzm30-sn.json index 1b201a2ee..4164be0f0 100644 --- a/tests/data/devices/inovelli-vzm30-sn.json +++ b/tests/data/devices/inovelli-vzm30-sn.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:9a:d6:cb:e7", "nwk": "0x3F4D", "manufacturer": "Inovelli", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,54 +161,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 7061 + "value": 7061, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -208,7 +275,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -226,7 +299,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -245,24 +324,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 99 + "value": 99, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -286,31 +384,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -334,19 +462,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -358,7 +612,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -382,13 +642,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -412,19 +684,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 1244 + "value": 1244, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -448,24 +738,50 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc31", "endpoint_attribute": "inovelli_vzm31sn_cluster", + "bind": "SUCCESS", "attributes": [ { "id": "0x0020", @@ -484,6 +800,7 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -491,6 +808,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -512,21 +830,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -534,21 +856,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc31", "endpoint_attribute": "inovelli_vzm31sn_cluster", + "bind": "SUCCESS", "attributes": [] } ] @@ -563,21 +889,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -585,21 +915,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc31", "endpoint_attribute": "inovelli_vzm31sn_cluster", + "bind": "SUCCESS", "attributes": [] } ] @@ -614,34 +948,50 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2224 + "value": 2224, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5051 + "value": 5051, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -650,6 +1000,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -665,6 +1016,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -781,22 +1133,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:9a:d6:cb:e7:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9a:d6:cb:e7", "endpoint_id": 1, "available": true, @@ -829,36 +1165,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:9a:d6:cb:e7:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:9a:d6:cb:e7:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:9a:d6:cb:e7", "endpoint_id": 1, "available": true, @@ -912,22 +1218,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:9a:d6:cb:e7:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:9a:d6:cb:e7", "endpoint_id": 1, "available": true, @@ -959,22 +1249,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:9a:d6:cb:e7:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:9a:d6:cb:e7", "endpoint_id": 1, "available": true, @@ -1006,22 +1280,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:9a:d6:cb:e7:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:9a:d6:cb:e7", "endpoint_id": 1, "available": true, @@ -1053,22 +1311,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:9a:d6:cb:e7:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:9a:d6:cb:e7", "endpoint_id": 1, "available": true, @@ -1102,22 +1344,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:9a:d6:cb:e7:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:9a:d6:cb:e7", "endpoint_id": 1, "available": true, @@ -1153,22 +1379,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:9a:d6:cb:e7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9a:d6:cb:e7", "endpoint_id": 1, "available": true, @@ -1197,22 +1407,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:9a:d6:cb:e7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9a:d6:cb:e7", "endpoint_id": 1, "available": true, @@ -1241,22 +1435,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:9a:d6:cb:e7:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:9a:d6:cb:e7", "endpoint_id": 1, "available": true, @@ -1293,22 +1471,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:9a:d6:cb:e7:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:9a:d6:cb:e7", "endpoint_id": 1, "available": true, @@ -1341,22 +1503,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:9a:d6:cb:e7:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:9a:d6:cb:e7", "endpoint_id": 1, "available": true, @@ -1389,22 +1535,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:9a:d6:cb:e7:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:9a:d6:cb:e7", "endpoint_id": 1, "available": true, @@ -1437,22 +1567,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM30SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:9a:d6:cb:e7:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9a:d6:cb:e7", "endpoint_id": 1, "available": true, @@ -1481,22 +1595,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM30SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:9a:d6:cb:e7:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9a:d6:cb:e7", "endpoint_id": 1, "available": true, @@ -1525,22 +1623,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 4, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "4:0x0402", - "unique_id": "ab:cd:ef:12:9a:d6:cb:e7:4:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:9a:d6:cb:e7", "endpoint_id": 4, "available": true, @@ -1569,22 +1651,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 4, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "4:0x0405", - "unique_id": "ab:cd:ef:12:9a:d6:cb:e7:4:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:9a:d6:cb:e7", "endpoint_id": 4, "available": true, @@ -1615,22 +1681,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:9a:d6:cb:e7:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9a:d6:cb:e7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/inovelli-vzm31-sn.json b/tests/data/devices/inovelli-vzm31-sn.json index b6a80576b..97d80e4e6 100644 --- a/tests/data/devices/inovelli-vzm31-sn.json +++ b/tests/data/devices/inovelli-vzm31-sn.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:dc:41:3c:40", "nwk": "0x46DF", "manufacturer": "Inovelli", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,12 +112,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -149,54 +167,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 302 + "value": 302, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -214,7 +281,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -232,7 +305,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -251,24 +330,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -292,31 +390,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -340,19 +468,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -364,7 +618,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -388,13 +648,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -418,19 +690,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -454,24 +744,50 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc31", "endpoint_attribute": "inovelli_vzm31sn_cluster", + "bind": "SUCCESS", "attributes": [ { "id": "0x0014", @@ -742,6 +1058,7 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -749,6 +1066,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -770,21 +1088,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -792,21 +1114,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc31", "endpoint_attribute": "inovelli_vzm31sn_cluster", + "bind": "SUCCESS", "attributes": [] } ] @@ -822,6 +1148,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -909,22 +1236,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -957,36 +1268,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1040,22 +1321,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1087,22 +1352,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1134,22 +1383,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1181,22 +1414,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1228,22 +1445,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1275,22 +1476,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1322,22 +1507,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1369,22 +1538,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1416,22 +1569,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1463,22 +1600,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1510,22 +1631,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1557,22 +1662,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1604,22 +1693,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1651,22 +1724,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1698,22 +1755,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1745,22 +1786,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1792,22 +1817,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1839,22 +1848,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1886,22 +1879,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1933,22 +1910,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -1980,22 +1941,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2027,22 +1972,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2074,22 +2003,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2123,22 +2036,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2172,22 +2069,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2219,22 +2100,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2266,22 +2131,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2317,22 +2166,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2361,22 +2194,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2405,22 +2222,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2457,22 +2258,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2505,22 +2290,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2549,22 +2318,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2595,22 +2348,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2643,22 +2380,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2691,22 +2412,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2739,22 +2444,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2787,22 +2476,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2835,22 +2508,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2883,22 +2540,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2931,22 +2572,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM31SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, @@ -2981,22 +2606,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:dc:41:3c:40:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:41:3c:40", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/inovelli-vzm35-sn.json b/tests/data/devices/inovelli-vzm35-sn.json index f0012ae96..c925a167e 100644 --- a/tests/data/devices/inovelli-vzm35-sn.json +++ b/tests/data/devices/inovelli-vzm35-sn.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:03:3d:90:21", "nwk": "0xE534", "manufacturer": "Inovelli", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,11 +161,13 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc31", "endpoint_attribute": "inovelli_vzm31sn_cluster", + "bind": "SUCCESS", "attributes": [ { "id": "0x000c", @@ -382,6 +402,7 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -389,6 +410,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -410,21 +432,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -432,21 +458,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc31", "endpoint_attribute": "inovelli_vzm31sn_cluster", + "bind": "SUCCESS", "attributes": [] } ] @@ -462,6 +492,7 @@ { "cluster_id": "0xfc31", "endpoint_attribute": "inovelli_vzm31sn_cluster", + "bind": "SUCCESS", "attributes": [] } ] @@ -477,6 +508,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -570,22 +602,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -618,36 +634,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -701,22 +687,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -748,22 +718,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -795,22 +749,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -842,22 +780,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -889,22 +811,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -936,22 +842,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -983,22 +873,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1030,22 +904,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1077,22 +935,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1124,22 +966,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1171,22 +997,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1218,22 +1028,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1265,22 +1059,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1312,22 +1090,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1359,22 +1121,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1406,22 +1152,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1453,22 +1183,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1500,22 +1214,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1547,22 +1245,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1594,22 +1276,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1641,22 +1307,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1688,22 +1338,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1735,22 +1369,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1782,22 +1400,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1829,22 +1431,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1876,22 +1462,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1925,22 +1495,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -1974,22 +1528,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -2021,22 +1559,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -2077,22 +1599,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -2126,22 +1632,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -2170,22 +1660,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -2214,22 +1688,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -2258,22 +1716,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -2304,22 +1746,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -2352,22 +1778,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -2400,22 +1810,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -2448,22 +1842,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -2496,22 +1874,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -2544,22 +1906,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -2592,22 +1938,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -2640,22 +1970,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -2688,22 +2002,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "InovelliConfigEntityClusterHandler", - "generic_id": "cluster_handler_0xfc31", - "endpoint_id": 1, - "cluster": { - "id": 64561, - "name": "InovelliVZM35SNCluster", - "type": "server" - }, - "id": "1:0xfc31", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0xfc31", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, @@ -2738,22 +2036,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:03:3d:90:21:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:3d:90:21", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/isilentllc-dog-feeder.json b/tests/data/devices/isilentllc-dog-feeder.json index f4c9247db..d765c8cc1 100644 --- a/tests/data/devices/isilentllc-dog-feeder.json +++ b/tests/data/devices/isilentllc-dog-feeder.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:13:a2:00:41:67:1f:d7", "nwk": "0xB988", "manufacturer": "iSilentLLC", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -80,18 +88,26 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 27.0 + "value": 27.0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -127,7 +143,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 3.0 + "value": 3.0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0068", @@ -146,6 +168,7 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -157,13 +180,20 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -186,18 +216,26 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -220,6 +258,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -235,12 +274,19 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -324,22 +370,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 1, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "1:0x000f", - "unique_id": "00:13:a2:00:41:67:1f:d7:1:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "00:13:a2:00:41:67:1f:d7", "endpoint_id": 1, "available": true, @@ -367,22 +397,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 2, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "2:0x000f", - "unique_id": "00:13:a2:00:41:67:1f:d7:2:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "00:13:a2:00:41:67:1f:d7", "endpoint_id": 2, "available": true, @@ -410,22 +424,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 4, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "4:0x000f", - "unique_id": "00:13:a2:00:41:67:1f:d7:4:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "00:13:a2:00:41:67:1f:d7", "endpoint_id": 4, "available": true, @@ -455,22 +453,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 1, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "1:0x000d", - "unique_id": "00:13:a2:00:41:67:1f:d7:1:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "00:13:a2:00:41:67:1f:d7", "endpoint_id": 1, "available": true, @@ -504,22 +486,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:13:a2:00:41:67:1f:d7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:13:a2:00:41:67:1f:d7", "endpoint_id": 1, "available": true, @@ -548,22 +514,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:13:a2:00:41:67:1f:d7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:13:a2:00:41:67:1f:d7", "endpoint_id": 1, "available": true, @@ -594,22 +544,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:13:a2:00:41:67:1f:d7:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:13:a2:00:41:67:1f:d7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/isilentllc-doorbell.json b/tests/data/devices/isilentllc-doorbell.json index 20650a1f2..28cc89dc5 100644 --- a/tests/data/devices/isilentllc-doorbell.json +++ b/tests/data/devices/isilentllc-doorbell.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:13:a2:00:40:c0:4e:54", "nwk": "0x8F36", "manufacturer": "iSilentLLC", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -68,6 +69,7 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -79,7 +81,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -96,29 +104,44 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2640 + "value": 2640, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4680 + "value": 4680, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -183,22 +206,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 1, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "1:0x000f", - "unique_id": "00:13:a2:00:40:c0:4e:54:1:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "00:13:a2:00:40:c0:4e:54", "endpoint_id": 1, "available": true, @@ -228,22 +235,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:13:a2:00:40:c0:4e:54:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:13:a2:00:40:c0:4e:54", "endpoint_id": 1, "available": true, @@ -272,22 +263,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:13:a2:00:40:c0:4e:54:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:13:a2:00:40:c0:4e:54", "endpoint_id": 1, "available": true, @@ -316,22 +291,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 2, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "2:0x0402", - "unique_id": "00:13:a2:00:40:c0:4e:54:2:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:13:a2:00:40:c0:4e:54", "endpoint_id": 2, "available": true, @@ -360,22 +319,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 2, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "2:0x0405", - "unique_id": "00:13:a2:00:40:c0:4e:54:2:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:13:a2:00:40:c0:4e:54", "endpoint_id": 2, "available": true, diff --git a/tests/data/devices/isilentllc-freezer-monitor.json b/tests/data/devices/isilentllc-freezer-monitor.json index 5019536f1..bc90c7e62 100644 --- a/tests/data/devices/isilentllc-freezer-monitor.json +++ b/tests/data/devices/isilentllc-freezer-monitor.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "f0:f5:bd:ff:fe:2c:e0:90", "nwk": "0xEE0B", "manufacturer": "iSilentLLC", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,17 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x006f", @@ -87,6 +96,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -101,12 +111,19 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": -2381 + "value": -2381, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] } @@ -124,6 +141,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -195,22 +213,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 1, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "1:0x000f", - "unique_id": "f0:f5:bd:ff:fe:2c:e0:90:1:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "f0:f5:bd:ff:fe:2c:e0:90", "endpoint_id": 1, "available": true, @@ -240,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "f0:f5:bd:ff:fe:2c:e0:90:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f0:f5:bd:ff:fe:2c:e0:90", "endpoint_id": 1, "available": true, @@ -288,22 +274,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "f0:f5:bd:ff:fe:2c:e0:90:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f0:f5:bd:ff:fe:2c:e0:90", "endpoint_id": 1, "available": true, @@ -332,22 +302,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "f0:f5:bd:ff:fe:2c:e0:90:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f0:f5:bd:ff:fe:2c:e0:90", "endpoint_id": 1, "available": true, @@ -376,22 +330,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 3, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "3:0x0402", - "unique_id": "f0:f5:bd:ff:fe:2c:e0:90:3:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "f0:f5:bd:ff:fe:2c:e0:90", "endpoint_id": 3, "available": true, diff --git a/tests/data/devices/isilentllc-home-energy-monitor.json b/tests/data/devices/isilentllc-home-energy-monitor.json index f104ee5d7..1140bf890 100644 --- a/tests/data/devices/isilentllc-home-energy-monitor.json +++ b/tests/data/devices/isilentllc-home-energy-monitor.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:13:a2:00:41:93:fe:df", "nwk": "0x29E5", "manufacturer": "iSilentLLC", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -72,24 +73,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6017 + "value": 6017, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -113,31 +133,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 1061 + "value": 1061, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -145,11 +195,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 5361 + "value": 5361, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -161,7 +349,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -173,7 +367,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -185,7 +385,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 628 + "value": 628, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -193,17 +399,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11851 + "value": 11851, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -220,24 +492,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5936 + "value": 5936, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -261,31 +552,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 3933 + "value": 3933, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -293,11 +614,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 640 + "value": 640, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -309,7 +768,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -321,7 +786,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -333,7 +804,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 529 + "value": 529, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -341,17 +818,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11519 + "value": 11519, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -368,24 +911,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5999 + "value": 5999, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -409,31 +971,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 6377 + "value": 6377, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -441,11 +1033,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 6139 + "value": 6139, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -457,7 +1187,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -469,7 +1205,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -481,7 +1223,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 833 + "value": 833, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -489,17 +1237,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11745 + "value": 11745, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -516,24 +1330,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6057 + "value": 6057, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -557,31 +1390,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 437 + "value": 437, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -589,11 +1452,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 2223 + "value": 2223, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -605,7 +1606,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -617,7 +1624,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -629,7 +1642,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1464 + "value": 1464, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -637,17 +1656,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12416 + "value": 12416, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -664,24 +1749,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5900 + "value": 5900, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -705,31 +1809,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 3148 + "value": 3148, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -737,47 +1871,203 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 8149 + "value": 8149, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x0000", - "name": "measurement_type", - "zcl_type": "map32", - "value": 15 - }, - { - "id": "0x0403", - "name": "power_divisor", - "zcl_type": "uint32", - "unsupported": true + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x0510", - "name": "power_factor", - "zcl_type": "int8", - "value": 23 + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x0402", - "name": "power_multiplier", - "zcl_type": "uint32", - "unsupported": true + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x050e", - "name": "reactive_power", + "id": "0x0106", + "name": "dc_power", "zcl_type": "int16", - "value": 272 + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0000", + "name": "measurement_type", + "zcl_type": "map32", + "value": 15 + }, + { + "id": "0x0403", + "name": "power_divisor", + "zcl_type": "uint32", + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0510", + "name": "power_factor", + "zcl_type": "int8", + "value": 23 + }, + { + "id": "0x0402", + "name": "power_multiplier", + "zcl_type": "uint32", + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x050e", + "name": "reactive_power", + "zcl_type": "int16", + "value": 272 }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1024 + "value": 1024, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -785,17 +2075,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12342 + "value": 12342, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -812,24 +2168,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6092 + "value": 6092, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -853,31 +2228,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 760 + "value": 760, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -885,11 +2290,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 3656 + "value": 3656, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -901,7 +2444,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -913,7 +2462,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -925,7 +2480,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 339 + "value": 339, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -933,17 +2494,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11860 + "value": 11860, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -960,24 +2587,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6004 + "value": 6004, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -1001,31 +2647,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 247 + "value": 247, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -1033,11 +2709,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 4342 + "value": 4342, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -1049,7 +2863,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -1061,7 +2881,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -1073,7 +2899,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 409 + "value": 409, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -1081,17 +2913,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12438 + "value": 12438, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -1108,24 +3006,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6071 + "value": 6071, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -1149,31 +3066,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 6360 + "value": 6360, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -1181,11 +3128,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 2572 + "value": 2572, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -1197,7 +3282,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -1209,7 +3300,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -1221,7 +3318,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 348 + "value": 348, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -1229,17 +3332,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12469 + "value": 12469, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -1256,24 +3425,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6004 + "value": 6004, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -1297,31 +3485,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 1611 + "value": 1611, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -1329,39 +3547,189 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 2501 + "value": 2501, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x0000", - "name": "measurement_type", - "zcl_type": "map32", - "value": 15 + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x0403", - "name": "power_divisor", - "zcl_type": "uint32", - "unsupported": true + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x0510", - "name": "power_factor", - "zcl_type": "int8", - "value": 55 + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x0402", - "name": "power_multiplier", - "zcl_type": "uint32", - "unsupported": true + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x050e", - "name": "reactive_power", + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0000", + "name": "measurement_type", + "zcl_type": "map32", + "value": 15 + }, + { + "id": "0x0403", + "name": "power_divisor", + "zcl_type": "uint32", + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0510", + "name": "power_factor", + "zcl_type": "int8", + "value": 55 + }, + { + "id": "0x0402", + "name": "power_multiplier", + "zcl_type": "uint32", + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x050e", + "name": "reactive_power", "zcl_type": "int16", "value": 344 }, @@ -1369,7 +3737,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1104 + "value": 1104, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -1377,17 +3751,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11842 + "value": 11842, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -1404,24 +3844,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6057 + "value": 6057, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -1445,31 +3904,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 6125 + "value": 6125, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -1477,11 +3966,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 8322 + "value": 8322, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -1493,7 +4120,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -1505,7 +4138,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -1517,7 +4156,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1050 + "value": 1050, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -1525,17 +4170,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12193 + "value": 12193, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -1552,24 +4263,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6004 + "value": 6004, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -1593,31 +4323,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 37 + "value": 37, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -1625,11 +4385,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 2904 + "value": 2904, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -1641,7 +4539,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -1653,7 +4557,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -1665,7 +4575,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 435 + "value": 435, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -1673,17 +4589,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12332 + "value": 12332, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -1700,24 +4682,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6065 + "value": 6065, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -1741,31 +4742,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 7387 + "value": 7387, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -1773,11 +4804,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 7156 + "value": 7156, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -1789,7 +4958,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -1801,7 +4976,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -1813,7 +4994,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 436 + "value": 436, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -1821,17 +5008,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11729 + "value": 11729, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -1848,24 +5101,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6094 + "value": 6094, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -1889,31 +5161,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 8066 + "value": 8066, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -1921,47 +5223,203 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 5859 + "value": 5859, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x0000", - "name": "measurement_type", - "zcl_type": "map32", - "value": 15 + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x0403", - "name": "power_divisor", - "zcl_type": "uint32", - "unsupported": true + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x0510", - "name": "power_factor", - "zcl_type": "int8", - "value": 18 + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x0402", - "name": "power_multiplier", - "zcl_type": "uint32", - "unsupported": true + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x050e", - "name": "reactive_power", - "zcl_type": "int16", - "value": 345 + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0000", + "name": "measurement_type", + "zcl_type": "map32", + "value": 15 + }, + { + "id": "0x0403", + "name": "power_divisor", + "zcl_type": "uint32", + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0510", + "name": "power_factor", + "zcl_type": "int8", + "value": 18 + }, + { + "id": "0x0402", + "name": "power_multiplier", + "zcl_type": "uint32", + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x050e", + "name": "reactive_power", + "zcl_type": "int16", + "value": 345 }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 826 + "value": 826, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -1969,17 +5427,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11736 + "value": 11736, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -1996,24 +5520,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6074 + "value": 6074, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -2037,31 +5580,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 534 + "value": 534, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -2069,11 +5642,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 7712 + "value": 7712, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -2085,7 +5796,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -2097,7 +5814,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -2109,7 +5832,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1219 + "value": 1219, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -2117,17 +5846,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12067 + "value": 12067, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -2144,24 +5939,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6032 + "value": 6032, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -2185,31 +5999,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 8207 + "value": 8207, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -2217,11 +6061,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 898 + "value": 898, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -2233,7 +6215,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -2245,7 +6233,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -2257,7 +6251,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1193 + "value": 1193, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -2265,17 +6265,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11678 + "value": 11678, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -2292,24 +6358,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6088 + "value": 6088, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -2333,31 +6418,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 5388 + "value": 5388, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -2365,11 +6480,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 6555 + "value": 6555, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -2381,7 +6634,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -2393,7 +6652,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -2405,7 +6670,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1007 + "value": 1007, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -2413,17 +6684,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12071 + "value": 12071, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -2440,24 +6777,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6085 + "value": 6085, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -2481,31 +6837,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 1529 + "value": 1529, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -2513,47 +6899,203 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 5531 + "value": 5531, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x0000", - "name": "measurement_type", - "zcl_type": "map32", - "value": 15 + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x0403", - "name": "power_divisor", - "zcl_type": "uint32", - "unsupported": true + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x0510", - "name": "power_factor", - "zcl_type": "int8", - "value": 24 + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x0402", - "name": "power_multiplier", - "zcl_type": "uint32", - "unsupported": true + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x050e", - "name": "reactive_power", - "zcl_type": "int16", - "value": 217 + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0000", + "name": "measurement_type", + "zcl_type": "map32", + "value": 15 + }, + { + "id": "0x0403", + "name": "power_divisor", + "zcl_type": "uint32", + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0510", + "name": "power_factor", + "zcl_type": "int8", + "value": 24 + }, + { + "id": "0x0402", + "name": "power_multiplier", + "zcl_type": "uint32", + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x050e", + "name": "reactive_power", + "zcl_type": "int16", + "value": 217 }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1446 + "value": 1446, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -2561,17 +7103,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11615 + "value": 11615, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -2588,24 +7196,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5993 + "value": 5993, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -2629,31 +7256,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 292 + "value": 292, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -2661,11 +7318,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 5075 + "value": 5075, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -2677,7 +7472,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -2689,7 +7490,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -2701,7 +7508,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 523 + "value": 523, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -2709,17 +7522,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12130 + "value": 12130, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -2736,24 +7615,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6021 + "value": 6021, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -2777,31 +7675,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 5951 + "value": 5951, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -2809,11 +7737,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 9269 + "value": 9269, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -2825,7 +7891,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -2837,7 +7909,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -2849,7 +7927,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 670 + "value": 670, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -2857,17 +7941,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11991 + "value": 11991, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -2884,24 +8034,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5917 + "value": 5917, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -2925,31 +8094,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 417 + "value": 417, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -2957,11 +8156,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 7990 + "value": 7990, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -2973,7 +8310,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -2985,7 +8328,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -2997,7 +8346,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 394 + "value": 394, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -3005,17 +8360,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11688 + "value": 11688, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -3032,24 +8453,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5933 + "value": 5933, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -3073,31 +8513,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 6128 + "value": 6128, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -3105,11 +8575,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 513 + "value": 513, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -3121,7 +8729,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -3133,7 +8747,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -3145,7 +8765,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 564 + "value": 564, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -3153,17 +8779,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12272 + "value": 12272, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -3180,24 +8872,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5934 + "value": 5934, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -3212,52 +8923,220 @@ "unsupported": true }, { - "id": "0x0400", - "name": "ac_frequency_multiplier", - "zcl_type": "uint16", - "value": 1 + "id": "0x0400", + "name": "ac_frequency_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0605", + "name": "ac_power_divisor", + "zcl_type": "uint16", + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0604", + "name": "ac_power_multiplier", + "zcl_type": "uint16", + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0601", + "name": "ac_voltage_divisor", + "zcl_type": "uint16", + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0600", + "name": "ac_voltage_multiplier", + "zcl_type": "uint16", + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x050b", + "name": "active_power", + "zcl_type": "int16", + "value": 1190, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x050d", + "name": "active_power_max", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x050f", + "name": "apparent_power", + "zcl_type": "uint16", + "value": 3919, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x0605", - "name": "ac_power_divisor", + "id": "0x0203", + "name": "dc_current_divisor", "zcl_type": "uint16", - "value": 100 + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x0604", - "name": "ac_power_multiplier", + "id": "0x0202", + "name": "dc_current_multiplier", "zcl_type": "uint16", - "value": 1 + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x0601", - "name": "ac_voltage_divisor", + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", "zcl_type": "uint16", - "value": 100 + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x0600", - "name": "ac_voltage_multiplier", + "id": "0x0204", + "name": "dc_power_multiplier", "zcl_type": "uint16", - "value": 1 + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x050b", - "name": "active_power", + "id": "0x0100", + "name": "dc_voltage", "zcl_type": "int16", - "value": 1190 + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x050d", - "name": "active_power_max", - "zcl_type": "int16", - "unsupported": true + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { - "id": "0x050f", - "name": "apparent_power", + "id": "0x0200", + "name": "dc_voltage_multiplier", "zcl_type": "uint16", - "value": 3919 + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -3269,7 +9148,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -3281,7 +9166,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -3293,7 +9184,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 391 + "value": 391, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -3301,17 +9198,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11666 + "value": 11666, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -3328,24 +9291,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5999 + "value": 5999, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -3369,31 +9351,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 411 + "value": 411, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -3401,11 +9413,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 9432 + "value": 9432, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -3417,7 +9567,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -3429,7 +9585,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -3441,7 +9603,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 184 + "value": 184, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -3449,17 +9617,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12141 + "value": 12141, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -3476,24 +9710,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5946 + "value": 5946, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -3517,31 +9770,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 1349 + "value": 1349, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -3549,11 +9832,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 2808 + "value": 2808, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -3565,7 +9986,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -3577,7 +10004,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -3589,7 +10022,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 168 + "value": 168, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -3597,17 +10036,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11804 + "value": 11804, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -3624,24 +10129,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5958 + "value": 5958, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -3665,31 +10189,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 8408 + "value": 8408, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -3697,11 +10251,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 918 + "value": 918, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -3713,7 +10405,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -3725,7 +10423,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -3737,7 +10441,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 352 + "value": 352, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -3745,17 +10455,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12404 + "value": 12404, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -4009,22 +10785,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:13:a2:00:41:93:fe:df:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 1, "available": true, @@ -4053,22 +10813,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:13:a2:00:41:93:fe:df:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 1, "available": true, @@ -4097,22 +10841,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 10, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "10:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:10:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 10, "available": true, @@ -4146,22 +10874,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 10, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "10:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:10:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 10, "available": true, @@ -4195,22 +10907,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 10, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "10:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:10:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 10, "available": true, @@ -4243,22 +10939,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 10, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "10:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:10:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 10, "available": true, @@ -4291,22 +10971,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 10, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "10:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:10:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 10, "available": true, @@ -4340,22 +11004,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 10, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "10:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:10:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 10, "available": true, @@ -4389,22 +11037,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 11, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "11:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:11:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 11, "available": true, @@ -4438,22 +11070,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 11, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "11:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:11:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 11, "available": true, @@ -4487,22 +11103,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 11, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "11:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:11:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 11, "available": true, @@ -4535,22 +11135,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 11, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "11:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:11:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 11, "available": true, @@ -4583,22 +11167,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 11, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "11:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:11:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 11, "available": true, @@ -4632,22 +11200,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 11, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "11:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:11:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 11, "available": true, @@ -4681,22 +11233,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 12, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "12:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:12:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 12, "available": true, @@ -4730,22 +11266,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 12, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "12:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:12:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 12, "available": true, @@ -4779,22 +11299,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 12, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "12:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:12:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 12, "available": true, @@ -4827,22 +11331,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 12, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "12:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:12:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 12, "available": true, @@ -4875,22 +11363,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 12, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "12:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:12:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 12, "available": true, @@ -4924,22 +11396,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 12, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "12:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:12:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 12, "available": true, @@ -4973,22 +11429,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 13, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "13:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:13:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 13, "available": true, @@ -5022,22 +11462,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 13, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "13:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:13:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 13, "available": true, @@ -5071,22 +11495,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 13, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "13:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:13:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 13, "available": true, @@ -5119,22 +11527,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 13, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "13:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:13:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 13, "available": true, @@ -5167,22 +11559,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 13, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "13:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:13:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 13, "available": true, @@ -5216,22 +11592,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 13, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "13:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:13:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 13, "available": true, @@ -5265,22 +11625,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 14, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "14:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:14:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 14, "available": true, @@ -5314,22 +11658,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 14, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "14:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:14:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 14, "available": true, @@ -5363,22 +11691,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 14, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "14:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:14:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 14, "available": true, @@ -5411,22 +11723,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 14, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "14:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:14:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 14, "available": true, @@ -5459,22 +11755,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 14, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "14:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:14:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 14, "available": true, @@ -5508,22 +11788,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 14, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "14:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:14:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 14, "available": true, @@ -5557,22 +11821,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 15, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "15:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:15:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 15, "available": true, @@ -5606,22 +11854,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 15, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "15:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:15:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 15, "available": true, @@ -5655,22 +11887,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 15, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "15:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:15:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 15, "available": true, @@ -5703,22 +11919,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 15, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "15:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:15:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 15, "available": true, @@ -5751,22 +11951,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 15, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "15:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:15:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 15, "available": true, @@ -5800,22 +11984,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 15, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "15:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:15:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 15, "available": true, @@ -5849,22 +12017,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 16, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "16:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:16:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 16, "available": true, @@ -5898,22 +12050,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 16, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "16:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:16:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 16, "available": true, @@ -5947,22 +12083,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 16, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "16:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:16:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 16, "available": true, @@ -5995,22 +12115,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 16, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "16:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:16:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 16, "available": true, @@ -6043,22 +12147,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 16, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "16:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:16:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 16, "available": true, @@ -6092,22 +12180,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 16, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "16:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:16:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 16, "available": true, @@ -6141,22 +12213,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 17, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "17:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:17:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 17, "available": true, @@ -6190,22 +12246,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 17, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "17:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:17:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 17, "available": true, @@ -6239,22 +12279,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 17, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "17:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:17:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 17, "available": true, @@ -6287,22 +12311,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 17, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "17:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:17:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 17, "available": true, @@ -6335,22 +12343,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 17, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "17:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:17:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 17, "available": true, @@ -6384,22 +12376,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 17, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "17:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:17:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 17, "available": true, @@ -6433,22 +12409,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 18, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "18:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:18:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 18, "available": true, @@ -6482,22 +12442,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 18, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "18:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:18:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 18, "available": true, @@ -6531,22 +12475,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 18, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "18:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:18:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 18, "available": true, @@ -6579,22 +12507,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 18, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "18:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:18:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 18, "available": true, @@ -6627,22 +12539,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 18, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "18:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:18:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 18, "available": true, @@ -6676,22 +12572,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 18, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "18:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:18:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 18, "available": true, @@ -6725,22 +12605,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 19, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "19:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:19:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 19, "available": true, @@ -6774,22 +12638,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 19, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "19:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:19:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 19, "available": true, @@ -6823,22 +12671,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 19, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "19:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:19:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 19, "available": true, @@ -6871,22 +12703,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 19, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "19:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:19:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 19, "available": true, @@ -6919,22 +12735,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 19, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "19:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:19:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 19, "available": true, @@ -6968,22 +12768,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 19, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "19:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:19:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 19, "available": true, @@ -7017,22 +12801,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 2, "available": true, @@ -7066,22 +12834,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 2, "available": true, @@ -7115,22 +12867,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 2, "available": true, @@ -7163,22 +12899,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 2, "available": true, @@ -7211,22 +12931,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 2, "available": true, @@ -7260,22 +12964,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 2, "available": true, @@ -7309,22 +12997,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 20, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "20:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:20:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 20, "available": true, @@ -7358,22 +13030,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 20, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "20:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:20:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 20, "available": true, @@ -7407,22 +13063,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 20, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "20:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:20:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 20, "available": true, @@ -7455,22 +13095,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 20, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "20:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:20:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 20, "available": true, @@ -7503,22 +13127,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 20, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "20:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:20:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 20, "available": true, @@ -7552,22 +13160,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 20, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "20:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:20:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 20, "available": true, @@ -7601,22 +13193,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 21, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "21:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:21:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 21, "available": true, @@ -7650,22 +13226,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 21, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "21:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:21:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 21, "available": true, @@ -7699,22 +13259,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 21, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "21:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:21:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 21, "available": true, @@ -7747,22 +13291,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 21, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "21:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:21:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 21, "available": true, @@ -7795,22 +13323,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 21, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "21:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:21:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 21, "available": true, @@ -7844,22 +13356,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 21, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "21:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:21:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 21, "available": true, @@ -7893,22 +13389,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 22, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "22:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:22:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 22, "available": true, @@ -7942,22 +13422,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 22, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "22:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:22:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 22, "available": true, @@ -7991,22 +13455,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 22, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "22:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:22:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 22, "available": true, @@ -8039,22 +13487,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 22, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "22:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:22:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 22, "available": true, @@ -8087,22 +13519,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 22, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "22:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:22:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 22, "available": true, @@ -8136,22 +13552,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 22, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "22:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:22:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 22, "available": true, @@ -8185,22 +13585,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 23, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "23:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:23:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 23, "available": true, @@ -8234,22 +13618,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 23, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "23:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:23:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 23, "available": true, @@ -8283,22 +13651,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 23, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "23:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:23:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 23, "available": true, @@ -8331,22 +13683,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 23, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "23:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:23:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 23, "available": true, @@ -8379,22 +13715,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 23, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "23:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:23:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 23, "available": true, @@ -8428,22 +13748,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 23, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "23:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:23:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 23, "available": true, @@ -8477,22 +13781,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 24, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "24:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:24:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 24, "available": true, @@ -8526,22 +13814,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 24, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "24:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:24:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 24, "available": true, @@ -8575,22 +13847,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 24, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "24:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:24:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 24, "available": true, @@ -8623,22 +13879,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 24, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "24:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:24:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 24, "available": true, @@ -8671,22 +13911,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 24, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "24:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:24:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 24, "available": true, @@ -8720,22 +13944,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 24, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "24:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:24:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 24, "available": true, @@ -8769,22 +13977,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 25, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "25:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:25:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 25, "available": true, @@ -8818,22 +14010,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 25, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "25:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:25:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 25, "available": true, @@ -8867,22 +14043,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 25, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "25:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:25:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 25, "available": true, @@ -8915,22 +14075,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 25, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "25:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:25:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 25, "available": true, @@ -8963,22 +14107,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 25, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "25:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:25:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 25, "available": true, @@ -9012,22 +14140,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 25, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "25:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:25:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 25, "available": true, @@ -9061,22 +14173,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 26, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "26:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:26:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 26, "available": true, @@ -9110,22 +14206,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 26, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "26:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:26:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 26, "available": true, @@ -9159,22 +14239,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 26, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "26:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:26:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 26, "available": true, @@ -9207,22 +14271,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 26, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "26:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:26:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 26, "available": true, @@ -9255,22 +14303,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 26, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "26:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:26:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 26, "available": true, @@ -9304,22 +14336,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 26, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "26:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:26:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 26, "available": true, @@ -9353,22 +14369,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 3, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "3:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:3:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 3, "available": true, @@ -9402,22 +14402,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 3, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "3:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:3:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 3, "available": true, @@ -9451,22 +14435,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 3, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "3:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:3:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 3, "available": true, @@ -9499,22 +14467,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 3, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "3:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:3:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 3, "available": true, @@ -9547,22 +14499,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 3, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "3:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:3:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 3, "available": true, @@ -9596,22 +14532,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 3, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "3:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:3:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 3, "available": true, @@ -9645,22 +14565,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 4, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "4:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:4:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 4, "available": true, @@ -9694,22 +14598,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 4, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "4:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:4:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 4, "available": true, @@ -9743,22 +14631,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 4, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "4:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:4:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 4, "available": true, @@ -9791,22 +14663,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 4, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "4:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:4:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 4, "available": true, @@ -9839,22 +14695,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 4, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "4:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:4:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 4, "available": true, @@ -9888,22 +14728,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 4, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "4:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:4:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 4, "available": true, @@ -9937,22 +14761,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 5, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "5:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:5:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 5, "available": true, @@ -9986,22 +14794,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 5, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "5:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:5:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 5, "available": true, @@ -10035,22 +14827,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 5, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "5:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:5:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 5, "available": true, @@ -10083,22 +14859,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 5, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "5:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:5:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 5, "available": true, @@ -10131,22 +14891,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 5, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "5:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:5:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 5, "available": true, @@ -10180,22 +14924,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 5, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "5:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:5:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 5, "available": true, @@ -10229,22 +14957,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 6, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "6:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:6:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 6, "available": true, @@ -10278,22 +14990,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 6, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "6:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:6:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 6, "available": true, @@ -10327,22 +15023,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 6, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "6:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:6:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 6, "available": true, @@ -10375,22 +15055,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 6, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "6:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:6:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 6, "available": true, @@ -10423,22 +15087,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 6, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "6:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:6:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 6, "available": true, @@ -10472,22 +15120,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 6, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "6:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:6:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 6, "available": true, @@ -10521,22 +15153,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 7, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "7:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:7:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 7, "available": true, @@ -10570,22 +15186,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 7, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "7:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:7:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 7, "available": true, @@ -10619,22 +15219,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 7, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "7:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:7:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 7, "available": true, @@ -10667,22 +15251,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 7, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "7:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:7:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 7, "available": true, @@ -10715,22 +15283,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 7, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "7:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:7:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 7, "available": true, @@ -10764,22 +15316,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 7, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "7:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:7:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 7, "available": true, @@ -10813,22 +15349,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 8, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "8:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:8:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 8, "available": true, @@ -10862,22 +15382,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 8, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "8:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:8:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 8, "available": true, @@ -10911,22 +15415,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 8, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "8:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:8:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 8, "available": true, @@ -10959,22 +15447,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 8, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "8:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:8:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 8, "available": true, @@ -11007,22 +15479,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 8, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "8:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:8:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 8, "available": true, @@ -11056,22 +15512,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 8, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "8:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:8:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 8, "available": true, @@ -11105,22 +15545,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 9, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "9:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:9:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 9, "available": true, @@ -11154,22 +15578,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 9, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "9:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:9:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 9, "available": true, @@ -11203,22 +15611,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 9, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "9:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:9:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 9, "available": true, @@ -11251,22 +15643,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 9, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "9:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:9:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 9, "available": true, @@ -11299,22 +15675,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 9, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "9:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:9:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 9, "available": true, @@ -11348,22 +15708,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 9, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "9:0x0b04", - "unique_id": "00:13:a2:00:41:93:fe:df:9:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:41:93:fe:df", "endpoint_id": 9, "available": true, diff --git a/tests/data/devices/isilentllc-masterbed-light-controller.json b/tests/data/devices/isilentllc-masterbed-light-controller.json index ffea7446c..68cd3c95d 100644 --- a/tests/data/devices/isilentllc-masterbed-light-controller.json +++ b/tests/data/devices/isilentllc-masterbed-light-controller.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:13:a2:00:40:b1:90:06", "nwk": "0x3E49", "manufacturer": "iSilentLLC", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -80,12 +88,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -128,6 +143,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -163,7 +179,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -181,13 +203,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 21364 + "value": 21364, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 21823 + "value": 21823, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -222,6 +256,7 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -239,13 +274,20 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 2.1322579383850098 + "value": 2.1322579383850098, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -281,7 +323,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 1.5 + "value": 1.5, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0068", @@ -300,6 +348,7 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0004", @@ -311,7 +360,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -328,6 +383,7 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -339,13 +395,20 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 1.122580647468567 + "value": 1.122580647468567, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -381,7 +444,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 1.5 + "value": 1.5, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0068", @@ -400,12 +469,19 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -422,24 +498,38 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2490 + "value": 2490, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4370 + "value": 4370, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -525,22 +615,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 2, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "2:0x000f", - "unique_id": "00:13:a2:00:40:b1:90:06:2:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "00:13:a2:00:40:b1:90:06", "endpoint_id": 2, "available": true, @@ -568,22 +642,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 3, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "3:0x000f", - "unique_id": "00:13:a2:00:40:b1:90:06:3:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "00:13:a2:00:40:b1:90:06", "endpoint_id": 3, "available": true, @@ -613,50 +671,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:13:a2:00:40:b1:90:06:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:13:a2:00:40:b1:90:06:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "00:13:a2:00:40:b1:90:06:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:13:a2:00:40:b1:90:06", "endpoint_id": 1, "available": true, @@ -714,22 +728,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 2, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "2:0x000d", - "unique_id": "00:13:a2:00:40:b1:90:06:2:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "00:13:a2:00:40:b1:90:06", "endpoint_id": 2, "available": true, @@ -761,22 +759,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 3, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "3:0x000d", - "unique_id": "00:13:a2:00:40:b1:90:06:3:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "00:13:a2:00:40:b1:90:06", "endpoint_id": 3, "available": true, @@ -810,22 +792,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:13:a2:00:40:b1:90:06:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:13:a2:00:40:b1:90:06", "endpoint_id": 1, "available": true, @@ -854,22 +820,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:13:a2:00:40:b1:90:06:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:13:a2:00:40:b1:90:06", "endpoint_id": 1, "available": true, @@ -898,22 +848,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 4, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "4:0x0402", - "unique_id": "00:13:a2:00:40:b1:90:06:4:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:13:a2:00:40:b1:90:06", "endpoint_id": 4, "available": true, @@ -942,22 +876,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 4, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "4:0x0405", - "unique_id": "00:13:a2:00:40:b1:90:06:4:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:13:a2:00:40:b1:90:06", "endpoint_id": 4, "available": true, diff --git a/tests/data/devices/isilentllc-safe.json b/tests/data/devices/isilentllc-safe.json index f7d12947d..f5e006af8 100644 --- a/tests/data/devices/isilentllc-safe.json +++ b/tests/data/devices/isilentllc-safe.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:13:a2:00:41:95:c3:a6", "nwk": "0x8B02", "manufacturer": "iSilentLLC", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -84,29 +92,44 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2520 + "value": 2520, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4190 + "value": 4190, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -123,11 +146,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -177,17 +202,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -200,12 +233,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -248,6 +288,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -273,17 +314,41 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0007", + "name": "color_temperature", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 21364 + "value": 21364, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 21823 + "value": 21823, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -380,22 +445,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 1, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "1:0x000f", - "unique_id": "00:13:a2:00:41:95:c3:a6:1:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "00:13:a2:00:41:95:c3:a6", "endpoint_id": 1, "available": true, @@ -423,22 +472,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 3, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "3:0x0500", - "unique_id": "00:13:a2:00:41:95:c3:a6:3:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:13:a2:00:41:95:c3:a6", "endpoint_id": 3, "available": true, @@ -468,50 +501,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "4:0x0006", - "unique_id": "00:13:a2:00:41:95:c3:a6:4:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 4, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "4:0x0008", - "unique_id": "00:13:a2:00:41:95:c3:a6:4:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 4, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "4:0x0300", - "unique_id": "00:13:a2:00:41:95:c3:a6:4:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:13:a2:00:41:95:c3:a6", "endpoint_id": 4, "available": true, @@ -569,22 +558,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:13:a2:00:41:95:c3:a6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:13:a2:00:41:95:c3:a6", "endpoint_id": 1, "available": true, @@ -613,22 +586,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:13:a2:00:41:95:c3:a6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:13:a2:00:41:95:c3:a6", "endpoint_id": 1, "available": true, @@ -657,22 +614,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 2, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "2:0x0402", - "unique_id": "00:13:a2:00:41:95:c3:a6:2:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:13:a2:00:41:95:c3:a6", "endpoint_id": 2, "available": true, @@ -701,22 +642,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 2, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "2:0x0405", - "unique_id": "00:13:a2:00:41:95:c3:a6:2:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:13:a2:00:41:95:c3:a6", "endpoint_id": 2, "available": true, diff --git a/tests/data/devices/isilentllc-test-device.json b/tests/data/devices/isilentllc-test-device.json index 8911e8c74..4a3ec085b 100644 --- a/tests/data/devices/isilentllc-test-device.json +++ b/tests/data/devices/isilentllc-test-device.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "74:4d:bd:ff:fe:60:7c:c2", "nwk": "0x00A2", "manufacturer": "iSilentLLC", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,17 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,6 +104,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -107,17 +117,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -189,22 +207,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 10, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "10:0x0003", - "unique_id": "74:4d:bd:ff:fe:60:7c:c2:10:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "74:4d:bd:ff:fe:60:7c:c2", "endpoint_id": 10, "available": true, @@ -237,22 +239,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 10, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "10:0x0000", - "unique_id": "74:4d:bd:ff:fe:60:7c:c2:10:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "74:4d:bd:ff:fe:60:7c:c2", "endpoint_id": 10, "available": true, @@ -281,22 +267,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 10, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "10:0x0000", - "unique_id": "74:4d:bd:ff:fe:60:7c:c2:10:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "74:4d:bd:ff:fe:60:7c:c2", "endpoint_id": 10, "available": true, @@ -327,22 +297,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 10, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "10:0x0006", - "unique_id": "74:4d:bd:ff:fe:60:7c:c2:10:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "74:4d:bd:ff:fe:60:7c:c2", "endpoint_id": 10, "available": true, @@ -369,22 +323,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "74:4d:bd:ff:fe:60:7c:c2:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "74:4d:bd:ff:fe:60:7c:c2", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/isilentllc-test-mule.json b/tests/data/devices/isilentllc-test-mule.json index b13f8fc08..47c1afcb0 100644 --- a/tests/data/devices/isilentllc-test-mule.json +++ b/tests/data/devices/isilentllc-test-mule.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "74:4d:bd:ff:fe:60:7c:80", "nwk": "0xD53C", "manufacturer": "iSilentLLC", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,17 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x006f", @@ -87,6 +96,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -102,6 +112,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -165,22 +176,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 1, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "1:0x000f", - "unique_id": "74:4d:bd:ff:fe:60:7c:80:1:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "74:4d:bd:ff:fe:60:7c:80", "endpoint_id": 1, "available": true, @@ -210,22 +205,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "74:4d:bd:ff:fe:60:7c:80:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "74:4d:bd:ff:fe:60:7c:80", "endpoint_id": 1, "available": true, @@ -258,22 +237,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "74:4d:bd:ff:fe:60:7c:80:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "74:4d:bd:ff:fe:60:7c:80", "endpoint_id": 1, "available": true, @@ -302,22 +265,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "74:4d:bd:ff:fe:60:7c:80:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "74:4d:bd:ff:fe:60:7c:80", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/isilentllc-water-heater.json b/tests/data/devices/isilentllc-water-heater.json index 9b6e02a20..c5001b59b 100644 --- a/tests/data/devices/isilentllc-water-heater.json +++ b/tests/data/devices/isilentllc-water-heater.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:13:a2:00:40:c0:4d:cb", "nwk": "0x6100", "manufacturer": "iSilentLLC", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -80,24 +88,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -121,31 +148,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -153,11 +210,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -169,7 +364,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -181,13 +382,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -195,17 +408,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "value": 0 + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -222,17 +501,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 4750 + "value": 4750, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] } @@ -249,17 +536,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 5600 + "value": 5600, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] } @@ -333,22 +628,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:13:a2:00:40:c0:4d:cb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:13:a2:00:40:c0:4d:cb", "endpoint_id": 1, "available": true, @@ -377,22 +656,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:13:a2:00:40:c0:4d:cb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:13:a2:00:40:c0:4d:cb", "endpoint_id": 1, "available": true, @@ -421,22 +684,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "00:13:a2:00:40:c0:4d:cb:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:40:c0:4d:cb", "endpoint_id": 1, "available": true, @@ -471,22 +718,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "00:13:a2:00:40:c0:4d:cb:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:40:c0:4d:cb", "endpoint_id": 1, "available": true, @@ -520,22 +751,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "00:13:a2:00:40:c0:4d:cb:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:13:a2:00:40:c0:4d:cb", "endpoint_id": 1, "available": true, @@ -570,22 +785,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 2, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "2:0x0402", - "unique_id": "00:13:a2:00:40:c0:4d:cb:2:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:13:a2:00:40:c0:4d:cb", "endpoint_id": 2, "available": true, @@ -614,22 +813,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 3, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "3:0x0402", - "unique_id": "00:13:a2:00:40:c0:4d:cb:3:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:13:a2:00:40:c0:4d:cb", "endpoint_id": 3, "available": true, @@ -660,22 +843,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:13:a2:00:40:c0:4d:cb:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:13:a2:00:40:c0:4d:cb", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/jasco-products-45856.json b/tests/data/devices/jasco-products-45856.json index 2b696e074..d30ef18ad 100644 --- a/tests/data/devices/jasco-products-45856.json +++ b/tests/data/devices/jasco-products-45856.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:22:a3:00:00:26:d3:61", "nwk": "0xB811", "manufacturer": "Jasco Products", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,54 +112,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -166,7 +226,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -184,7 +250,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -203,6 +275,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -210,11 +283,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -236,6 +311,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0007", @@ -248,11 +324,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -260,11 +338,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] } ] @@ -338,22 +418,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:22:a3:00:00:26:d3:61:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:22:a3:00:00:26:d3:61", "endpoint_id": 1, "available": true, @@ -386,22 +450,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:22:a3:00:00:26:d3:61:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:22:a3:00:00:26:d3:61", "endpoint_id": 1, "available": true, @@ -454,22 +502,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:22:a3:00:00:26:d3:61:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:22:a3:00:00:26:d3:61", "endpoint_id": 1, "available": true, @@ -498,22 +530,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:22:a3:00:00:26:d3:61:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:22:a3:00:00:26:d3:61", "endpoint_id": 1, "available": true, @@ -542,22 +558,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "00:22:a3:00:00:26:d3:61:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "00:22:a3:00:00:26:d3:61", "endpoint_id": 1, "available": true, @@ -594,22 +594,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "00:22:a3:00:00:26:d3:61:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "00:22:a3:00:00:26:d3:61", "endpoint_id": 1, "available": true, @@ -648,22 +632,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:22:a3:00:00:26:d3:61:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:22:a3:00:00:26:d3:61", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/jasco-products-45857.json b/tests/data/devices/jasco-products-45857.json index be1319d60..883632fc0 100644 --- a/tests/data/devices/jasco-products-45857.json +++ b/tests/data/devices/jasco-products-45857.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:22:a3:00:00:25:2c:24", "nwk": "0x68BB", "manufacturer": "Jasco Products", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,12 +112,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -149,54 +167,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 1309 + "value": 1309, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -214,7 +281,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -232,7 +305,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -251,6 +330,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -258,11 +338,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -284,6 +366,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0007", @@ -296,11 +379,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -308,16 +393,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] } ] @@ -393,22 +481,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:22:a3:00:00:25:2c:24:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:22:a3:00:00:25:2c:24", "endpoint_id": 1, "available": true, @@ -441,36 +513,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:22:a3:00:00:25:2c:24:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:22:a3:00:00:25:2c:24:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:22:a3:00:00:25:2c:24", "endpoint_id": 1, "available": true, @@ -524,22 +566,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:22:a3:00:00:25:2c:24:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:22:a3:00:00:25:2c:24", "endpoint_id": 1, "available": true, @@ -573,22 +599,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:22:a3:00:00:25:2c:24:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:22:a3:00:00:25:2c:24", "endpoint_id": 1, "available": true, @@ -617,22 +627,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:22:a3:00:00:25:2c:24:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:22:a3:00:00:25:2c:24", "endpoint_id": 1, "available": true, @@ -661,22 +655,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "00:22:a3:00:00:25:2c:24:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "00:22:a3:00:00:25:2c:24", "endpoint_id": 1, "available": true, @@ -713,22 +691,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "00:22:a3:00:00:25:2c:24:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "00:22:a3:00:00:25:2c:24", "endpoint_id": 1, "available": true, @@ -767,22 +729,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:22:a3:00:00:25:2c:24:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:22:a3:00:00:25:2c:24", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ke-tradfri-open-close-remote.json b/tests/data/devices/ke-tradfri-open-close-remote.json index f8b812e21..3b518dd49 100644 --- a/tests/data/devices/ke-tradfri-open-close-remote.json +++ b/tests/data/devices/ke-tradfri-open-close-remote.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "5c:02:72:ff:fe:96:48:04", "nwk": "0x3A36", "manufacturer": "\u0002KE", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 174 + "value": 174, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -97,23 +105,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29 + "value": 29, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -126,11 +143,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -138,21 +157,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -165,11 +188,13 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -235,22 +260,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "5c:02:72:ff:fe:96:48:04:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "5c:02:72:ff:fe:96:48:04", "endpoint_id": 1, "available": true, @@ -283,22 +292,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "5c:02:72:ff:fe:96:48:04:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "5c:02:72:ff:fe:96:48:04", "endpoint_id": 1, "available": true, @@ -327,22 +320,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "5c:02:72:ff:fe:96:48:04:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "5c:02:72:ff:fe:96:48:04", "endpoint_id": 1, "available": true, @@ -371,22 +348,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "5c:02:72:ff:fe:96:48:04:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "5c:02:72:ff:fe:96:48:04", "endpoint_id": 1, "available": true, @@ -425,22 +386,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "5c:02:72:ff:fe:96:48:04:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "5c:02:72:ff:fe:96:48:04", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/keen-home-inc-sv01-410-mp-1-1.json b/tests/data/devices/keen-home-inc-sv01-410-mp-1-1.json index 145b84049..6abac33f1 100644 --- a/tests/data/devices/keen-home-inc-sv01-410-mp-1-1.json +++ b/tests/data/devices/keen-home-inc-sv01-410-mp-1-1.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:fe:6b:5b:c9", "nwk": "0xB4B7", "manufacturer": "Keen Home Inc", @@ -44,17 +44,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -72,34 +80,50 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31 + "value": 31, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -112,12 +136,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -160,6 +191,7 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -172,40 +204,57 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2811 + "value": 2811, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0403", "endpoint_attribute": "pressure", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 991 + "value": 991, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -213,6 +262,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -285,22 +335,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:fe:6b:5b:c9:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fe:6b:5b:c9", "endpoint_id": 1, "available": true, @@ -333,36 +367,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:fe:6b:5b:c9:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:fe:6b:5b:c9:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:fe:6b:5b:c9", "endpoint_id": 1, "available": true, @@ -393,22 +397,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fe:6b:5b:c9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fe:6b:5b:c9", "endpoint_id": 1, "available": true, @@ -437,22 +425,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fe:6b:5b:c9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fe:6b:5b:c9", "endpoint_id": 1, "available": true, @@ -481,22 +453,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:fe:6b:5b:c9:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:fe:6b:5b:c9", "endpoint_id": 1, "available": true, @@ -533,22 +489,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:fe:6b:5b:c9:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:fe:6b:5b:c9", "endpoint_id": 1, "available": true, @@ -577,22 +517,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PressureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0403", - "endpoint_id": 1, - "cluster": { - "id": 1027, - "name": "Pressure Measurement", - "type": "server" - }, - "id": "1:0x0403", - "unique_id": "ab:cd:ef:12:fe:6b:5b:c9:1:0x0403", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:fe:6b:5b:c9", "endpoint_id": 1, "available": true, @@ -623,22 +547,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:fe:6b:5b:c9:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fe:6b:5b:c9", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/keen-home-inc-sv02-610-mp-1-3.json b/tests/data/devices/keen-home-inc-sv02-610-mp-1-3.json index 6c9a2ea5d..a2f685a2a 100644 --- a/tests/data/devices/keen-home-inc-sv02-610-mp-1-3.json +++ b/tests/data/devices/keen-home-inc-sv02-610-mp-1-3.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:0b:57:ff:fe:81:48:29", "nwk": "0x2583", "manufacturer": "Keen Home Inc", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 10 + "value": 10, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,91 +93,132 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 23 + "value": 23, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2073 + "value": 2073, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0403", "endpoint_attribute": "pressure", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 994 + "value": 994, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -177,6 +226,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -242,22 +292,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:0b:57:ff:fe:81:48:29:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:81:48:29", "endpoint_id": 1, "available": true, @@ -290,36 +324,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:0b:57:ff:fe:81:48:29:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:0b:57:ff:fe:81:48:29:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:0b:57:ff:fe:81:48:29", "endpoint_id": 1, "available": true, @@ -350,22 +354,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0b:57:ff:fe:81:48:29:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:81:48:29", "endpoint_id": 1, "available": true, @@ -394,22 +382,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0b:57:ff:fe:81:48:29:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:81:48:29", "endpoint_id": 1, "available": true, @@ -438,22 +410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:0b:57:ff:fe:81:48:29:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:0b:57:ff:fe:81:48:29", "endpoint_id": 1, "available": true, @@ -490,22 +446,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "00:0b:57:ff:fe:81:48:29:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:0b:57:ff:fe:81:48:29", "endpoint_id": 1, "available": true, @@ -534,22 +474,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PressureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0403", - "endpoint_id": 1, - "cluster": { - "id": 1027, - "name": "Pressure Measurement", - "type": "server" - }, - "id": "1:0x0403", - "unique_id": "00:0b:57:ff:fe:81:48:29:1:0x0403", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:0b:57:ff:fe:81:48:29", "endpoint_id": 1, "available": true, @@ -580,22 +504,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:0b:57:ff:fe:81:48:29:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:81:48:29", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/keen-home-inc-sv02-612-mp-1-3.json b/tests/data/devices/keen-home-inc-sv02-612-mp-1-3.json index 74719c580..eab1f935e 100644 --- a/tests/data/devices/keen-home-inc-sv02-612-mp-1-3.json +++ b/tests/data/devices/keen-home-inc-sv02-612-mp-1-3.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:0b:57:ff:fe:92:e6:e4", "nwk": "0xBFC1", "manufacturer": "Keen Home Inc", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,34 +93,50 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 13 + "value": 13, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -125,12 +149,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -173,6 +204,7 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -185,40 +217,57 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1670 + "value": 1670, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0403", "endpoint_attribute": "pressure", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1004 + "value": 1004, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -226,6 +275,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -291,22 +341,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:0b:57:ff:fe:92:e6:e4:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:92:e6:e4", "endpoint_id": 1, "available": true, @@ -339,36 +373,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:0b:57:ff:fe:92:e6:e4:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:0b:57:ff:fe:92:e6:e4:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:0b:57:ff:fe:92:e6:e4", "endpoint_id": 1, "available": true, @@ -399,22 +403,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0b:57:ff:fe:92:e6:e4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:92:e6:e4", "endpoint_id": 1, "available": true, @@ -443,22 +431,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0b:57:ff:fe:92:e6:e4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:92:e6:e4", "endpoint_id": 1, "available": true, @@ -487,22 +459,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:0b:57:ff:fe:92:e6:e4:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:0b:57:ff:fe:92:e6:e4", "endpoint_id": 1, "available": true, @@ -539,22 +495,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "00:0b:57:ff:fe:92:e6:e4:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:0b:57:ff:fe:92:e6:e4", "endpoint_id": 1, "available": true, @@ -583,22 +523,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PressureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0403", - "endpoint_id": 1, - "cluster": { - "id": 1027, - "name": "Pressure Measurement", - "type": "server" - }, - "id": "1:0x0403", - "unique_id": "00:0b:57:ff:fe:92:e6:e4:1:0x0403", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:0b:57:ff:fe:92:e6:e4", "endpoint_id": 1, "available": true, @@ -629,22 +553,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:0b:57:ff:fe:92:e6:e4:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0b:57:ff:fe:92:e6:e4", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/king-of-fans-inc-hbuniversalcfremote.json b/tests/data/devices/king-of-fans-inc-hbuniversalcfremote.json index 0e82149a0..d3d07cede 100644 --- a/tests/data/devices/king-of-fans-inc-hbuniversalcfremote.json +++ b/tests/data/devices/king-of-fans-inc-hbuniversalcfremote.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:22:a3:00:00:09:ad:41", "nwk": "0x6F7E", "manufacturer": "King Of Fans, Inc.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,12 +161,19 @@ { "cluster_id": "0x0202", "endpoint_attribute": "fan", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "fan_mode", "zcl_type": "enum8", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -163,11 +188,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -235,22 +262,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "KofIdentify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:22:a3:00:00:09:ad:41:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:22:a3:00:00:09:ad:41", "endpoint_id": 1, "available": true, @@ -283,22 +294,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "FanClusterHandler", - "generic_id": "cluster_handler_0x0202", - "endpoint_id": 1, - "cluster": { - "id": 514, - "name": "Fan Control", - "type": "server" - }, - "id": "1:0x0202", - "unique_id": "00:22:a3:00:00:09:ad:41:1:0x0202", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:22:a3:00:00:09:ad:41", "endpoint_id": 1, "available": true, @@ -342,36 +337,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:22:a3:00:00:09:ad:41:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:22:a3:00:00:09:ad:41:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:22:a3:00:00:09:ad:41", "endpoint_id": 1, "available": true, @@ -425,22 +390,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:22:a3:00:00:09:ad:41:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:22:a3:00:00:09:ad:41", "endpoint_id": 1, "available": true, @@ -474,22 +423,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "KofBasic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:22:a3:00:00:09:ad:41:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:22:a3:00:00:09:ad:41", "endpoint_id": 1, "available": true, @@ -518,22 +451,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "KofBasic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:22:a3:00:00:09:ad:41:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:22:a3:00:00:09:ad:41", "endpoint_id": 1, "available": true, @@ -564,22 +481,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:22:a3:00:00:09:ad:41:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:22:a3:00:00:09:ad:41", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/king-of-fans-inc-hdc52eastwindfan.json b/tests/data/devices/king-of-fans-inc-hdc52eastwindfan.json index ac2cd2f28..1d9eae8ad 100644 --- a/tests/data/devices/king-of-fans-inc-hdc52eastwindfan.json +++ b/tests/data/devices/king-of-fans-inc-hdc52eastwindfan.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:22:a3:00:00:27:48:84", "nwk": "0x770B", "manufacturer": "King Of Fans, Inc.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,12 +112,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -149,12 +167,19 @@ { "cluster_id": "0x0202", "endpoint_attribute": "fan", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "fan_mode", "zcl_type": "enum8", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -169,11 +194,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -241,22 +268,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "KofIdentify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:22:a3:00:00:27:48:84:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:22:a3:00:00:27:48:84", "endpoint_id": 1, "available": true, @@ -289,22 +300,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "FanClusterHandler", - "generic_id": "cluster_handler_0x0202", - "endpoint_id": 1, - "cluster": { - "id": 514, - "name": "Fan Control", - "type": "server" - }, - "id": "1:0x0202", - "unique_id": "00:22:a3:00:00:27:48:84:1:0x0202", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:22:a3:00:00:27:48:84", "endpoint_id": 1, "available": true, @@ -348,36 +343,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:22:a3:00:00:27:48:84:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:22:a3:00:00:27:48:84:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:22:a3:00:00:27:48:84", "endpoint_id": 1, "available": true, @@ -431,22 +396,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "00:22:a3:00:00:27:48:84:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:22:a3:00:00:27:48:84", "endpoint_id": 1, "available": true, @@ -480,22 +429,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "KofBasic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:22:a3:00:00:27:48:84:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:22:a3:00:00:27:48:84", "endpoint_id": 1, "available": true, @@ -524,22 +457,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "KofBasic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:22:a3:00:00:27:48:84:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:22:a3:00:00:27:48:84", "endpoint_id": 1, "available": true, @@ -570,22 +487,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:22:a3:00:00:27:48:84:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:22:a3:00:00:27:48:84", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/konke-3afe140103020000.json b/tests/data/devices/konke-3afe140103020000.json index e236f1180..f5eba6cb3 100644 --- a/tests/data/devices/konke-3afe140103020000.json +++ b/tests/data/devices/konke-3afe140103020000.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "08:6b:d7:ff:fe:91:5f:7a", "nwk": "0x18D8", "manufacturer": "Konke", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,7 +69,20 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0033", "name": "battery_quantity", @@ -85,36 +99,57 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 40 + "value": 40, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2390 + "value": 2390, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4669 + "value": 4669, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -123,6 +158,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -180,22 +216,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "08:6b:d7:ff:fe:91:5f:7a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "08:6b:d7:ff:fe:91:5f:7a", "endpoint_id": 1, "available": true, @@ -228,22 +248,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "08:6b:d7:ff:fe:91:5f:7a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "08:6b:d7:ff:fe:91:5f:7a", "endpoint_id": 1, "available": true, @@ -272,22 +276,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "08:6b:d7:ff:fe:91:5f:7a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "08:6b:d7:ff:fe:91:5f:7a", "endpoint_id": 1, "available": true, @@ -316,22 +304,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "08:6b:d7:ff:fe:91:5f:7a:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "08:6b:d7:ff:fe:91:5f:7a", "endpoint_id": 1, "available": true, @@ -367,22 +339,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "08:6b:d7:ff:fe:91:5f:7a:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "08:6b:d7:ff:fe:91:5f:7a", "endpoint_id": 1, "available": true, @@ -411,22 +367,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "08:6b:d7:ff:fe:91:5f:7a:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "08:6b:d7:ff:fe:91:5f:7a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/konke-3afe220103020000.json b/tests/data/devices/konke-3afe220103020000.json index 3fcc8b006..443f7b57d 100644 --- a/tests/data/devices/konke-3afe220103020000.json +++ b/tests/data/devices/konke-3afe220103020000.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "08:6b:d7:ff:fe:91:5f:d1", "nwk": "0x80AE", "manufacturer": "Konke", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,7 +69,20 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0033", "name": "battery_quantity", @@ -85,36 +99,57 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2533 + "value": 2533, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4476 + "value": 4476, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -123,6 +158,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -180,22 +216,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "08:6b:d7:ff:fe:91:5f:d1:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "08:6b:d7:ff:fe:91:5f:d1", "endpoint_id": 1, "available": true, @@ -228,22 +248,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "08:6b:d7:ff:fe:91:5f:d1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "08:6b:d7:ff:fe:91:5f:d1", "endpoint_id": 1, "available": true, @@ -272,22 +276,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "08:6b:d7:ff:fe:91:5f:d1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "08:6b:d7:ff:fe:91:5f:d1", "endpoint_id": 1, "available": true, @@ -316,22 +304,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "08:6b:d7:ff:fe:91:5f:d1:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "08:6b:d7:ff:fe:91:5f:d1", "endpoint_id": 1, "available": true, @@ -367,22 +339,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "08:6b:d7:ff:fe:91:5f:d1:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "08:6b:d7:ff:fe:91:5f:d1", "endpoint_id": 1, "available": true, @@ -411,22 +367,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "08:6b:d7:ff:fe:91:5f:d1:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "08:6b:d7:ff:fe:91:5f:d1", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/konke-3afe270104020015.json b/tests/data/devices/konke-3afe270104020015.json index 05185cc9f..f541f4192 100644 --- a/tests/data/devices/konke-3afe270104020015.json +++ b/tests/data/devices/konke-3afe270104020015.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "08:6b:d7:ff:fe:e9:73:96", "nwk": "0xC844", "manufacturer": "Konke", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,7 +69,20 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0033", "name": "battery_quantity", @@ -85,18 +99,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -136,6 +158,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -143,11 +166,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -206,22 +231,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "08:6b:d7:ff:fe:e9:73:96:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "08:6b:d7:ff:fe:e9:73:96", "endpoint_id": 1, "available": true, @@ -251,22 +260,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "08:6b:d7:ff:fe:e9:73:96:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "08:6b:d7:ff:fe:e9:73:96", "endpoint_id": 1, "available": true, @@ -299,22 +292,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "08:6b:d7:ff:fe:e9:73:96:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "08:6b:d7:ff:fe:e9:73:96", "endpoint_id": 1, "available": true, @@ -343,22 +320,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "08:6b:d7:ff:fe:e9:73:96:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "08:6b:d7:ff:fe:e9:73:96", "endpoint_id": 1, "available": true, @@ -387,22 +348,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "08:6b:d7:ff:fe:e9:73:96:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "08:6b:d7:ff:fe:e9:73:96", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/konke-3afe280100510001.json b/tests/data/devices/konke-3afe280100510001.json index 8463e08d0..a8a6308cd 100644 --- a/tests/data/devices/konke-3afe280100510001.json +++ b/tests/data/devices/konke-3afe280100510001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "14:b4:57:ff:fe:07:59:0a", "nwk": "0x36DB", "manufacturer": "Konke", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -70,7 +71,20 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0033", "name": "battery_quantity", @@ -87,18 +101,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "konke_on_off", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -111,6 +133,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -118,11 +141,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -181,22 +206,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "14:b4:57:ff:fe:07:59:0a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:b4:57:ff:fe:07:59:0a", "endpoint_id": 1, "available": true, @@ -229,22 +238,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "14:b4:57:ff:fe:07:59:0a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:b4:57:ff:fe:07:59:0a", "endpoint_id": 1, "available": true, @@ -273,22 +266,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "14:b4:57:ff:fe:07:59:0a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:b4:57:ff:fe:07:59:0a", "endpoint_id": 1, "available": true, @@ -317,22 +294,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "14:b4:57:ff:fe:07:59:0a:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "14:b4:57:ff:fe:07:59:0a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/konke-3afe28010402000d.json b/tests/data/devices/konke-3afe28010402000d.json index a261d44c5..c0086f233 100755 --- a/tests/data/devices/konke-3afe28010402000d.json +++ b/tests/data/devices/konke-3afe28010402000d.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "14:b4:57:ff:fe:07:70:fb", "nwk": "0x2660", "manufacturer": "Konke", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,7 +69,20 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0033", "name": "battery_quantity", @@ -85,30 +99,45 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -148,6 +177,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -155,11 +185,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -218,22 +250,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "14:b4:57:ff:fe:07:70:fb:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "14:b4:57:ff:fe:07:70:fb", "endpoint_id": 1, "available": true, @@ -261,22 +277,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "14:b4:57:ff:fe:07:70:fb:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:b4:57:ff:fe:07:70:fb", "endpoint_id": 1, "available": true, @@ -306,22 +306,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "14:b4:57:ff:fe:07:70:fb:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:b4:57:ff:fe:07:70:fb", "endpoint_id": 1, "available": true, @@ -354,22 +338,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "14:b4:57:ff:fe:07:70:fb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:b4:57:ff:fe:07:70:fb", "endpoint_id": 1, "available": true, @@ -398,22 +366,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "14:b4:57:ff:fe:07:70:fb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:b4:57:ff:fe:07:70:fb", "endpoint_id": 1, "available": true, @@ -442,22 +394,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "14:b4:57:ff:fe:07:70:fb:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "14:b4:57:ff:fe:07:70:fb", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/kwikset-smartcode-convert-gen1.json b/tests/data/devices/kwikset-smartcode-convert-gen1.json index 64d968a67..60a55686b 100644 --- a/tests/data/devices/kwikset-smartcode-convert-gen1.json +++ b/tests/data/devices/kwikset-smartcode-convert-gen1.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:24:46:ff:fd:03:83:d9", "nwk": "0x80A9", "manufacturer": "Kwikset", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,33 +99,44 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 62 + "value": 62, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -130,6 +149,7 @@ { "cluster_id": "0x0101", "endpoint_attribute": "door_lock", + "bind": "SUCCESS", "attributes": [ { "id": "0x0004", @@ -159,7 +179,13 @@ "id": "0x0000", "name": "lock_state", "zcl_type": "enum8", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -172,23 +198,32 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2500 + "value": 2500, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfdbd", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -196,11 +231,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -272,22 +309,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 2, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "2:0x0003", - "unique_id": "00:24:46:ff:fd:03:83:d9:2:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:24:46:ff:fd:03:83:d9", "endpoint_id": 2, "available": true, @@ -320,22 +341,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "DoorLockClusterHandler", - "generic_id": "cluster_handler_0x0101", - "endpoint_id": 2, - "cluster": { - "id": 257, - "name": "Door Lock", - "type": "server" - }, - "id": "2:0x0101", - "unique_id": "00:24:46:ff:fd:03:83:d9:2:0x0101", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:24:46:ff:fd:03:83:d9", "endpoint_id": 2, "available": true, @@ -364,22 +369,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 2, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "2:0x0000", - "unique_id": "00:24:46:ff:fd:03:83:d9:2:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:24:46:ff:fd:03:83:d9", "endpoint_id": 2, "available": true, @@ -408,22 +397,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 2, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "2:0x0000", - "unique_id": "00:24:46:ff:fd:03:83:d9:2:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:24:46:ff:fd:03:83:d9", "endpoint_id": 2, "available": true, @@ -452,22 +425,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 2, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "2:0x0001", - "unique_id": "00:24:46:ff:fd:03:83:d9:2:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:24:46:ff:fd:03:83:d9", "endpoint_id": 2, "available": true, @@ -504,22 +461,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 2, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "2:0x0402", - "unique_id": "00:24:46:ff:fd:03:83:d9:2:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:24:46:ff:fd:03:83:d9", "endpoint_id": 2, "available": true, @@ -550,22 +491,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 2, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "2:0x0019_client", - "unique_id": "00:24:46:ff:fd:03:83:d9:2:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:24:46:ff:fd:03:83:d9", "endpoint_id": 2, "available": true, diff --git a/tests/data/devices/lds-zb-onoffplug-d0005.json b/tests/data/devices/lds-zb-onoffplug-d0005.json index d68b59a7e..3446f2921 100644 --- a/tests/data/devices/lds-zb-onoffplug-d0005.json +++ b/tests/data/devices/lds-zb-onoffplug-d0005.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ab:48:5a:2c", "nwk": "0x78CB", "manufacturer": "LDS", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,90 +106,170 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 3 + "value": 3, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -202,31 +293,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 67 + "value": 67, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -234,11 +355,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -250,7 +509,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -262,13 +527,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -276,23 +553,90 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfc82", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -300,16 +644,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -332,6 +679,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -402,22 +750,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:ab:48:5a:2c:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ab:48:5a:2c", "endpoint_id": 1, "available": true, @@ -450,22 +782,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ab:48:5a:2c:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ab:48:5a:2c", "endpoint_id": 1, "available": true, @@ -501,22 +817,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ab:48:5a:2c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ab:48:5a:2c", "endpoint_id": 1, "available": true, @@ -545,22 +845,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ab:48:5a:2c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ab:48:5a:2c", "endpoint_id": 1, "available": true, @@ -589,22 +873,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:ab:48:5a:2c:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:ab:48:5a:2c", "endpoint_id": 1, "available": true, @@ -640,22 +908,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:ab:48:5a:2c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:ab:48:5a:2c", "endpoint_id": 1, "available": true, @@ -689,22 +941,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:ab:48:5a:2c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:ab:48:5a:2c", "endpoint_id": 1, "available": true, @@ -738,22 +974,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:ab:48:5a:2c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:ab:48:5a:2c", "endpoint_id": 1, "available": true, @@ -789,22 +1009,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ab:48:5a:2c:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ab:48:5a:2c", "endpoint_id": 1, "available": true, @@ -833,22 +1037,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ab:48:5a:2c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ab:48:5a:2c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lds-zbt-cctswitch-d0001.json b/tests/data/devices/lds-zbt-cctswitch-d0001.json index e276411ab..4d9243b23 100644 --- a/tests/data/devices/lds-zbt-cctswitch-d0001.json +++ b/tests/data/devices/lds-zbt-cctswitch-d0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "14:b4:57:ff:fe:81:56:33", "nwk": "0xCBDB", "manufacturer": "LDS", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 178 + "value": 178, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,23 +99,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -115,26 +132,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -147,11 +169,13 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -215,22 +239,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "14:b4:57:ff:fe:81:56:33:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:b4:57:ff:fe:81:56:33", "endpoint_id": 1, "available": true, @@ -263,22 +271,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "14:b4:57:ff:fe:81:56:33:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:b4:57:ff:fe:81:56:33", "endpoint_id": 1, "available": true, @@ -307,22 +299,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "14:b4:57:ff:fe:81:56:33:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:b4:57:ff:fe:81:56:33", "endpoint_id": 1, "available": true, @@ -351,22 +327,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "14:b4:57:ff:fe:81:56:33:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "14:b4:57:ff:fe:81:56:33", "endpoint_id": 1, "available": true, @@ -405,22 +365,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "14:b4:57:ff:fe:81:56:33:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:b4:57:ff:fe:81:56:33", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ledvance-a60s-rgbw.json b/tests/data/devices/ledvance-a60s-rgbw.json index b89c26e5e..3f3d88c0d 100644 --- a/tests/data/devices/ledvance-a60s-rgbw.json +++ b/tests/data/devices/ledvance-a60s-rgbw.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:43:dd:e3:9b", "nwk": "0xF4D9", "manufacturer": "LEDVANCE", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -116,6 +117,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -134,6 +136,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -152,6 +155,7 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -194,6 +198,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -217,7 +222,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -236,6 +247,7 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -253,7 +265,13 @@ "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -326,6 +344,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -409,7 +428,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 153 + "value": 153, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0006", @@ -439,13 +464,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 2399 + "value": 2399, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 2409 + "value": 2409, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -512,6 +549,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x011b", @@ -542,6 +580,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -549,6 +588,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -625,6 +665,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -694,22 +735,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:43:dd:e3:9b:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:43:dd:e3:9b", "endpoint_id": 1, "available": true, @@ -742,50 +767,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:43:dd:e3:9b:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:43:dd:e3:9b:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:43:dd:e3:9b:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:43:dd:e3:9b", "endpoint_id": 1, "available": true, @@ -846,22 +827,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:43:dd:e3:9b:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:43:dd:e3:9b", "endpoint_id": 1, "available": true, @@ -893,22 +858,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:43:dd:e3:9b:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:43:dd:e3:9b", "endpoint_id": 1, "available": true, @@ -940,22 +889,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:43:dd:e3:9b:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:43:dd:e3:9b", "endpoint_id": 1, "available": true, @@ -989,22 +922,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:43:dd:e3:9b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:43:dd:e3:9b", "endpoint_id": 1, "available": true, @@ -1033,22 +950,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:43:dd:e3:9b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:43:dd:e3:9b", "endpoint_id": 1, "available": true, @@ -1079,22 +980,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:43:dd:e3:9b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:43:dd:e3:9b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ledvance-flex-rgbw.json b/tests/data/devices/ledvance-flex-rgbw.json index f634b6778..ab17ee6d4 100755 --- a/tests/data/devices/ledvance-flex-rgbw.json +++ b/tests/data/devices/ledvance-flex-rgbw.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "f0:d1:b8:00:00:00:6b:f5", "nwk": "0x3D7F", "manufacturer": "LEDVANCE", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -92,27 +93,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -125,12 +136,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -173,6 +191,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -208,7 +227,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 370 + "value": 370, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -226,13 +251,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 24939 + "value": 24939, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 24701 + "value": 24701, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -257,11 +294,13 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "ledvance_light", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -269,6 +308,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -337,22 +377,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "f0:d1:b8:00:00:00:6b:f5:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f0:d1:b8:00:00:00:6b:f5", "endpoint_id": 1, "available": true, @@ -385,50 +409,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "f0:d1:b8:00:00:00:6b:f5:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "f0:d1:b8:00:00:00:6b:f5:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "f0:d1:b8:00:00:00:6b:f5:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "f0:d1:b8:00:00:00:6b:f5", "endpoint_id": 1, "available": true, @@ -487,22 +467,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "f0:d1:b8:00:00:00:6b:f5:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "f0:d1:b8:00:00:00:6b:f5", "endpoint_id": 1, "available": true, @@ -534,22 +498,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "f0:d1:b8:00:00:00:6b:f5:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "f0:d1:b8:00:00:00:6b:f5", "endpoint_id": 1, "available": true, @@ -581,22 +529,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "f0:d1:b8:00:00:00:6b:f5:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "f0:d1:b8:00:00:00:6b:f5", "endpoint_id": 1, "available": true, @@ -628,22 +560,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "f0:d1:b8:00:00:00:6b:f5:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "f0:d1:b8:00:00:00:6b:f5", "endpoint_id": 1, "available": true, @@ -675,22 +591,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "f0:d1:b8:00:00:00:6b:f5:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "f0:d1:b8:00:00:00:6b:f5", "endpoint_id": 1, "available": true, @@ -724,22 +624,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "f0:d1:b8:00:00:00:6b:f5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f0:d1:b8:00:00:00:6b:f5", "endpoint_id": 1, "available": true, @@ -768,22 +652,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "f0:d1:b8:00:00:00:6b:f5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f0:d1:b8:00:00:00:6b:f5", "endpoint_id": 1, "available": true, @@ -814,22 +682,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "f0:d1:b8:00:00:00:6b:f5:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f0:d1:b8:00:00:00:6b:f5", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ledvance-outdoor-accent-light-rgb.json b/tests/data/devices/ledvance-outdoor-accent-light-rgb.json index 5953bdcdb..2d897f3f9 100644 --- a/tests/data/devices/ledvance-outdoor-accent-light-rgb.json +++ b/tests/data/devices/ledvance-outdoor-accent-light-rgb.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "f0:d1:b8:00:00:07:83:8e", "nwk": "0x6404", "manufacturer": "LEDVANCE", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,12 +112,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 202 + "value": 202, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -149,6 +167,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -184,7 +203,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 1901 + "value": 1901, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -202,13 +227,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 10747 + "value": 10747, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 8650 + "value": 8650, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -233,11 +270,13 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -245,6 +284,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -313,22 +353,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "f0:d1:b8:00:00:07:83:8e:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f0:d1:b8:00:00:07:83:8e", "endpoint_id": 1, "available": true, @@ -361,50 +385,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "f0:d1:b8:00:00:07:83:8e:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "f0:d1:b8:00:00:07:83:8e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "f0:d1:b8:00:00:07:83:8e:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "f0:d1:b8:00:00:07:83:8e", "endpoint_id": 1, "available": true, @@ -463,22 +443,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "f0:d1:b8:00:00:07:83:8e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "f0:d1:b8:00:00:07:83:8e", "endpoint_id": 1, "available": true, @@ -510,22 +474,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "f0:d1:b8:00:00:07:83:8e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "f0:d1:b8:00:00:07:83:8e", "endpoint_id": 1, "available": true, @@ -557,22 +505,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "f0:d1:b8:00:00:07:83:8e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "f0:d1:b8:00:00:07:83:8e", "endpoint_id": 1, "available": true, @@ -604,22 +536,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "f0:d1:b8:00:00:07:83:8e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "f0:d1:b8:00:00:07:83:8e", "endpoint_id": 1, "available": true, @@ -651,22 +567,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "f0:d1:b8:00:00:07:83:8e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "f0:d1:b8:00:00:07:83:8e", "endpoint_id": 1, "available": true, @@ -700,22 +600,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "f0:d1:b8:00:00:07:83:8e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f0:d1:b8:00:00:07:83:8e", "endpoint_id": 1, "available": true, @@ -744,22 +628,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "f0:d1:b8:00:00:07:83:8e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f0:d1:b8:00:00:07:83:8e", "endpoint_id": 1, "available": true, @@ -790,22 +658,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "f0:d1:b8:00:00:07:83:8e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f0:d1:b8:00:00:07:83:8e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ledvance-plug.json b/tests/data/devices/ledvance-plug.json index 5a37b6fb3..e94dce993 100644 --- a/tests/data/devices/ledvance-plug.json +++ b/tests/data/devices/ledvance-plug.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "f0:d1:b8:00:00:05:49:22", "nwk": "0xEE12", "manufacturer": "LEDVANCE", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -74,27 +75,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -107,16 +118,19 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc08", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -124,11 +138,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -197,22 +213,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "f0:d1:b8:00:00:05:49:22:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f0:d1:b8:00:00:05:49:22", "endpoint_id": 1, "available": true, @@ -245,22 +245,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "f0:d1:b8:00:00:05:49:22:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f0:d1:b8:00:00:05:49:22", "endpoint_id": 1, "available": true, @@ -289,22 +273,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "f0:d1:b8:00:00:05:49:22:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f0:d1:b8:00:00:05:49:22", "endpoint_id": 1, "available": true, @@ -335,22 +303,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "f0:d1:b8:00:00:05:49:22:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "f0:d1:b8:00:00:05:49:22", "endpoint_id": 1, "available": true, @@ -379,22 +331,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "f0:d1:b8:00:00:05:49:22:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f0:d1:b8:00:00:05:49:22", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/legrand-contactor.json b/tests/data/devices/legrand-contactor.json index 05c0aca83..d51b3c91f 100644 --- a/tests/data/devices/legrand-contactor.json +++ b/tests/data/devices/legrand-contactor.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:0d:ab:89:6b", "nwk": "0x30DD", "manufacturer": " Legrand", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -164,6 +165,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -182,22 +184,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -210,6 +221,7 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0004", @@ -233,31 +245,56 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -281,31 +318,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -313,11 +380,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -329,7 +534,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -341,13 +552,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -355,28 +578,96 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc41", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -384,21 +675,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -441,6 +736,7 @@ { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -455,6 +751,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -462,6 +759,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -537,22 +835,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 1, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "1:0x000f", - "unique_id": "ab:cd:ef:12:0d:ab:89:6b:1:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:0d:ab:89:6b", "endpoint_id": 1, "available": true, @@ -580,22 +862,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:0d:ab:89:6b:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0d:ab:89:6b", "endpoint_id": 1, "available": true, @@ -625,22 +891,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:0d:ab:89:6b:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0d:ab:89:6b", "endpoint_id": 1, "available": true, @@ -673,22 +923,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:0d:ab:89:6b:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:0d:ab:89:6b", "endpoint_id": 1, "available": true, @@ -724,22 +958,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0d:ab:89:6b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0d:ab:89:6b", "endpoint_id": 1, "available": true, @@ -768,22 +986,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0d:ab:89:6b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0d:ab:89:6b", "endpoint_id": 1, "available": true, @@ -812,22 +1014,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:0d:ab:89:6b:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:0d:ab:89:6b", "endpoint_id": 1, "available": true, @@ -861,22 +1047,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:0d:ab:89:6b:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:0d:ab:89:6b", "endpoint_id": 1, "available": true, @@ -909,22 +1079,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:0d:ab:89:6b:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:0d:ab:89:6b", "endpoint_id": 1, "available": true, @@ -958,22 +1112,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:0d:ab:89:6b:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:0d:ab:89:6b", "endpoint_id": 1, "available": true, @@ -1009,22 +1147,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:0d:ab:89:6b:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:0d:ab:89:6b", "endpoint_id": 1, "available": true, @@ -1053,22 +1175,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:0d:ab:89:6b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0d:ab:89:6b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/legrand-dimmer-switch-w-o-neutral.json b/tests/data/devices/legrand-dimmer-switch-w-o-neutral.json index 89e11d561..8b5f269a5 100644 --- a/tests/data/devices/legrand-dimmer-switch-w-o-neutral.json +++ b/tests/data/devices/legrand-dimmer-switch-w-o-neutral.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b1:5a:79:5a", "nwk": "0xFD5E", "manufacturer": " Legrand", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -88,7 +93,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,12 +112,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 76 + "value": 76, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -149,6 +167,7 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -160,13 +179,20 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0301", "endpoint_attribute": "light_ballast", + "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -197,6 +223,7 @@ { "cluster_id": "0xfc01", "endpoint_attribute": "legrand_cluster", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -204,11 +231,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -221,6 +250,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -233,6 +263,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -251,6 +282,7 @@ { "cluster_id": "0xfc01", "endpoint_attribute": "legrand_cluster", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -265,6 +297,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -272,6 +305,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -347,22 +381,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 1, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "1:0x000f", - "unique_id": "ab:cd:ef:12:b1:5a:79:5a:1:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:b1:5a:79:5a", "endpoint_id": 1, "available": true, @@ -390,22 +408,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:b1:5a:79:5a:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:5a:79:5a", "endpoint_id": 1, "available": true, @@ -435,22 +437,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:b1:5a:79:5a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:5a:79:5a", "endpoint_id": 1, "available": true, @@ -483,36 +469,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:b1:5a:79:5a:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:b1:5a:79:5a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:b1:5a:79:5a", "endpoint_id": 1, "available": true, @@ -566,22 +522,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:b1:5a:79:5a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:b1:5a:79:5a", "endpoint_id": 1, "available": true, @@ -613,22 +553,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:b1:5a:79:5a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:b1:5a:79:5a", "endpoint_id": 1, "available": true, @@ -660,22 +584,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:b1:5a:79:5a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:b1:5a:79:5a", "endpoint_id": 1, "available": true, @@ -707,22 +615,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:b1:5a:79:5a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:b1:5a:79:5a", "endpoint_id": 1, "available": true, @@ -754,22 +646,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:b1:5a:79:5a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:b1:5a:79:5a", "endpoint_id": 1, "available": true, @@ -801,22 +677,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:b1:5a:79:5a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:b1:5a:79:5a", "endpoint_id": 1, "available": true, @@ -850,22 +710,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:b1:5a:79:5a:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:b1:5a:79:5a", "endpoint_id": 1, "available": true, @@ -901,22 +745,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b1:5a:79:5a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:5a:79:5a", "endpoint_id": 1, "available": true, @@ -945,22 +773,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b1:5a:79:5a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:5a:79:5a", "endpoint_id": 1, "available": true, @@ -991,22 +803,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:b1:5a:79:5a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:5a:79:5a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/legrand-double-gangs-remote-switch.json b/tests/data/devices/legrand-double-gangs-remote-switch.json index 348f7d11c..a3e091461 100644 --- a/tests/data/devices/legrand-double-gangs-remote-switch.json +++ b/tests/data/devices/legrand-double-gangs-remote-switch.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b6:14:95:c6", "nwk": "0x8014", "manufacturer": " Legrand", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,7 +63,20 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0033", "name": "battery_quantity", @@ -79,30 +93,45 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -115,6 +144,7 @@ { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -122,26 +152,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -154,6 +189,7 @@ { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -168,17 +204,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -187,16 +231,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] } ] @@ -273,22 +320,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 2, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "2:0x000f", - "unique_id": "ab:cd:ef:12:b6:14:95:c6:2:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:b6:14:95:c6", "endpoint_id": 2, "available": true, @@ -318,22 +349,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:b6:14:95:c6:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b6:14:95:c6", "endpoint_id": 1, "available": true, @@ -366,22 +381,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b6:14:95:c6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b6:14:95:c6", "endpoint_id": 1, "available": true, @@ -410,22 +409,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b6:14:95:c6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b6:14:95:c6", "endpoint_id": 1, "available": true, @@ -454,22 +437,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:b6:14:95:c6:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:b6:14:95:c6", "endpoint_id": 1, "available": true, @@ -506,22 +473,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:b6:14:95:c6:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b6:14:95:c6", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/legrand-light-switch-with-neutral.json b/tests/data/devices/legrand-light-switch-with-neutral.json index 8cb2939a1..9137d3b79 100644 --- a/tests/data/devices/legrand-light-switch-with-neutral.json +++ b/tests/data/devices/legrand-light-switch-with-neutral.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:39:bc:b5:2d", "nwk": "0x8540", "manufacturer": " Legrand", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,6 +106,7 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -106,13 +118,20 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfc01", "endpoint_attribute": "legrand_cluster", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -120,21 +139,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -147,11 +170,13 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -166,6 +191,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -173,6 +199,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -247,22 +274,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 1, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "1:0x000f", - "unique_id": "ab:cd:ef:12:39:bc:b5:2d:1:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:39:bc:b5:2d", "endpoint_id": 1, "available": true, @@ -292,22 +303,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "LegrandIdentify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:39:bc:b5:2d:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:bc:b5:2d", "endpoint_id": 1, "available": true, @@ -340,22 +335,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:39:bc:b5:2d:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:39:bc:b5:2d", "endpoint_id": 1, "available": true, @@ -408,22 +387,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:39:bc:b5:2d:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:39:bc:b5:2d", "endpoint_id": 1, "available": true, @@ -459,22 +422,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:39:bc:b5:2d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:bc:b5:2d", "endpoint_id": 1, "available": true, @@ -503,22 +450,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:39:bc:b5:2d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:bc:b5:2d", "endpoint_id": 1, "available": true, @@ -549,22 +480,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfc01", - "endpoint_id": 1, - "cluster": { - "id": 64513, - "name": "LegrandCluster", - "type": "server" - }, - "id": "1:0xfc01", - "unique_id": "ab:cd:ef:12:39:bc:b5:2d:1:0xfc01", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:bc:b5:2d", "endpoint_id": 1, "available": true, @@ -597,22 +512,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfc01", - "endpoint_id": 1, - "cluster": { - "id": 64513, - "name": "LegrandCluster", - "type": "server" - }, - "id": "1:0xfc01", - "unique_id": "ab:cd:ef:12:39:bc:b5:2d:1:0xfc01", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:bc:b5:2d", "endpoint_id": 1, "available": true, @@ -647,22 +546,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:39:bc:b5:2d:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:bc:b5:2d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/legrand-mobile-outlet.json b/tests/data/devices/legrand-mobile-outlet.json index f2257b898..ddfd34d04 100644 --- a/tests/data/devices/legrand-mobile-outlet.json +++ b/tests/data/devices/legrand-mobile-outlet.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:00:e8:bc:6f", "nwk": "0xAA72", "manufacturer": " Legrand", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -122,21 +123,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -160,7 +165,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -185,6 +196,7 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -196,13 +208,20 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0803", @@ -214,19 +233,37 @@ "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -250,31 +287,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 13 + "value": 13, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -298,19 +365,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 19 + "value": 19, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -322,7 +515,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -346,13 +545,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -376,19 +587,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -412,25 +641,44 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -438,21 +686,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -534,6 +786,7 @@ { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -548,6 +801,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -555,6 +809,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -629,22 +884,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 1, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "1:0x000f", - "unique_id": "ab:cd:ef:12:00:e8:bc:6f:1:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:00:e8:bc:6f", "endpoint_id": 1, "available": true, @@ -672,22 +911,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:00:e8:bc:6f:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:00:e8:bc:6f", "endpoint_id": 1, "available": true, @@ -717,22 +940,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:00:e8:bc:6f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:00:e8:bc:6f", "endpoint_id": 1, "available": true, @@ -765,22 +972,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:00:e8:bc:6f:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:00:e8:bc:6f", "endpoint_id": 1, "available": true, @@ -816,22 +1007,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:00:e8:bc:6f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:00:e8:bc:6f", "endpoint_id": 1, "available": true, @@ -860,22 +1035,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:00:e8:bc:6f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:00:e8:bc:6f", "endpoint_id": 1, "available": true, @@ -904,22 +1063,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:00:e8:bc:6f:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:00:e8:bc:6f", "endpoint_id": 1, "available": true, @@ -953,22 +1096,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:00:e8:bc:6f:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:00:e8:bc:6f", "endpoint_id": 1, "available": true, @@ -1001,22 +1128,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:00:e8:bc:6f:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:00:e8:bc:6f", "endpoint_id": 1, "available": true, @@ -1050,22 +1161,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:00:e8:bc:6f:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:00:e8:bc:6f", "endpoint_id": 1, "available": true, @@ -1101,22 +1196,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:00:e8:bc:6f:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:00:e8:bc:6f", "endpoint_id": 1, "available": true, @@ -1145,22 +1224,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:00:e8:bc:6f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:00:e8:bc:6f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/level-home-b2.json b/tests/data/devices/level-home-b2.json index d69326fc7..9af274534 100644 --- a/tests/data/devices/level-home-b2.json +++ b/tests/data/devices/level-home-b2.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "f4:ce:36:13:82:67:19:59", "nwk": "0xE268", "manufacturer": "Level Home", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -106,6 +107,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -127,6 +129,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -175,12 +178,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 100 + "value": 100, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -210,18 +220,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -234,6 +252,7 @@ { "cluster_id": "0x0101", "endpoint_attribute": "door_lock", + "bind": "SUCCESS", "attributes": [ { "id": "0x0002", @@ -257,7 +276,13 @@ "id": "0x0000", "name": "lock_state", "zcl_type": "enum8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -367,22 +392,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 10, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "10:0x0003", - "unique_id": "f4:ce:36:13:82:67:19:59:10:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:ce:36:13:82:67:19:59", "endpoint_id": 10, "available": true, @@ -415,22 +424,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "DoorLockClusterHandler", - "generic_id": "cluster_handler_0x0101", - "endpoint_id": 10, - "cluster": { - "id": 257, - "name": "Door Lock", - "type": "server" - }, - "id": "10:0x0101", - "unique_id": "f4:ce:36:13:82:67:19:59:10:0x0101", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:ce:36:13:82:67:19:59", "endpoint_id": 10, "available": true, @@ -459,22 +452,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 10, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "10:0x0001", - "unique_id": "f4:ce:36:13:82:67:19:59:10:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "f4:ce:36:13:82:67:19:59", "endpoint_id": 10, "available": true, @@ -511,22 +488,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 5, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "5:0x0000", - "unique_id": "f4:ce:36:13:82:67:19:59:5:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:ce:36:13:82:67:19:59", "endpoint_id": 5, "available": true, @@ -555,22 +516,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 5, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "5:0x0000", - "unique_id": "f4:ce:36:13:82:67:19:59:5:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:ce:36:13:82:67:19:59", "endpoint_id": 5, "available": true, @@ -601,22 +546,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 5, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "5:0x0019_client", - "unique_id": "f4:ce:36:13:82:67:19:59:5:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:ce:36:13:82:67:19:59", "endpoint_id": 5, "available": true, diff --git a/tests/data/devices/level-home-bolt.json b/tests/data/devices/level-home-bolt.json index 352335a28..38ec2196d 100644 --- a/tests/data/devices/level-home-bolt.json +++ b/tests/data/devices/level-home-bolt.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "f4:ce:36:b9:50:7a:86:d6", "nwk": "0x0DFC", "manufacturer": "Level Home", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -51,6 +52,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -72,6 +74,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -90,12 +93,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -113,18 +123,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -137,12 +155,19 @@ { "cluster_id": "0x0101", "endpoint_attribute": "door_lock", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "lock_state", "zcl_type": "enum8", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -210,22 +235,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 10, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "10:0x0003", - "unique_id": "f4:ce:36:b9:50:7a:86:d6:10:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:ce:36:b9:50:7a:86:d6", "endpoint_id": 10, "available": true, @@ -258,22 +267,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "DoorLockClusterHandler", - "generic_id": "cluster_handler_0x0101", - "endpoint_id": 10, - "cluster": { - "id": 257, - "name": "Door Lock", - "type": "server" - }, - "id": "10:0x0101", - "unique_id": "f4:ce:36:b9:50:7a:86:d6:10:0x0101", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:ce:36:b9:50:7a:86:d6", "endpoint_id": 10, "available": true, @@ -302,22 +295,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 10, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "10:0x0001", - "unique_id": "f4:ce:36:b9:50:7a:86:d6:10:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "f4:ce:36:b9:50:7a:86:d6", "endpoint_id": 10, "available": true, @@ -354,22 +331,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 5, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "5:0x0000", - "unique_id": "f4:ce:36:b9:50:7a:86:d6:5:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:ce:36:b9:50:7a:86:d6", "endpoint_id": 5, "available": true, @@ -398,22 +359,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 5, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "5:0x0000", - "unique_id": "f4:ce:36:b9:50:7a:86:d6:5:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:ce:36:b9:50:7a:86:d6", "endpoint_id": 5, "available": true, @@ -444,22 +389,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 5, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "5:0x0019_client", - "unique_id": "f4:ce:36:b9:50:7a:86:d6:5:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "f4:ce:36:b9:50:7a:86:d6", "endpoint_id": 5, "available": true, diff --git a/tests/data/devices/lk-zb-doorsensor-d0003.json b/tests/data/devices/lk-zb-doorsensor-d0003.json index 1b02e31fc..fadd73236 100755 --- a/tests/data/devices/lk-zb-doorsensor-d0003.json +++ b/tests/data/devices/lk-zb-doorsensor-d0003.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "84:2e:14:ff:fe:44:9e:71", "nwk": "0x0128", "manufacturer": "lk", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -79,7 +81,13 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 36 + "value": 36, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -97,23 +105,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 24 + "value": 24, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -153,6 +170,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -160,6 +178,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -218,22 +237,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "84:2e:14:ff:fe:44:9e:71:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "84:2e:14:ff:fe:44:9e:71", "endpoint_id": 1, "available": true, @@ -263,22 +266,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "84:2e:14:ff:fe:44:9e:71:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "84:2e:14:ff:fe:44:9e:71", "endpoint_id": 1, "available": true, @@ -311,22 +298,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "84:2e:14:ff:fe:44:9e:71:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "84:2e:14:ff:fe:44:9e:71", "endpoint_id": 1, "available": true, @@ -355,22 +326,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "84:2e:14:ff:fe:44:9e:71:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "84:2e:14:ff:fe:44:9e:71", "endpoint_id": 1, "available": true, @@ -399,22 +354,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "84:2e:14:ff:fe:44:9e:71:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "84:2e:14:ff:fe:44:9e:71", "endpoint_id": 1, "available": true, @@ -453,22 +392,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "84:2e:14:ff:fe:44:9e:71:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "84:2e:14:ff:fe:44:9e:71", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lk-zbt-dimswitch-d0001.json b/tests/data/devices/lk-zbt-dimswitch-d0001.json index aa436d82b..eab53672e 100644 --- a/tests/data/devices/lk-zbt-dimswitch-d0001.json +++ b/tests/data/devices/lk-zbt-dimswitch-d0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "5c:02:72:ff:fe:3f:8c:a4", "nwk": "0x4E9B", "manufacturer": "lk", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -73,7 +75,13 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 74 + "value": 74, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,28 +99,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 25 + "value": 25, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -120,26 +138,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -152,6 +175,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -215,22 +239,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "5c:02:72:ff:fe:3f:8c:a4:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "5c:02:72:ff:fe:3f:8c:a4", "endpoint_id": 1, "available": true, @@ -263,22 +271,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "5c:02:72:ff:fe:3f:8c:a4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "5c:02:72:ff:fe:3f:8c:a4", "endpoint_id": 1, "available": true, @@ -307,22 +299,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "5c:02:72:ff:fe:3f:8c:a4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "5c:02:72:ff:fe:3f:8c:a4", "endpoint_id": 1, "available": true, @@ -351,22 +327,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "5c:02:72:ff:fe:3f:8c:a4:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "5c:02:72:ff:fe:3f:8c:a4", "endpoint_id": 1, "available": true, @@ -405,22 +365,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "5c:02:72:ff:fe:3f:8c:a4:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "5c:02:72:ff:fe:3f:8c:a4", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lk-zbt-onoffplug-d0001.json b/tests/data/devices/lk-zbt-onoffplug-d0001.json index e58be58a9..18c7f898b 100644 --- a/tests/data/devices/lk-zbt-onoffplug-d0001.json +++ b/tests/data/devices/lk-zbt-onoffplug-d0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "5c:02:72:ff:fe:d3:bc:73", "nwk": "0xE34E", "manufacturer": "lk", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,12 +112,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -149,16 +167,19 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc82", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -166,11 +187,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -193,6 +216,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -263,22 +287,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "5c:02:72:ff:fe:d3:bc:73:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "5c:02:72:ff:fe:d3:bc:73", "endpoint_id": 1, "available": true, @@ -311,22 +319,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "5c:02:72:ff:fe:d3:bc:73:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "5c:02:72:ff:fe:d3:bc:73", "endpoint_id": 1, "available": true, @@ -358,22 +350,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "5c:02:72:ff:fe:d3:bc:73:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "5c:02:72:ff:fe:d3:bc:73", "endpoint_id": 1, "available": true, @@ -405,22 +381,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "5c:02:72:ff:fe:d3:bc:73:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "5c:02:72:ff:fe:d3:bc:73", "endpoint_id": 1, "available": true, @@ -454,22 +414,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "5c:02:72:ff:fe:d3:bc:73:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "5c:02:72:ff:fe:d3:bc:73", "endpoint_id": 1, "available": true, @@ -505,22 +449,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "5c:02:72:ff:fe:d3:bc:73:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "5c:02:72:ff:fe:d3:bc:73", "endpoint_id": 1, "available": true, @@ -549,22 +477,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "5c:02:72:ff:fe:d3:bc:73:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "5c:02:72:ff:fe:d3:bc:73", "endpoint_id": 1, "available": true, @@ -595,22 +507,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "5c:02:72:ff:fe:d3:bc:73:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "5c:02:72:ff:fe:d3:bc:73", "endpoint_id": 1, "available": true, @@ -639,22 +535,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "5c:02:72:ff:fe:d3:bc:73:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "5c:02:72:ff:fe:d3:bc:73", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-airmonitor-acn01.json b/tests/data/devices/lumi-lumi-airmonitor-acn01.json index 9c92fa053..4a7193abd 100644 --- a/tests/data/devices/lumi-lumi-airmonitor-acn01.json +++ b/tests/data/devices/lumi-lumi-airmonitor-acn01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "54:ef:44:10:00:10:61:a1", "nwk": "0xB413", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,54 +99,83 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 98.0 + "value": 98.0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2204 + "value": 2204, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4146 + "value": 4146, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x042e", "endpoint_attribute": "voc_level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -151,6 +188,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -158,6 +196,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -216,22 +255,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "54:ef:44:10:00:10:61:a1:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:10:61:a1", "endpoint_id": 1, "available": true, @@ -264,22 +287,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:10:61:a1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:10:61:a1", "endpoint_id": 1, "available": true, @@ -308,22 +315,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:10:61:a1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:10:61:a1", "endpoint_id": 1, "available": true, @@ -352,22 +343,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "54:ef:44:10:00:10:61:a1:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "54:ef:44:10:00:10:61:a1", "endpoint_id": 1, "available": true, @@ -404,22 +379,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "54:ef:44:10:00:10:61:a1:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "54:ef:44:10:00:10:61:a1", "endpoint_id": 1, "available": true, @@ -448,22 +407,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "54:ef:44:10:00:10:61:a1:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "54:ef:44:10:00:10:61:a1", "endpoint_id": 1, "available": true, @@ -492,22 +435,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0x042e", - "endpoint_id": 1, - "cluster": { - "id": 1070, - "name": "VOC Level", - "type": "server" - }, - "id": "1:0x042e", - "unique_id": "54:ef:44:10:00:10:61:a1:1:0x042e", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:10:61:a1", "endpoint_id": 1, "available": true, @@ -538,22 +465,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "54:ef:44:10:00:10:61:a1:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:10:61:a1", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-airrtc-agl001.json b/tests/data/devices/lumi-lumi-airrtc-agl001.json index f53165000..ac4da575d 100644 --- a/tests/data/devices/lumi-lumi-airrtc-agl001.json +++ b/tests/data/devices/lumi-lumi-airrtc-agl001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ce:61:df:4c", "nwk": "0xF049", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -74,12 +75,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -92,22 +100,37 @@ "name": "battery_size", "zcl_type": "enum8", "value": 10 + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -143,7 +166,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2090 + "value": 2090, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -175,17 +204,89 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x0002", + "name": "occupancy", + "zcl_type": "map8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2600 + "value": 2600, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2300 + "value": 2300, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, + { + "id": "0x0007", + "name": "pi_cooling_demand", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } + }, + { + "id": "0x0008", + "name": "pi_heating_demand", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } + }, + { + "id": "0x001e", + "name": "running_mode", + "zcl_type": "enum8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0029", + "name": "running_state", + "zcl_type": "map16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -197,25 +298,44 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [ { "id": "0x0279", @@ -305,11 +425,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -322,6 +444,7 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001b", @@ -334,6 +457,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -394,22 +518,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "AqaraThermostatSpecificCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:ce:61:df:4c:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:61:df:4c", "endpoint_id": 1, "available": true, @@ -437,22 +545,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "AqaraThermostatSpecificCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:ce:61:df:4c:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:61:df:4c", "endpoint_id": 1, "available": true, @@ -480,22 +572,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "AqaraThermostatSpecificCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:ce:61:df:4c:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:61:df:4c", "endpoint_id": 1, "available": true, @@ -523,22 +599,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "AqaraThermostatSpecificCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:ce:61:df:4c:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:61:df:4c", "endpoint_id": 1, "available": true, @@ -568,22 +628,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:ce:61:df:4c:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:61:df:4c", "endpoint_id": 1, "available": true, @@ -616,22 +660,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "ThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:ce:61:df:4c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:ce:61:df:4c", "endpoint_id": 1, "available": true, @@ -695,22 +723,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "AqaraThermostatSpecificCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:ce:61:df:4c:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:61:df:4c", "endpoint_id": 1, "available": true, @@ -744,22 +756,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "AqaraThermostatSpecificCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:ce:61:df:4c:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:61:df:4c", "endpoint_id": 1, "available": true, @@ -794,22 +790,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ce:61:df:4c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:61:df:4c", "endpoint_id": 1, "available": true, @@ -838,22 +818,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ce:61:df:4c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:61:df:4c", "endpoint_id": 1, "available": true, @@ -882,22 +846,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:ce:61:df:4c:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:ce:61:df:4c", "endpoint_id": 1, "available": true, @@ -933,22 +881,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "ThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:ce:61:df:4c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:ce:61:df:4c", "endpoint_id": 1, "available": true, @@ -977,22 +909,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "ThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:ce:61:df:4c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:ce:61:df:4c", "endpoint_id": 1, "available": true, @@ -1021,22 +937,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "ThermostatCluster", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:ce:61:df:4c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:ce:61:df:4c", "endpoint_id": 1, "available": true, @@ -1067,22 +967,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "AqaraThermostatSpecificCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:ce:61:df:4c:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:61:df:4c", "endpoint_id": 1, "available": true, @@ -1115,22 +999,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "AqaraThermostatSpecificCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:ce:61:df:4c:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:61:df:4c", "endpoint_id": 1, "available": true, @@ -1163,22 +1031,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "AqaraThermostatSpecificCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:ce:61:df:4c:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:61:df:4c", "endpoint_id": 1, "available": true, @@ -1213,22 +1065,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ce:61:df:4c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:61:df:4c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-ctrl-neutral2.json b/tests/data/devices/lumi-lumi-ctrl-neutral2.json index c84363289..432961b28 100644 --- a/tests/data/devices/lumi-lumi-ctrl-neutral2.json +++ b/tests/data/devices/lumi-lumi-ctrl-neutral2.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:35:1a:bf:9e", "nwk": "0x1FEC", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,33 +69,69 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 2300 + "value": 2300, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -102,16 +139,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -126,29 +166,52 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0010", "endpoint_attribute": "binary_output", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0055", + "name": "present_value", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -163,29 +226,52 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0010", "endpoint_attribute": "binary_output", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0055", + "name": "present_value", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -200,18 +286,26 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -227,18 +321,26 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -340,22 +442,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:35:1a:bf:9e:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:35:1a:bf:9e", "endpoint_id": 1, "available": true, @@ -388,22 +474,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:35:1a:bf:9e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:35:1a:bf:9e", "endpoint_id": 1, "available": true, @@ -432,22 +502,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:35:1a:bf:9e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:35:1a:bf:9e", "endpoint_id": 1, "available": true, @@ -476,22 +530,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "ab:cd:ef:12:35:1a:bf:9e:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "ab:cd:ef:12:35:1a:bf:9e", "endpoint_id": 1, "available": true, @@ -522,22 +560,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:35:1a:bf:9e:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:35:1a:bf:9e", "endpoint_id": 2, "available": true, @@ -564,22 +586,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:35:1a:bf:9e:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:35:1a:bf:9e", "endpoint_id": 3, "available": true, @@ -606,22 +612,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "4:0x0006", - "unique_id": "ab:cd:ef:12:35:1a:bf:9e:4:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:35:1a:bf:9e", "endpoint_id": 4, "available": true, @@ -648,22 +638,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 5, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "5:0x0006", - "unique_id": "ab:cd:ef:12:35:1a:bf:9e:5:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:35:1a:bf:9e", "endpoint_id": 5, "available": true, @@ -692,22 +666,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:35:1a:bf:9e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:35:1a:bf:9e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-curtain-acn002.json b/tests/data/devices/lumi-lumi-curtain-acn002.json index 87647b5a9..a68023982 100644 --- a/tests/data/devices/lumi-lumi-curtain-acn002.json +++ b/tests/data/devices/lumi-lumi-curtain-acn002.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:dc:6a:11:ac", "nwk": "0x7F3C", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 158 + "value": 158, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -86,49 +94,87 @@ "name": "battery_size", "zcl_type": "enum8", "value": 255 + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 2400 + "value": 2400, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -170,7 +216,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 0.0 + "value": 0.0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0068", @@ -195,6 +247,7 @@ { "cluster_id": "0x0013", "endpoint_attribute": "multistate_output", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -207,6 +260,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -218,13 +272,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -267,6 +333,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [ { "id": "0x00f7", @@ -302,11 +369,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -329,6 +398,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -402,22 +472,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "XiaomiAqaraRollerE1", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:dc:6a:11:ac:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:6a:11:ac", "endpoint_id": 1, "available": true, @@ -445,22 +499,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "XiaomiAqaraRollerE1", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:dc:6a:11:ac:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:6a:11:ac", "endpoint_id": 1, "available": true, @@ -490,22 +528,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:dc:6a:11:ac:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:6a:11:ac", "endpoint_id": 1, "available": true, @@ -538,22 +560,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:dc:6a:11:ac:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:dc:6a:11:ac", "endpoint_id": 1, "available": true, @@ -588,22 +594,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "XiaomiAqaraRollerE1", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:dc:6a:11:ac:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:6a:11:ac", "endpoint_id": 1, "available": true, @@ -638,22 +628,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:dc:6a:11:ac:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:6a:11:ac", "endpoint_id": 1, "available": true, @@ -682,22 +656,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:dc:6a:11:ac:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:6a:11:ac", "endpoint_id": 1, "available": true, @@ -726,22 +684,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:dc:6a:11:ac:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:dc:6a:11:ac", "endpoint_id": 1, "available": true, @@ -777,22 +719,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "ab:cd:ef:12:dc:6a:11:ac:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "ab:cd:ef:12:dc:6a:11:ac", "endpoint_id": 1, "available": true, @@ -821,22 +747,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:dc:6a:11:ac:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:dc:6a:11:ac", "endpoint_id": 1, "available": true, @@ -867,22 +777,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:dc:6a:11:ac:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:dc:6a:11:ac", "endpoint_id": 1, "available": true, @@ -917,22 +811,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:dc:6a:11:ac:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:6a:11:ac", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-curtain-acn003.json b/tests/data/devices/lumi-lumi-curtain-acn003.json index 5507cff36..736c682cd 100644 --- a/tests/data/devices/lumi-lumi-curtain-acn003.json +++ b/tests/data/devices/lumi-lumi-curtain-acn003.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:26:4b:7b:ee", "nwk": "0x2F28", "manufacturer": "LUMI", @@ -44,17 +44,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -72,23 +80,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -100,31 +117,51 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 20001.0 + "value": 20001.0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -132,16 +169,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -203,22 +243,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:26:4b:7b:ee:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:26:4b:7b:ee", "endpoint_id": 1, "available": true, @@ -251,22 +275,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:26:4b:7b:ee:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:26:4b:7b:ee", "endpoint_id": 1, "available": true, @@ -301,22 +309,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:26:4b:7b:ee:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:26:4b:7b:ee", "endpoint_id": 1, "available": true, @@ -345,22 +337,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:26:4b:7b:ee:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:26:4b:7b:ee", "endpoint_id": 1, "available": true, @@ -389,22 +365,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:26:4b:7b:ee:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:26:4b:7b:ee", "endpoint_id": 1, "available": true, @@ -440,22 +400,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:26:4b:7b:ee:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:26:4b:7b:ee", "endpoint_id": 1, "available": true, @@ -484,22 +428,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:26:4b:7b:ee:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:26:4b:7b:ee", "endpoint_id": 1, "available": true, @@ -530,22 +458,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:26:4b:7b:ee:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:26:4b:7b:ee", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-curtain-agl001.json b/tests/data/devices/lumi-lumi-curtain-agl001.json index 5ad44d7bf..ebaafe23c 100644 --- a/tests/data/devices/lumi-lumi-curtain-agl001.json +++ b/tests/data/devices/lumi-lumi-curtain-agl001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "54:ef:44:10:00:4f:fb:a7", "nwk": "0x5A53", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 114 + "value": 114, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,23 +99,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -125,7 +142,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 98 + "value": 98, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", @@ -137,7 +160,13 @@ "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -192,18 +221,26 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [ { "id": "0x0401", @@ -248,16 +285,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -326,22 +366,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "XiaomiAqaraDriverE1", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "54:ef:44:10:00:4f:fb:a7:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:4f:fb:a7", "endpoint_id": 1, "available": true, @@ -371,22 +395,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "54:ef:44:10:00:4f:fb:a7:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:4f:fb:a7", "endpoint_id": 1, "available": true, @@ -419,22 +427,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "54:ef:44:10:00:4f:fb:a7:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "54:ef:44:10:00:4f:fb:a7", "endpoint_id": 1, "available": true, @@ -469,22 +461,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:4f:fb:a7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:4f:fb:a7", "endpoint_id": 1, "available": true, @@ -513,22 +489,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:4f:fb:a7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:4f:fb:a7", "endpoint_id": 1, "available": true, @@ -557,22 +517,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:4f:fb:a7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:4f:fb:a7", "endpoint_id": 1, "available": true, @@ -601,22 +545,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "54:ef:44:10:00:4f:fb:a7:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "54:ef:44:10:00:4f:fb:a7", "endpoint_id": 1, "available": true, @@ -653,22 +581,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "54:ef:44:10:00:4f:fb:a7:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "54:ef:44:10:00:4f:fb:a7", "endpoint_id": 1, "available": true, @@ -697,22 +609,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "54:ef:44:10:00:4f:fb:a7:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "54:ef:44:10:00:4f:fb:a7", "endpoint_id": 1, "available": true, @@ -741,22 +637,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "XiaomiAqaraDriverE1", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "54:ef:44:10:00:4f:fb:a7:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:4f:fb:a7", "endpoint_id": 1, "available": true, @@ -787,22 +667,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "54:ef:44:10:00:4f:fb:a7:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "54:ef:44:10:00:4f:fb:a7", "endpoint_id": 1, "available": true, @@ -835,22 +699,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "XiaomiAqaraDriverE1", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "54:ef:44:10:00:4f:fb:a7:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:4f:fb:a7", "endpoint_id": 1, "available": true, @@ -885,22 +733,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "54:ef:44:10:00:4f:fb:a7:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:4f:fb:a7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-curtain-hagl04.json b/tests/data/devices/lumi-lumi-curtain-hagl04.json index 5768fafd6..a7bdaddb8 100644 --- a/tests/data/devices/lumi-lumi-curtain-hagl04.json +++ b/tests/data/devices/lumi-lumi-curtain-hagl04.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:43:8b:55:72", "nwk": "0x3345", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 101 + "value": 101, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -132,7 +148,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 1.0 + "value": 1.0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0068", @@ -157,6 +179,7 @@ { "cluster_id": "0x0013", "endpoint_attribute": "multistate_output", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -169,6 +192,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -186,7 +210,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", @@ -194,6 +224,18 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0009", + "name": "current_position_tilt_percentage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0017", "name": "window_covering_mode", @@ -213,11 +255,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -277,22 +321,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:43:8b:55:72:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:43:8b:55:72", "endpoint_id": 1, "available": true, @@ -325,22 +353,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:43:8b:55:72:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:43:8b:55:72", "endpoint_id": 1, "available": true, @@ -375,22 +387,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 1, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "1:0x000d", - "unique_id": "ab:cd:ef:12:43:8b:55:72:1:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:43:8b:55:72", "endpoint_id": 1, "available": true, @@ -424,22 +420,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:43:8b:55:72:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:43:8b:55:72", "endpoint_id": 1, "available": true, @@ -468,22 +448,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:43:8b:55:72:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:43:8b:55:72", "endpoint_id": 1, "available": true, @@ -512,22 +476,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:43:8b:55:72:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:43:8b:55:72", "endpoint_id": 1, "available": true, @@ -558,22 +506,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:43:8b:55:72:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:43:8b:55:72", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-flood-acn001.json b/tests/data/devices/lumi-lumi-flood-acn001.json index 12da8faf4..35789aa66 100644 --- a/tests/data/devices/lumi-lumi-flood-acn001.json +++ b/tests/data/devices/lumi-lumi-flood-acn001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "54:ef:44:10:00:22:14:df", "nwk": "0x7779", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 101 + "value": 101, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,18 +99,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29.6 + "value": 29.6, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -142,6 +158,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -149,11 +166,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -219,22 +238,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "54:ef:44:10:00:22:14:df:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:22:14:df", "endpoint_id": 1, "available": true, @@ -264,22 +267,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "54:ef:44:10:00:22:14:df:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:22:14:df", "endpoint_id": 1, "available": true, @@ -312,22 +299,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:22:14:df:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:22:14:df", "endpoint_id": 1, "available": true, @@ -356,22 +327,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:22:14:df:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:22:14:df", "endpoint_id": 1, "available": true, @@ -400,22 +355,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "54:ef:44:10:00:22:14:df:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "54:ef:44:10:00:22:14:df", "endpoint_id": 1, "available": true, @@ -454,22 +393,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "54:ef:44:10:00:22:14:df:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:22:14:df", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-flood-agl02.json b/tests/data/devices/lumi-lumi-flood-agl02.json index fe913190b..fc2a9e76a 100644 --- a/tests/data/devices/lumi-lumi-flood-agl02.json +++ b/tests/data/devices/lumi-lumi-flood-agl02.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "54:ef:44:10:00:aa:c8:25", "nwk": "0x6A94", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 161 + "value": 161, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -136,6 +152,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -143,6 +160,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -206,22 +224,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "54:ef:44:10:00:aa:c8:25:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:aa:c8:25", "endpoint_id": 1, "available": true, @@ -251,22 +253,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "54:ef:44:10:00:aa:c8:25:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:aa:c8:25", "endpoint_id": 1, "available": true, @@ -299,22 +285,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:aa:c8:25:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:aa:c8:25", "endpoint_id": 1, "available": true, @@ -343,22 +313,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:aa:c8:25:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:aa:c8:25", "endpoint_id": 1, "available": true, @@ -387,22 +341,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "54:ef:44:10:00:aa:c8:25:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "54:ef:44:10:00:aa:c8:25", "endpoint_id": 1, "available": true, @@ -441,22 +379,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "54:ef:44:10:00:aa:c8:25:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:aa:c8:25", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-light-aqcn02.json b/tests/data/devices/lumi-lumi-light-aqcn02.json index c476ae58e..9808a3091 100644 --- a/tests/data/devices/lumi-lumi-light-aqcn02.json +++ b/tests/data/devices/lumi-lumi-light-aqcn02.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d2:16:bb:90", "nwk": "0x6340", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,34 +99,50 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -131,12 +155,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 178 + "value": 178, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -179,6 +210,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -214,7 +246,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 190 + "value": 190, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -232,13 +270,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 22362 + "value": 22362, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 22981 + "value": 22981, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -265,11 +315,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -282,6 +334,7 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -344,22 +397,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:d2:16:bb:90:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:16:bb:90", "endpoint_id": 1, "available": true, @@ -392,50 +429,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:d2:16:bb:90:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:d2:16:bb:90:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:d2:16:bb:90:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:d2:16:bb:90", "endpoint_id": 1, "available": true, @@ -490,22 +483,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:d2:16:bb:90:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:d2:16:bb:90", "endpoint_id": 1, "available": true, @@ -539,22 +516,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d2:16:bb:90:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:16:bb:90", "endpoint_id": 1, "available": true, @@ -583,22 +544,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d2:16:bb:90:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:16:bb:90", "endpoint_id": 1, "available": true, @@ -629,22 +574,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d2:16:bb:90:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:16:bb:90", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-magnet-ac01.json b/tests/data/devices/lumi-lumi-magnet-ac01.json index 039b80209..850332623 100644 --- a/tests/data/devices/lumi-lumi-magnet-ac01.json +++ b/tests/data/devices/lumi-lumi-magnet-ac01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "54:ef:44:10:00:1e:85:7f", "nwk": "0xFC15", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 139 + "value": 139, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,18 +99,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 19 + "value": 19, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [ { "id": "0x010c", @@ -117,11 +133,13 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -178,22 +196,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "54:ef:44:10:00:1e:85:7f:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:1e:85:7f", "endpoint_id": 1, "available": true, @@ -223,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "54:ef:44:10:00:1e:85:7f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:1e:85:7f", "endpoint_id": 1, "available": true, @@ -271,22 +257,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "54:ef:44:10:00:1e:85:7f:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:1e:85:7f", "endpoint_id": 1, "available": true, @@ -321,22 +291,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:1e:85:7f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:1e:85:7f", "endpoint_id": 1, "available": true, @@ -365,22 +319,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:1e:85:7f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:1e:85:7f", "endpoint_id": 1, "available": true, @@ -409,22 +347,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "54:ef:44:10:00:1e:85:7f:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "54:ef:44:10:00:1e:85:7f", "endpoint_id": 1, "available": true, @@ -463,22 +385,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "54:ef:44:10:00:1e:85:7f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:1e:85:7f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-magnet-acn001.json b/tests/data/devices/lumi-lumi-magnet-acn001.json index ecd984c9c..be212a9aa 100644 --- a/tests/data/devices/lumi-lumi-magnet-acn001.json +++ b/tests/data/devices/lumi-lumi-magnet-acn001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "54:ef:44:10:00:25:87:7e", "nwk": "0x2B49", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 102 + "value": 102, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,18 +99,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29 + "value": 29, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -142,6 +158,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -149,11 +166,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -219,22 +238,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "54:ef:44:10:00:25:87:7e:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:25:87:7e", "endpoint_id": 1, "available": true, @@ -264,22 +267,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "54:ef:44:10:00:25:87:7e:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:25:87:7e", "endpoint_id": 1, "available": true, @@ -312,22 +299,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:25:87:7e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:25:87:7e", "endpoint_id": 1, "available": true, @@ -356,22 +327,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:25:87:7e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:25:87:7e", "endpoint_id": 1, "available": true, @@ -400,22 +355,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "54:ef:44:10:00:25:87:7e:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "54:ef:44:10:00:25:87:7e", "endpoint_id": 1, "available": true, @@ -454,22 +393,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "54:ef:44:10:00:25:87:7e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:25:87:7e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-magnet-agl02.json b/tests/data/devices/lumi-lumi-magnet-agl02.json index b1cf8b9f3..501c70767 100644 --- a/tests/data/devices/lumi-lumi-magnet-agl02.json +++ b/tests/data/devices/lumi-lumi-magnet-agl02.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:52:70:f0:26", "nwk": "0x6E4A", "manufacturer": "LUMI", @@ -44,17 +44,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -72,18 +80,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -91,11 +107,13 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -159,22 +177,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:52:70:f0:26:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:70:f0:26", "endpoint_id": 1, "available": true, @@ -204,22 +206,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:52:70:f0:26:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:70:f0:26", "endpoint_id": 1, "available": true, @@ -252,22 +238,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:52:70:f0:26:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:70:f0:26", "endpoint_id": 1, "available": true, @@ -296,22 +266,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:52:70:f0:26:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:70:f0:26", "endpoint_id": 1, "available": true, @@ -340,22 +294,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:52:70:f0:26:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:52:70:f0:26", "endpoint_id": 1, "available": true, @@ -393,22 +331,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:52:70:f0:26:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:70:f0:26", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-motion-ac02.json b/tests/data/devices/lumi-lumi-motion-ac02.json index 31799d8b4..087b35270 100755 --- a/tests/data/devices/lumi-lumi-motion-ac02.json +++ b/tests/data/devices/lumi-lumi-motion-ac02.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "54:ef:44:10:00:49:74:c7", "nwk": "0x69C1", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 151 + "value": 151, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,42 +99,64 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30.3 + "value": 30.3, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 13803.112417116059 + "value": 13803.112417116059, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -151,6 +181,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [ { "id": "0x0102", @@ -177,16 +208,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -245,22 +279,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "54:ef:44:10:00:49:74:c7:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "54:ef:44:10:00:49:74:c7", "endpoint_id": 1, "available": true, @@ -288,22 +306,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "54:ef:44:10:00:49:74:c7:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:49:74:c7", "endpoint_id": 1, "available": true, @@ -333,22 +335,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "54:ef:44:10:00:49:74:c7:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:49:74:c7", "endpoint_id": 1, "available": true, @@ -381,22 +367,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "54:ef:44:10:00:49:74:c7:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:49:74:c7", "endpoint_id": 1, "available": true, @@ -430,22 +400,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "54:ef:44:10:00:49:74:c7:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:49:74:c7", "endpoint_id": 1, "available": true, @@ -480,22 +434,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:49:74:c7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:49:74:c7", "endpoint_id": 1, "available": true, @@ -524,22 +462,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:49:74:c7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:49:74:c7", "endpoint_id": 1, "available": true, @@ -568,22 +490,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "54:ef:44:10:00:49:74:c7:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "54:ef:44:10:00:49:74:c7", "endpoint_id": 1, "available": true, @@ -620,22 +526,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "54:ef:44:10:00:49:74:c7:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "54:ef:44:10:00:49:74:c7", "endpoint_id": 1, "available": true, @@ -666,22 +556,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "54:ef:44:10:00:49:74:c7:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:49:74:c7", "endpoint_id": 1, "available": true, @@ -716,22 +590,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "54:ef:44:10:00:49:74:c7:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:49:74:c7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-motion-agl02.json b/tests/data/devices/lumi-lumi-motion-agl02.json index 12818d7ea..65ec11e11 100644 --- a/tests/data/devices/lumi-lumi-motion-agl02.json +++ b/tests/data/devices/lumi-lumi-motion-agl02.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "54:ef:44:10:00:19:e0:9d", "nwk": "0xFB00", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 104 + "value": 104, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,42 +99,64 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29 + "value": 29, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 6021.599913279624 + "value": 6021.599913279624, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -157,6 +187,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -164,11 +195,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -226,22 +259,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "54:ef:44:10:00:19:e0:9d:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "54:ef:44:10:00:19:e0:9d", "endpoint_id": 1, "available": true, @@ -269,22 +286,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "54:ef:44:10:00:19:e0:9d:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:19:e0:9d", "endpoint_id": 1, "available": true, @@ -314,22 +315,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "54:ef:44:10:00:19:e0:9d:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:19:e0:9d", "endpoint_id": 1, "available": true, @@ -362,22 +347,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:19:e0:9d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:19:e0:9d", "endpoint_id": 1, "available": true, @@ -406,22 +375,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:19:e0:9d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:19:e0:9d", "endpoint_id": 1, "available": true, @@ -450,22 +403,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "54:ef:44:10:00:19:e0:9d:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "54:ef:44:10:00:19:e0:9d", "endpoint_id": 1, "available": true, @@ -502,22 +439,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "54:ef:44:10:00:19:e0:9d:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "54:ef:44:10:00:19:e0:9d", "endpoint_id": 1, "available": true, @@ -548,22 +469,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "54:ef:44:10:00:19:e0:9d:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:19:e0:9d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-motion-agl04.json b/tests/data/devices/lumi-lumi-motion-agl04.json index 85ce82c53..e7b1c6b1d 100644 --- a/tests/data/devices/lumi-lumi-motion-agl04.json +++ b/tests/data/devices/lumi-lumi-motion-agl04.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "54:ef:44:10:00:40:a2:bb", "nwk": "0x82FC", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,42 +93,64 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31.3 + "value": 31.3, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 2500 + "value": 2500, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0002", @@ -139,6 +169,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [ { "id": "0x0102", @@ -159,11 +190,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -228,22 +261,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "54:ef:44:10:00:40:a2:bb:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "54:ef:44:10:00:40:a2:bb", "endpoint_id": 1, "available": true, @@ -271,22 +288,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "54:ef:44:10:00:40:a2:bb:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:40:a2:bb", "endpoint_id": 1, "available": true, @@ -316,22 +317,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "54:ef:44:10:00:40:a2:bb:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:40:a2:bb", "endpoint_id": 1, "available": true, @@ -364,22 +349,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "54:ef:44:10:00:40:a2:bb:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:40:a2:bb", "endpoint_id": 1, "available": true, @@ -413,22 +382,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "54:ef:44:10:00:40:a2:bb:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:40:a2:bb", "endpoint_id": 1, "available": true, @@ -463,22 +416,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:40:a2:bb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:40:a2:bb", "endpoint_id": 1, "available": true, @@ -507,22 +444,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:40:a2:bb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:40:a2:bb", "endpoint_id": 1, "available": true, @@ -551,22 +472,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "54:ef:44:10:00:40:a2:bb:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "54:ef:44:10:00:40:a2:bb", "endpoint_id": 1, "available": true, @@ -603,22 +508,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "54:ef:44:10:00:40:a2:bb:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "54:ef:44:10:00:40:a2:bb", "endpoint_id": 1, "available": true, @@ -649,22 +538,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "54:ef:44:10:00:40:a2:bb:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:40:a2:bb", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-plug-maeu01.json b/tests/data/devices/lumi-lumi-plug-maeu01.json index 306934379..7b9ed7c95 100644 --- a/tests/data/devices/lumi-lumi-plug-maeu01.json +++ b/tests/data/devices/lumi-lumi-plug-maeu01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:49:c1:10:71", "nwk": "0xE95B", "manufacturer": "LUMI", @@ -44,44 +44,62 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 29 + "value": 29, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -94,17 +112,109 @@ { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "current_tier1_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0102", + "name": "current_tier2_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0104", + "name": "current_tier3_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "current_tier4_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0108", + "name": "current_tier5_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x010a", + "name": "current_tier6_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -118,6 +228,18 @@ "zcl_type": "uint24", "value": 1000 }, + { + "id": "0x0400", + "name": "instantaneous_demand", + "zcl_type": "int24", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0306", "name": "metering_device_type", @@ -130,6 +252,18 @@ "zcl_type": "uint24", "value": 1 }, + { + "id": "0x0200", + "name": "status", + "zcl_type": "map8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0303", "name": "summation_formatting", @@ -147,24 +281,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -188,31 +341,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -220,11 +403,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -236,19 +557,37 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -256,11 +595,41 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -268,17 +637,48 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -286,11 +686,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -305,7 +707,21 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0055", + "name": "present_value", + "zcl_type": "single", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -321,6 +737,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -400,22 +817,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:49:c1:10:71:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:49:c1:10:71", "endpoint_id": 1, "available": true, @@ -448,22 +849,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:49:c1:10:71:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:49:c1:10:71", "endpoint_id": 1, "available": true, @@ -492,22 +877,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:49:c1:10:71:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:49:c1:10:71", "endpoint_id": 1, "available": true, @@ -536,22 +905,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:49:c1:10:71:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:49:c1:10:71", "endpoint_id": 1, "available": true, @@ -587,22 +940,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:49:c1:10:71:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:49:c1:10:71", "endpoint_id": 1, "available": true, @@ -638,22 +975,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "ab:cd:ef:12:49:c1:10:71:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "ab:cd:ef:12:49:c1:10:71", "endpoint_id": 1, "available": true, @@ -682,22 +1003,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:49:c1:10:71:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:49:c1:10:71", "endpoint_id": 1, "available": true, @@ -730,22 +1035,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:49:c1:10:71:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:49:c1:10:71", "endpoint_id": 1, "available": true, @@ -777,22 +1066,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:49:c1:10:71:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:49:c1:10:71", "endpoint_id": 1, "available": true, @@ -825,22 +1098,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:49:c1:10:71:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:49:c1:10:71", "endpoint_id": 1, "available": true, @@ -875,22 +1132,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:49:c1:10:71:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:49:c1:10:71", "endpoint_id": 1, "available": true, @@ -919,22 +1160,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:49:c1:10:71:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:49:c1:10:71", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-plug-maus01.json b/tests/data/devices/lumi-lumi-plug-maus01.json index d1e594506..f32f91b38 100644 --- a/tests/data/devices/lumi-lumi-plug-maus01.json +++ b/tests/data/devices/lumi-lumi-plug-maus01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:8d:00:02:82:d0:78", "nwk": "0x9FB9", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -74,12 +75,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -97,46 +105,69 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 4100 + "value": 4100, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -149,22 +180,128 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0010", "endpoint_attribute": "binary_output", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0055", + "name": "present_value", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 5027 + "value": 5027, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "current_tier1_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0102", + "name": "current_tier2_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0104", + "name": "current_tier3_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "current_tier4_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0108", + "name": "current_tier5_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x010a", + "name": "current_tier6_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0302", @@ -172,6 +309,18 @@ "zcl_type": "uint24", "value": 1000 }, + { + "id": "0x0400", + "name": "instantaneous_demand", + "zcl_type": "int24", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0306", "name": "metering_device_type", @@ -184,6 +333,18 @@ "zcl_type": "uint24", "value": 1 }, + { + "id": "0x0200", + "name": "status", + "zcl_type": "map8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0303", "name": "summation_formatting", @@ -201,18 +362,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0300", + "name": "ac_frequency", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -230,31 +416,205 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 9 + "value": 9, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x050f", + "name": "apparent_power", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -266,7 +626,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -278,25 +644,104 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0508", + "name": "rms_current", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "value": 5027 + "value": 5027, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -304,11 +749,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -330,12 +777,19 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 0.9399999976158142 + "value": 0.9399999976158142, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -344,11 +798,13 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -363,12 +819,19 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 0.274497389793396 + "value": 0.274497389793396, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -377,6 +840,7 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -391,12 +855,19 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -405,11 +876,13 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -505,22 +978,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 100, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "100:0x000f", - "unique_id": "00:15:8d:00:02:82:d0:78:100:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "00:15:8d:00:02:82:d0:78", "endpoint_id": 100, "available": true, @@ -550,22 +1007,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:15:8d:00:02:82:d0:78:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:82:d0:78", "endpoint_id": 1, "available": true, @@ -598,22 +1039,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:02:82:d0:78:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:82:d0:78", "endpoint_id": 1, "available": true, @@ -642,22 +1067,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:02:82:d0:78:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:82:d0:78", "endpoint_id": 1, "available": true, @@ -686,22 +1095,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "MeteringCluster", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "00:15:8d:00:02:82:d0:78:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "00:15:8d:00:02:82:d0:78", "endpoint_id": 1, "available": true, @@ -737,22 +1130,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "MeteringCluster", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "00:15:8d:00:02:82:d0:78:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "00:15:8d:00:02:82:d0:78", "endpoint_id": 1, "available": true, @@ -788,22 +1165,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "00:15:8d:00:02:82:d0:78:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "00:15:8d:00:02:82:d0:78", "endpoint_id": 1, "available": true, @@ -832,22 +1193,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "00:15:8d:00:02:82:d0:78:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:15:8d:00:02:82:d0:78", "endpoint_id": 1, "available": true, @@ -880,22 +1225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "00:15:8d:00:02:82:d0:78:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:15:8d:00:02:82:d0:78", "endpoint_id": 1, "available": true, @@ -928,22 +1257,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "00:15:8d:00:02:82:d0:78:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:15:8d:00:02:82:d0:78", "endpoint_id": 1, "available": true, @@ -975,22 +1288,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "00:15:8d:00:02:82:d0:78:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:15:8d:00:02:82:d0:78", "endpoint_id": 1, "available": true, @@ -1023,22 +1320,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "00:15:8d:00:02:82:d0:78:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:15:8d:00:02:82:d0:78", "endpoint_id": 1, "available": true, @@ -1071,22 +1352,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "00:15:8d:00:02:82:d0:78:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:15:8d:00:02:82:d0:78", "endpoint_id": 1, "available": true, @@ -1121,22 +1386,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:15:8d:00:02:82:d0:78:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:15:8d:00:02:82:d0:78", "endpoint_id": 1, "available": true, @@ -1165,22 +1414,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:15:8d:00:02:82:d0:78:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:82:d0:78", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-relay-c2acn01.json b/tests/data/devices/lumi-lumi-relay-c2acn01.json index 4bf745322..f9d8092fc 100644 --- a/tests/data/devices/lumi-lumi-relay-c2acn01.json +++ b/tests/data/devices/lumi-lumi-relay-c2acn01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:8d:00:04:44:ec:08", "nwk": "0x8F9D", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -74,6 +75,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0020", @@ -92,6 +94,7 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -104,21 +107,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -131,11 +138,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -148,11 +157,13 @@ { "cluster_id": "0x0010", "endpoint_attribute": "binary_output", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -195,6 +206,7 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0300", @@ -293,11 +305,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -319,16 +333,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -341,6 +358,7 @@ { "cluster_id": "0x0010", "endpoint_attribute": "binary_output", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -417,22 +435,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:15:8d:00:04:44:ec:08:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:04:44:ec:08", "endpoint_id": 1, "available": true, @@ -465,22 +467,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:15:8d:00:04:44:ec:08:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:15:8d:00:04:44:ec:08", "endpoint_id": 1, "available": true, @@ -531,22 +517,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "00:15:8d:00:04:44:ec:08:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:15:8d:00:04:44:ec:08", "endpoint_id": 2, "available": true, @@ -599,22 +569,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:04:44:ec:08:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:04:44:ec:08", "endpoint_id": 1, "available": true, @@ -643,22 +597,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:04:44:ec:08:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:04:44:ec:08", "endpoint_id": 1, "available": true, @@ -687,22 +625,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "MeteringCluster", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "00:15:8d:00:04:44:ec:08:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "00:15:8d:00:04:44:ec:08", "endpoint_id": 1, "available": true, @@ -738,22 +660,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "MeteringCluster", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "00:15:8d:00:04:44:ec:08:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "00:15:8d:00:04:44:ec:08", "endpoint_id": 1, "available": true, @@ -789,22 +695,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "00:15:8d:00:04:44:ec:08:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "00:15:8d:00:04:44:ec:08", "endpoint_id": 1, "available": true, @@ -833,22 +723,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "00:15:8d:00:04:44:ec:08:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:15:8d:00:04:44:ec:08", "endpoint_id": 1, "available": true, @@ -881,22 +755,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "00:15:8d:00:04:44:ec:08:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:15:8d:00:04:44:ec:08", "endpoint_id": 1, "available": true, @@ -928,22 +786,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "00:15:8d:00:04:44:ec:08:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:15:8d:00:04:44:ec:08", "endpoint_id": 1, "available": true, @@ -976,22 +818,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "00:15:8d:00:04:44:ec:08:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:15:8d:00:04:44:ec:08", "endpoint_id": 1, "available": true, @@ -1026,22 +852,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:15:8d:00:04:44:ec:08:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:04:44:ec:08", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-remote-b286opcn01.json b/tests/data/devices/lumi-lumi-remote-b286opcn01.json index 45d591ac5..fb9d6c8c9 100644 --- a/tests/data/devices/lumi-lumi-remote-b286opcn01.json +++ b/tests/data/devices/lumi-lumi-remote-b286opcn01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "04:cf:8c:df:3c:75:c1:67", "nwk": "0x634D", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -74,12 +75,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -97,18 +105,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -121,6 +137,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [ { "id": "0x0009", @@ -135,21 +152,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] } ] @@ -164,11 +185,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -183,11 +206,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] } ] @@ -202,11 +227,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -214,6 +241,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] } ] @@ -228,11 +256,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -240,6 +270,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] } ] @@ -254,11 +285,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -266,6 +299,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] } ] @@ -280,11 +314,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -292,6 +328,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] } ] @@ -405,22 +442,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "04:cf:8c:df:3c:75:c1:67:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:75:c1:67", "endpoint_id": 1, "available": true, @@ -453,22 +474,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "04:cf:8c:df:3c:75:c1:67:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:75:c1:67", "endpoint_id": 1, "available": true, @@ -497,22 +502,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "04:cf:8c:df:3c:75:c1:67:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:75:c1:67", "endpoint_id": 1, "available": true, @@ -541,22 +530,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "04:cf:8c:df:3c:75:c1:67:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "04:cf:8c:df:3c:75:c1:67", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-remote-b28ac1.json b/tests/data/devices/lumi-lumi-remote-b28ac1.json index b7bc6edbe..011383b52 100644 --- a/tests/data/devices/lumi-lumi-remote-b28ac1.json +++ b/tests/data/devices/lumi-lumi-remote-b28ac1.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b2:f6:6e:7d", "nwk": "0x9CFA", "manufacturer": "LUMI", @@ -44,17 +44,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -72,23 +80,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -96,11 +113,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] } ] @@ -115,11 +134,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -134,11 +155,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] } ] @@ -153,11 +176,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -165,11 +190,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] } ] @@ -252,22 +279,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:b2:f6:6e:7d:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b2:f6:6e:7d", "endpoint_id": 1, "available": true, @@ -300,22 +311,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "AqaraRemoteManuSpecificCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:b2:f6:6e:7d:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b2:f6:6e:7d", "endpoint_id": 1, "available": true, @@ -347,22 +342,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "AqaraRemoteManuSpecificCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "ab:cd:ef:12:b2:f6:6e:7d:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b2:f6:6e:7d", "endpoint_id": 1, "available": true, @@ -396,22 +375,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b2:f6:6e:7d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b2:f6:6e:7d", "endpoint_id": 1, "available": true, @@ -440,22 +403,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b2:f6:6e:7d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b2:f6:6e:7d", "endpoint_id": 1, "available": true, @@ -484,22 +431,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:b2:f6:6e:7d:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:b2:f6:6e:7d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-remote-b486opcn01.json b/tests/data/devices/lumi-lumi-remote-b486opcn01.json index 5dda0f411..7ba2898d8 100755 --- a/tests/data/devices/lumi-lumi-remote-b486opcn01.json +++ b/tests/data/devices/lumi-lumi-remote-b486opcn01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "04:cf:8c:df:3c:75:c1:7b", "nwk": "0x78F2", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29 + "value": 29, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -109,6 +125,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -116,21 +133,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] } ] @@ -145,11 +166,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -164,11 +187,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] } ] @@ -183,6 +208,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -205,6 +231,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -271,22 +298,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "04:cf:8c:df:3c:75:c1:7b:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:75:c1:7b", "endpoint_id": 1, "available": true, @@ -319,22 +330,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "04:cf:8c:df:3c:75:c1:7b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:75:c1:7b", "endpoint_id": 1, "available": true, @@ -363,22 +358,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "04:cf:8c:df:3c:75:c1:7b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:75:c1:7b", "endpoint_id": 1, "available": true, @@ -407,22 +386,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "04:cf:8c:df:3c:75:c1:7b:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "04:cf:8c:df:3c:75:c1:7b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-remote-b686opcn01.json b/tests/data/devices/lumi-lumi-remote-b686opcn01.json index 04fdd0926..9d0cb73ed 100644 --- a/tests/data/devices/lumi-lumi-remote-b686opcn01.json +++ b/tests/data/devices/lumi-lumi-remote-b686opcn01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "04:cf:8c:df:3c:79:47:76", "nwk": "0x1B26", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -109,6 +125,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -116,21 +133,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] } ] @@ -145,11 +166,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -157,11 +180,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] } ] @@ -176,11 +201,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -188,6 +215,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] } ] @@ -202,11 +230,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -214,6 +244,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] } ] @@ -228,11 +259,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -240,6 +273,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] } ] @@ -254,11 +288,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -266,6 +302,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] } ] @@ -379,22 +416,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "04:cf:8c:df:3c:79:47:76:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:79:47:76", "endpoint_id": 1, "available": true, @@ -427,22 +448,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "04:cf:8c:df:3c:79:47:76:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:79:47:76", "endpoint_id": 1, "available": true, @@ -471,22 +476,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "04:cf:8c:df:3c:79:47:76:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:79:47:76", "endpoint_id": 1, "available": true, @@ -515,22 +504,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "04:cf:8c:df:3c:79:47:76:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "04:cf:8c:df:3c:79:47:76", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-remote-cagl02.json b/tests/data/devices/lumi-lumi-remote-cagl02.json index f73ec1550..3a0e689b3 100644 --- a/tests/data/devices/lumi-lumi-remote-cagl02.json +++ b/tests/data/devices/lumi-lumi-remote-cagl02.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "54:ef:44:10:00:14:f3:e7", "nwk": "0x67CE", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,23 +99,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -115,16 +132,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -139,6 +159,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -153,6 +174,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -167,12 +189,19 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 24.570003509521484 + "value": 24.570003509521484, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -181,6 +210,7 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -260,22 +290,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "54:ef:44:10:00:14:f3:e7:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:14:f3:e7", "endpoint_id": 1, "available": true, @@ -308,22 +322,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:14:f3:e7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:14:f3:e7", "endpoint_id": 1, "available": true, @@ -352,22 +350,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:14:f3:e7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:14:f3:e7", "endpoint_id": 1, "available": true, @@ -396,22 +378,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "54:ef:44:10:00:14:f3:e7:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "54:ef:44:10:00:14:f3:e7", "endpoint_id": 1, "available": true, @@ -450,22 +416,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "54:ef:44:10:00:14:f3:e7:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:14:f3:e7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-sen-ill-agl01.json b/tests/data/devices/lumi-lumi-sen-ill-agl01.json index 05b19ca01..f7f4f11a3 100644 --- a/tests/data/devices/lumi-lumi-sen-ill-agl01.json +++ b/tests/data/devices/lumi-lumi-sen-ill-agl01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:0d:d9:db:dd", "nwk": "0x136D", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,30 +99,45 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 32 + "value": 32, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 33786 + "value": 33786, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -122,6 +145,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -178,22 +202,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:0d:d9:db:dd:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0d:d9:db:dd", "endpoint_id": 1, "available": true, @@ -226,22 +234,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0d:d9:db:dd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0d:d9:db:dd", "endpoint_id": 1, "available": true, @@ -270,22 +262,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0d:d9:db:dd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0d:d9:db:dd", "endpoint_id": 1, "available": true, @@ -314,22 +290,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:0d:d9:db:dd:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:0d:d9:db:dd", "endpoint_id": 1, "available": true, @@ -366,22 +326,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:0d:d9:db:dd:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:0d:d9:db:dd", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-sen-ill-mgl01.json b/tests/data/devices/lumi-lumi-sen-ill-mgl01.json index 574eba33c..d6625668a 100644 --- a/tests/data/devices/lumi-lumi-sen-ill-mgl01.json +++ b/tests/data/devices/lumi-lumi-sen-ill-mgl01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "04:cf:8c:df:3c:77:19:75", "nwk": "0x13F8", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,24 +93,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -111,6 +133,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -167,22 +190,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "04:cf:8c:df:3c:77:19:75:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:77:19:75", "endpoint_id": 1, "available": true, @@ -215,22 +222,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "04:cf:8c:df:3c:77:19:75:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:77:19:75", "endpoint_id": 1, "available": true, @@ -259,22 +250,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "04:cf:8c:df:3c:77:19:75:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:77:19:75", "endpoint_id": 1, "available": true, @@ -303,22 +278,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "04:cf:8c:df:3c:77:19:75:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "04:cf:8c:df:3c:77:19:75", "endpoint_id": 1, "available": true, @@ -355,22 +314,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "04:cf:8c:df:3c:77:19:75:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "04:cf:8c:df:3c:77:19:75", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-sensor-86sw2.json b/tests/data/devices/lumi-lumi-sensor-86sw2.json index 77d9a7d7d..90e600285 100644 --- a/tests/data/devices/lumi-lumi-sensor-86sw2.json +++ b/tests/data/devices/lumi-lumi-sensor-86sw2.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:8d:00:02:54:cb:fa", "nwk": "0x8BA2", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -98,6 +100,7 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -110,21 +113,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -132,41 +139,49 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -181,11 +196,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -193,26 +210,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -227,11 +249,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -239,31 +263,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -355,22 +385,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:15:8d:00:02:54:cb:fa:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:54:cb:fa", "endpoint_id": 1, "available": true, @@ -403,22 +417,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:02:54:cb:fa:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:54:cb:fa", "endpoint_id": 1, "available": true, @@ -447,22 +445,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:02:54:cb:fa:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:54:cb:fa", "endpoint_id": 1, "available": true, @@ -491,22 +473,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:15:8d:00:02:54:cb:fa:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:15:8d:00:02:54:cb:fa", "endpoint_id": 1, "available": true, @@ -543,22 +509,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "00:15:8d:00:02:54:cb:fa:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "00:15:8d:00:02:54:cb:fa", "endpoint_id": 1, "available": true, @@ -589,22 +539,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:15:8d:00:02:54:cb:fa:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:54:cb:fa", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-sensor-ht-agl02.json b/tests/data/devices/lumi-lumi-sensor-ht-agl02.json index 658a152bf..27dd9b765 100644 --- a/tests/data/devices/lumi-lumi-sensor-ht-agl02.json +++ b/tests/data/devices/lumi-lumi-sensor-ht-agl02.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "04:cf:8c:df:3c:7f:c5:a7", "nwk": "0xF920", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 132 + "value": 132, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,36 +93,57 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30.1 + "value": 30.1, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1878 + "value": 1878, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0403", "endpoint_attribute": "pressure", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1013 + "value": 1013, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -133,18 +162,26 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4905 + "value": 4905, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -152,6 +189,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -210,22 +248,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "04:cf:8c:df:3c:7f:c5:a7:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:7f:c5:a7", "endpoint_id": 1, "available": true, @@ -258,22 +280,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "04:cf:8c:df:3c:7f:c5:a7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:7f:c5:a7", "endpoint_id": 1, "available": true, @@ -302,22 +308,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "04:cf:8c:df:3c:7f:c5:a7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:7f:c5:a7", "endpoint_id": 1, "available": true, @@ -346,22 +336,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "04:cf:8c:df:3c:7f:c5:a7:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "04:cf:8c:df:3c:7f:c5:a7", "endpoint_id": 1, "available": true, @@ -398,22 +372,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "04:cf:8c:df:3c:7f:c5:a7:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "04:cf:8c:df:3c:7f:c5:a7", "endpoint_id": 1, "available": true, @@ -442,22 +400,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PressureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0403", - "endpoint_id": 1, - "cluster": { - "id": 1027, - "name": "Pressure Measurement", - "type": "server" - }, - "id": "1:0x0403", - "unique_id": "04:cf:8c:df:3c:7f:c5:a7:1:0x0403", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "04:cf:8c:df:3c:7f:c5:a7", "endpoint_id": 1, "available": true, @@ -486,22 +428,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "04:cf:8c:df:3c:7f:c5:a7:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "04:cf:8c:df:3c:7f:c5:a7", "endpoint_id": 1, "available": true, @@ -532,22 +458,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "04:cf:8c:df:3c:7f:c5:a7:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:7f:c5:a7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-sensor-magnet-aq2.json b/tests/data/devices/lumi-lumi-sensor-magnet-aq2.json index 6ab2f7a85..630b06770 100644 --- a/tests/data/devices/lumi-lumi-sensor-magnet-aq2.json +++ b/tests/data/devices/lumi-lumi-sensor-magnet-aq2.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:8d:00:01:ab:40:52", "nwk": "0x2C1E", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -92,6 +94,7 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -104,11 +107,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -116,16 +121,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -138,6 +146,7 @@ { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -196,22 +205,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "00:15:8d:00:01:ab:40:52:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:01:ab:40:52", "endpoint_id": 1, "available": true, @@ -241,22 +234,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:15:8d:00:01:ab:40:52:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:01:ab:40:52", "endpoint_id": 1, "available": true, @@ -289,22 +266,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:01:ab:40:52:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:01:ab:40:52", "endpoint_id": 1, "available": true, @@ -333,22 +294,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:01:ab:40:52:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:01:ab:40:52", "endpoint_id": 1, "available": true, @@ -377,22 +322,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:15:8d:00:01:ab:40:52:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:15:8d:00:01:ab:40:52", "endpoint_id": 1, "available": true, @@ -429,22 +358,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "00:15:8d:00:01:ab:40:52:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "00:15:8d:00:01:ab:40:52", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-sensor-motion-aq2.json b/tests/data/devices/lumi-lumi-sensor-motion-aq2.json index cdbb90cab..32a6592bb 100644 --- a/tests/data/devices/lumi-lumi-sensor-motion-aq2.json +++ b/tests/data/devices/lumi-lumi-sensor-motion-aq2.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:8d:00:01:b1:ca:eb", "nwk": "0xAC79", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -98,6 +100,7 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -110,11 +113,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -127,6 +132,7 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -139,6 +145,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -163,6 +170,7 @@ { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -170,11 +178,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -235,22 +245,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "00:15:8d:00:01:b1:ca:eb:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "00:15:8d:00:01:b1:ca:eb", "endpoint_id": 1, "available": true, @@ -278,22 +272,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "00:15:8d:00:01:b1:ca:eb:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:01:b1:ca:eb", "endpoint_id": 1, "available": true, @@ -323,22 +301,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:15:8d:00:01:b1:ca:eb:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:01:b1:ca:eb", "endpoint_id": 1, "available": true, @@ -371,22 +333,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:01:b1:ca:eb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:01:b1:ca:eb", "endpoint_id": 1, "available": true, @@ -415,22 +361,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:01:b1:ca:eb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:01:b1:ca:eb", "endpoint_id": 1, "available": true, @@ -459,22 +389,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:15:8d:00:01:b1:ca:eb:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:15:8d:00:01:b1:ca:eb", "endpoint_id": 1, "available": true, @@ -511,22 +425,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "00:15:8d:00:01:b1:ca:eb:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:15:8d:00:01:b1:ca:eb", "endpoint_id": 1, "available": true, @@ -555,22 +453,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "00:15:8d:00:01:b1:ca:eb:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "00:15:8d:00:01:b1:ca:eb", "endpoint_id": 1, "available": true, @@ -601,22 +483,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:15:8d:00:01:b1:ca:eb:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:01:b1:ca:eb", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-sensor-smoke-acn03.json b/tests/data/devices/lumi-lumi-sensor-smoke-acn03.json index f1f027784..41205920a 100644 --- a/tests/data/devices/lumi-lumi-sensor-smoke-acn03.json +++ b/tests/data/devices/lumi-lumi-sensor-smoke-acn03.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "54:ef:44:10:00:5a:6e:93", "nwk": "0xBBED", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 159 + "value": 159, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30.4 + "value": 30.4, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -121,6 +137,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [ { "id": "0x013d", @@ -165,6 +182,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -228,22 +246,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "54:ef:44:10:00:5a:6e:93:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:5a:6e:93", "endpoint_id": 1, "available": true, @@ -271,22 +273,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "54:ef:44:10:00:5a:6e:93:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:5a:6e:93", "endpoint_id": 1, "available": true, @@ -316,22 +302,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "54:ef:44:10:00:5a:6e:93:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:5a:6e:93", "endpoint_id": 1, "available": true, @@ -362,22 +332,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "54:ef:44:10:00:5a:6e:93:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:5a:6e:93", "endpoint_id": 1, "available": true, @@ -407,22 +361,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:5a:6e:93:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:5a:6e:93", "endpoint_id": 1, "available": true, @@ -451,22 +389,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "54:ef:44:10:00:5a:6e:93:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:5a:6e:93", "endpoint_id": 1, "available": true, @@ -495,22 +417,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "54:ef:44:10:00:5a:6e:93:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "54:ef:44:10:00:5a:6e:93", "endpoint_id": 1, "available": true, @@ -547,22 +453,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "54:ef:44:10:00:5a:6e:93:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:5a:6e:93", "endpoint_id": 1, "available": true, @@ -593,22 +483,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "54:ef:44:10:00:5a:6e:93:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:5a:6e:93", "endpoint_id": 1, "available": true, @@ -641,22 +515,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "54:ef:44:10:00:5a:6e:93:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:5a:6e:93", "endpoint_id": 1, "available": true, @@ -689,22 +547,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "54:ef:44:10:00:5a:6e:93:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:5a:6e:93", "endpoint_id": 1, "available": true, @@ -737,22 +579,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OppleRemoteClusterHandler", - "generic_id": "cluster_handler_0xfcc0", - "endpoint_id": 1, - "cluster": { - "id": 64704, - "name": "OppleCluster", - "type": "server" - }, - "id": "1:0xfcc0", - "unique_id": "54:ef:44:10:00:5a:6e:93:1:0xfcc0", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:5a:6e:93", "endpoint_id": 1, "available": true, @@ -787,22 +613,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "54:ef:44:10:00:5a:6e:93:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "54:ef:44:10:00:5a:6e:93", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-sensor-smoke.json b/tests/data/devices/lumi-lumi-sensor-smoke.json index 777963eea..fb07fce08 100644 --- a/tests/data/devices/lumi-lumi-sensor-smoke.json +++ b/tests/data/devices/lumi-lumi-sensor-smoke.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:8d:00:02:cb:2e:a9", "nwk": "0x4609", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -80,6 +81,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -110,6 +112,7 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -122,11 +125,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -145,6 +150,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x004a", @@ -169,6 +175,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0010", @@ -213,6 +220,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -271,22 +279,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "00:15:8d:00:02:cb:2e:a9:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:cb:2e:a9", "endpoint_id": 1, "available": true, @@ -316,22 +308,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:15:8d:00:02:cb:2e:a9:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:cb:2e:a9", "endpoint_id": 1, "available": true, @@ -364,22 +340,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:02:cb:2e:a9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:cb:2e:a9", "endpoint_id": 1, "available": true, @@ -408,22 +368,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:02:cb:2e:a9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:cb:2e:a9", "endpoint_id": 1, "available": true, @@ -452,22 +396,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:15:8d:00:02:cb:2e:a9:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:15:8d:00:02:cb:2e:a9", "endpoint_id": 1, "available": true, @@ -504,22 +432,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "00:15:8d:00:02:cb:2e:a9:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "00:15:8d:00:02:cb:2e:a9", "endpoint_id": 1, "available": true, @@ -550,22 +462,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:15:8d:00:02:cb:2e:a9:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:cb:2e:a9", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-sensor-switch-aq2.json b/tests/data/devices/lumi-lumi-sensor-switch-aq2.json index 25ff0b7b8..f58d4a6b5 100644 --- a/tests/data/devices/lumi-lumi-sensor-switch-aq2.json +++ b/tests/data/devices/lumi-lumi-sensor-switch-aq2.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:8d:00:02:13:91:38", "nwk": "0xE14A", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -98,6 +100,7 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -110,6 +113,7 @@ { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -117,16 +121,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -139,6 +146,7 @@ { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -196,22 +204,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:02:13:91:38:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:13:91:38", "endpoint_id": 1, "available": true, @@ -240,22 +232,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:02:13:91:38:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:13:91:38", "endpoint_id": 1, "available": true, @@ -284,22 +260,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:15:8d:00:02:13:91:38:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:15:8d:00:02:13:91:38", "endpoint_id": 1, "available": true, @@ -336,22 +296,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "00:15:8d:00:02:13:91:38:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "00:15:8d:00:02:13:91:38", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-sensor-switch-aq3.json b/tests/data/devices/lumi-lumi-sensor-switch-aq3.json index e6efcc810..82df1fe06 100644 --- a/tests/data/devices/lumi-lumi-sensor-switch-aq3.json +++ b/tests/data/devices/lumi-lumi-sensor-switch-aq3.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:8d:00:02:b0:e5:91", "nwk": "0x3E30", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -92,6 +94,7 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -104,6 +107,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -118,11 +122,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -179,22 +185,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:02:b0:e5:91:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:b0:e5:91", "endpoint_id": 1, "available": true, @@ -223,22 +213,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:02:b0:e5:91:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:b0:e5:91", "endpoint_id": 1, "available": true, @@ -267,22 +241,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:15:8d:00:02:b0:e5:91:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:15:8d:00:02:b0:e5:91", "endpoint_id": 1, "available": true, @@ -319,22 +277,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "00:15:8d:00:02:b0:e5:91:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "00:15:8d:00:02:b0:e5:91", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-sensor-switch.json b/tests/data/devices/lumi-lumi-sensor-switch.json index 430432985..fd55784fb 100644 --- a/tests/data/devices/lumi-lumi-sensor-switch.json +++ b/tests/data/devices/lumi-lumi-sensor-switch.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:8d:00:02:10:ba:72", "nwk": "0x2A32", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -92,6 +94,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -99,31 +102,37 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -186,22 +195,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:15:8d:00:02:10:ba:72:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:10:ba:72", "endpoint_id": 1, "available": true, @@ -234,22 +227,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:02:10:ba:72:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:10:ba:72", "endpoint_id": 1, "available": true, @@ -278,22 +255,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:02:10:ba:72:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:10:ba:72", "endpoint_id": 1, "available": true, @@ -322,22 +283,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:15:8d:00:02:10:ba:72:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:15:8d:00:02:10:ba:72", "endpoint_id": 1, "available": true, @@ -376,22 +321,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:15:8d:00:02:10:ba:72:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:10:ba:72", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-switch-b1lacn02.json b/tests/data/devices/lumi-lumi-switch-b1lacn02.json index 730d36f53..16e0ff684 100644 --- a/tests/data/devices/lumi-lumi-switch-b1lacn02.json +++ b/tests/data/devices/lumi-lumi-switch-b1lacn02.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:63:c6:80:fe", "nwk": "0x9A30", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,23 +69,57 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 1700 + "value": 1700, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -97,11 +132,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -109,16 +146,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -133,29 +173,52 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0010", "endpoint_attribute": "binary_output", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0055", + "name": "present_value", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -170,29 +233,52 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0010", "endpoint_attribute": "binary_output", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0055", + "name": "present_value", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -207,18 +293,26 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -311,22 +405,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:63:c6:80:fe:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:63:c6:80:fe", "endpoint_id": 1, "available": true, @@ -359,22 +437,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:63:c6:80:fe:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:63:c6:80:fe", "endpoint_id": 1, "available": true, @@ -403,22 +465,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:63:c6:80:fe:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:63:c6:80:fe", "endpoint_id": 1, "available": true, @@ -447,22 +493,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "ab:cd:ef:12:63:c6:80:fe:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "ab:cd:ef:12:63:c6:80:fe", "endpoint_id": 1, "available": true, @@ -493,22 +523,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:63:c6:80:fe:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:63:c6:80:fe", "endpoint_id": 2, "available": true, @@ -535,22 +549,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:63:c6:80:fe:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:63:c6:80:fe", "endpoint_id": 3, "available": true, @@ -577,22 +575,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "4:0x0006", - "unique_id": "ab:cd:ef:12:63:c6:80:fe:4:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:63:c6:80:fe", "endpoint_id": 4, "available": true, @@ -621,22 +603,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:63:c6:80:fe:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:63:c6:80:fe", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-switch-b1laus01.json b/tests/data/devices/lumi-lumi-switch-b1laus01.json index f8b1b3699..bb6f79b3b 100755 --- a/tests/data/devices/lumi-lumi-switch-b1laus01.json +++ b/tests/data/devices/lumi-lumi-switch-b1laus01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "04:cf:8c:df:3c:75:da:cf", "nwk": "0xE4DB", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,39 +69,56 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 20 + "value": 20, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -113,6 +131,7 @@ { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -120,11 +139,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -147,6 +168,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -215,22 +237,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "04:cf:8c:df:3c:75:da:cf:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:75:da:cf", "endpoint_id": 1, "available": true, @@ -263,22 +269,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "04:cf:8c:df:3c:75:da:cf:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "04:cf:8c:df:3c:75:da:cf", "endpoint_id": 1, "available": true, @@ -331,22 +321,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "04:cf:8c:df:3c:75:da:cf:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:75:da:cf", "endpoint_id": 1, "available": true, @@ -375,22 +349,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "04:cf:8c:df:3c:75:da:cf:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:75:da:cf", "endpoint_id": 1, "available": true, @@ -419,22 +377,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "04:cf:8c:df:3c:75:da:cf:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "04:cf:8c:df:3c:75:da:cf", "endpoint_id": 1, "available": true, @@ -465,22 +407,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "04:cf:8c:df:3c:75:da:cf:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:75:da:cf", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-switch-b1naus01.json b/tests/data/devices/lumi-lumi-switch-b1naus01.json index e751aff18..76709c34e 100755 --- a/tests/data/devices/lumi-lumi-switch-b1naus01.json +++ b/tests/data/devices/lumi-lumi-switch-b1naus01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "04:cf:8c:df:3c:76:1c:82", "nwk": "0x169D", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -74,39 +75,56 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 23 + "value": 23, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -119,59 +137,109 @@ { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 253802 + "value": 253802, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -189,7 +257,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -207,7 +281,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -226,24 +306,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -267,31 +366,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -299,11 +428,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -315,7 +582,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -327,13 +600,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -341,17 +626,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -360,11 +711,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -387,6 +740,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -457,22 +811,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "04:cf:8c:df:3c:76:1c:82:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:76:1c:82", "endpoint_id": 1, "available": true, @@ -505,22 +843,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "04:cf:8c:df:3c:76:1c:82:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "04:cf:8c:df:3c:76:1c:82", "endpoint_id": 1, "available": true, @@ -573,22 +895,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "04:cf:8c:df:3c:76:1c:82:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:76:1c:82", "endpoint_id": 1, "available": true, @@ -617,22 +923,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "04:cf:8c:df:3c:76:1c:82:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:76:1c:82", "endpoint_id": 1, "available": true, @@ -661,22 +951,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "04:cf:8c:df:3c:76:1c:82:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "04:cf:8c:df:3c:76:1c:82", "endpoint_id": 1, "available": true, @@ -713,22 +987,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "04:cf:8c:df:3c:76:1c:82:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "04:cf:8c:df:3c:76:1c:82", "endpoint_id": 1, "available": true, @@ -757,22 +1015,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "04:cf:8c:df:3c:76:1c:82:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "04:cf:8c:df:3c:76:1c:82", "endpoint_id": 1, "available": true, @@ -808,22 +1050,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "04:cf:8c:df:3c:76:1c:82:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "04:cf:8c:df:3c:76:1c:82", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-switch-b2naus01.json b/tests/data/devices/lumi-lumi-switch-b2naus01.json index 1ad83f5c7..b8d7a56f7 100644 --- a/tests/data/devices/lumi-lumi-switch-b2naus01.json +++ b/tests/data/devices/lumi-lumi-switch-b2naus01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:af:a9:89:77", "nwk": "0xAF40", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -68,39 +69,56 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 1400 + "value": 1400, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -113,58 +131,115 @@ { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -182,7 +257,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -200,7 +281,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -219,24 +306,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -260,31 +366,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 207 + "value": 207, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -292,11 +428,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -308,7 +582,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -320,13 +600,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -334,11 +626,41 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -346,17 +668,48 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -364,11 +717,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -383,32 +738,43 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -421,11 +787,13 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -441,12 +809,19 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 20.666000366210938 + "value": 20.666000366210938, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -463,7 +838,21 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0055", + "name": "present_value", + "zcl_type": "single", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -478,6 +867,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -500,6 +890,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -522,6 +913,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -544,6 +936,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -560,6 +953,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -694,22 +1088,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:af:a9:89:77:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:af:a9:89:77", "endpoint_id": 1, "available": true, @@ -742,22 +1120,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:af:a9:89:77:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:af:a9:89:77", "endpoint_id": 1, "available": true, @@ -786,22 +1148,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:af:a9:89:77:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:af:a9:89:77", "endpoint_id": 1, "available": true, @@ -830,22 +1176,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:af:a9:89:77:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:af:a9:89:77", "endpoint_id": 1, "available": true, @@ -881,22 +1211,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "ab:cd:ef:12:af:a9:89:77:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "ab:cd:ef:12:af:a9:89:77", "endpoint_id": 1, "available": true, @@ -925,22 +1239,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:af:a9:89:77:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:af:a9:89:77", "endpoint_id": 1, "available": true, @@ -973,22 +1271,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:af:a9:89:77:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:af:a9:89:77", "endpoint_id": 1, "available": true, @@ -1021,22 +1303,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:af:a9:89:77:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:af:a9:89:77", "endpoint_id": 1, "available": true, @@ -1071,22 +1337,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:af:a9:89:77:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:af:a9:89:77", "endpoint_id": 1, "available": true, @@ -1113,22 +1363,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:af:a9:89:77:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:af:a9:89:77", "endpoint_id": 2, "available": true, @@ -1157,22 +1391,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:af:a9:89:77:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:af:a9:89:77", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-switch-b2nc01.json b/tests/data/devices/lumi-lumi-switch-b2nc01.json index 3dc8970cb..f3e4ee5df 100644 --- a/tests/data/devices/lumi-lumi-switch-b2nc01.json +++ b/tests/data/devices/lumi-lumi-switch-b2nc01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:c9:e1:af:79", "nwk": "0xABC3", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -116,6 +117,7 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -127,7 +129,13 @@ "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 24 + "value": 24, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -152,6 +160,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -170,6 +179,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -188,6 +198,7 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -236,6 +247,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -253,7 +265,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -266,6 +284,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -302,6 +321,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -309,11 +329,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -328,6 +350,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -400,6 +423,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -418,6 +442,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -436,6 +461,7 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -484,6 +510,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -501,7 +528,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -514,6 +547,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -550,6 +584,7 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -565,6 +600,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -587,6 +623,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -609,6 +646,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -632,6 +670,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -739,22 +778,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:c9:e1:af:79:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c9:e1:af:79", "endpoint_id": 1, "available": true, @@ -787,22 +810,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:c9:e1:af:79:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:c9:e1:af:79", "endpoint_id": 1, "available": true, @@ -853,22 +860,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:c9:e1:af:79:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:c9:e1:af:79", "endpoint_id": 2, "available": true, @@ -921,22 +912,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c9:e1:af:79:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c9:e1:af:79", "endpoint_id": 1, "available": true, @@ -965,22 +940,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c9:e1:af:79:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c9:e1:af:79", "endpoint_id": 1, "available": true, @@ -1009,22 +968,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "ab:cd:ef:12:c9:e1:af:79:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c9:e1:af:79", "endpoint_id": 1, "available": true, @@ -1055,22 +998,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:c9:e1:af:79:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c9:e1:af:79", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-switch-l1aeu1.json b/tests/data/devices/lumi-lumi-switch-l1aeu1.json index 124ac9d40..8e234e9f8 100644 --- a/tests/data/devices/lumi-lumi-switch-l1aeu1.json +++ b/tests/data/devices/lumi-lumi-switch-l1aeu1.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:4f:81:48:a1", "nwk": "0x9118", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,39 +63,56 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 30 + "value": 30, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -107,11 +125,13 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -119,11 +139,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -145,6 +167,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -161,6 +184,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -238,22 +262,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:4f:81:48:a1:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4f:81:48:a1", "endpoint_id": 1, "available": true, @@ -286,22 +294,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:4f:81:48:a1:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:4f:81:48:a1", "endpoint_id": 1, "available": true, @@ -354,22 +346,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4f:81:48:a1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4f:81:48:a1", "endpoint_id": 1, "available": true, @@ -398,22 +374,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4f:81:48:a1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4f:81:48:a1", "endpoint_id": 1, "available": true, @@ -442,22 +402,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "ab:cd:ef:12:4f:81:48:a1:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "ab:cd:ef:12:4f:81:48:a1", "endpoint_id": 1, "available": true, @@ -488,22 +432,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:4f:81:48:a1:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4f:81:48:a1", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-switch-l2aeu1.json b/tests/data/devices/lumi-lumi-switch-l2aeu1.json index 7170cfc00..4a989ab65 100644 --- a/tests/data/devices/lumi-lumi-switch-l2aeu1.json +++ b/tests/data/devices/lumi-lumi-switch-l2aeu1.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:dd:16:89:b4", "nwk": "0x3724", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,39 +63,56 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 30 + "value": 30, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -107,6 +125,7 @@ { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -114,11 +133,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -140,32 +161,43 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -178,11 +210,13 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -199,6 +233,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -281,22 +316,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:dd:16:89:b4:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dd:16:89:b4", "endpoint_id": 1, "available": true, @@ -329,22 +348,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:dd:16:89:b4:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:dd:16:89:b4", "endpoint_id": 1, "available": true, @@ -395,22 +398,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:dd:16:89:b4:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:dd:16:89:b4", "endpoint_id": 2, "available": true, @@ -463,22 +450,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:dd:16:89:b4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dd:16:89:b4", "endpoint_id": 1, "available": true, @@ -507,22 +478,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:dd:16:89:b4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dd:16:89:b4", "endpoint_id": 1, "available": true, @@ -551,22 +506,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "ab:cd:ef:12:dd:16:89:b4:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "ab:cd:ef:12:dd:16:89:b4", "endpoint_id": 1, "available": true, @@ -597,22 +536,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:dd:16:89:b4:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dd:16:89:b4", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-switch-n0agl1.json b/tests/data/devices/lumi-lumi-switch-n0agl1.json index 59d04a6e1..484a48de6 100644 --- a/tests/data/devices/lumi-lumi-switch-n0agl1.json +++ b/tests/data/devices/lumi-lumi-switch-n0agl1.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e9:c7:8a:67", "nwk": "0x8AF1", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 18 + "value": 18, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -116,27 +124,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -149,16 +167,19 @@ { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0019", @@ -170,49 +191,97 @@ "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 41150 + "value": 41150, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -236,7 +305,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -260,7 +335,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -297,24 +378,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -338,31 +438,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -386,19 +516,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -410,7 +666,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -434,13 +696,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -464,19 +738,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 229 + "value": 229, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -500,25 +792,44 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "value": 42380 + "value": 42380, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -526,11 +837,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -552,12 +865,19 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 0.0 + "value": 0.0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -574,7 +894,21 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0055", + "name": "present_value", + "zcl_type": "single", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -589,6 +923,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -605,6 +940,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -700,22 +1036,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:e9:c7:8a:67:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e9:c7:8a:67", "endpoint_id": 1, "available": true, @@ -748,22 +1068,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:e9:c7:8a:67:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e9:c7:8a:67", "endpoint_id": 1, "available": true, @@ -799,22 +1103,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e9:c7:8a:67:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e9:c7:8a:67", "endpoint_id": 1, "available": true, @@ -843,22 +1131,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e9:c7:8a:67:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e9:c7:8a:67", "endpoint_id": 1, "available": true, @@ -887,22 +1159,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "MeteringCluster", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:e9:c7:8a:67:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:e9:c7:8a:67", "endpoint_id": 1, "available": true, @@ -939,22 +1195,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "ab:cd:ef:12:e9:c7:8a:67:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e9:c7:8a:67", "endpoint_id": 1, "available": true, @@ -983,22 +1223,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:e9:c7:8a:67:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:e9:c7:8a:67", "endpoint_id": 1, "available": true, @@ -1032,22 +1256,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:e9:c7:8a:67:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:e9:c7:8a:67", "endpoint_id": 1, "available": true, @@ -1081,22 +1289,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:e9:c7:8a:67:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:e9:c7:8a:67", "endpoint_id": 1, "available": true, @@ -1132,22 +1324,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:e9:c7:8a:67:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e9:c7:8a:67", "endpoint_id": 1, "available": true, @@ -1176,22 +1352,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e9:c7:8a:67:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e9:c7:8a:67", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-switch-n1aeu1.json b/tests/data/devices/lumi-lumi-switch-n1aeu1.json index 1ce9ffb97..08469b39e 100644 --- a/tests/data/devices/lumi-lumi-switch-n1aeu1.json +++ b/tests/data/devices/lumi-lumi-switch-n1aeu1.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:76:e5:a3:fd", "nwk": "0x3F09", "manufacturer": "LUMI", @@ -44,44 +44,62 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 28 + "value": 28, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -94,11 +112,13 @@ { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0100", @@ -159,48 +179,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -218,7 +293,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -236,7 +317,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -255,24 +342,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -296,31 +402,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 12 + "value": 12, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -328,11 +464,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -344,19 +618,37 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -364,23 +656,90 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -388,11 +747,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -407,6 +768,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -423,6 +785,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -503,22 +866,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:76:e5:a3:fd:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:76:e5:a3:fd", "endpoint_id": 1, "available": true, @@ -551,22 +898,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:76:e5:a3:fd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:76:e5:a3:fd", "endpoint_id": 1, "available": true, @@ -595,22 +926,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:76:e5:a3:fd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:76:e5:a3:fd", "endpoint_id": 1, "available": true, @@ -639,22 +954,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:76:e5:a3:fd:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:76:e5:a3:fd", "endpoint_id": 1, "available": true, @@ -691,22 +990,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "ab:cd:ef:12:76:e5:a3:fd:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "ab:cd:ef:12:76:e5:a3:fd", "endpoint_id": 1, "available": true, @@ -735,22 +1018,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:76:e5:a3:fd:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:76:e5:a3:fd", "endpoint_id": 1, "available": true, @@ -784,22 +1051,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:76:e5:a3:fd:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:76:e5:a3:fd", "endpoint_id": 1, "available": true, @@ -834,22 +1085,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:76:e5:a3:fd:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:76:e5:a3:fd", "endpoint_id": 1, "available": true, @@ -878,22 +1113,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:76:e5:a3:fd:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:76:e5:a3:fd", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-vibration-agl01.json b/tests/data/devices/lumi-lumi-vibration-agl01.json index dd37ef5ec..8a811575d 100644 --- a/tests/data/devices/lumi-lumi-vibration-agl01.json +++ b/tests/data/devices/lumi-lumi-vibration-agl01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:7d:e2:f1:42", "nwk": "0x6827", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,29 +69,44 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -126,11 +142,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -152,6 +170,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -164,6 +183,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -247,22 +267,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:7d:e2:f1:42:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7d:e2:f1:42", "endpoint_id": 1, "available": true, @@ -290,22 +294,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 2, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "2:0x0500", - "unique_id": "ab:cd:ef:12:7d:e2:f1:42:2:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7d:e2:f1:42", "endpoint_id": 2, "available": true, @@ -335,22 +323,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:7d:e2:f1:42:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7d:e2:f1:42", "endpoint_id": 1, "available": true, @@ -383,22 +355,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7d:e2:f1:42:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7d:e2:f1:42", "endpoint_id": 1, "available": true, @@ -427,22 +383,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7d:e2:f1:42:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7d:e2:f1:42", "endpoint_id": 1, "available": true, @@ -471,22 +411,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:7d:e2:f1:42:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:7d:e2:f1:42", "endpoint_id": 1, "available": true, @@ -523,22 +447,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:7d:e2:f1:42:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7d:e2:f1:42", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-vibration-aq1.json b/tests/data/devices/lumi-lumi-vibration-aq1.json index 53d63aedf..5819b1c57 100644 --- a/tests/data/devices/lumi-lumi-vibration-aq1.json +++ b/tests/data/devices/lumi-lumi-vibration-aq1.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:8d:00:02:af:97:27", "nwk": "0xEDBB", "manufacturer": "LUMI", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -70,6 +71,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -100,6 +102,7 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -112,16 +115,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0101", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -134,6 +140,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -160,26 +167,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -194,6 +206,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -201,21 +214,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -291,22 +308,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "00:15:8d:00:02:af:97:27:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:af:97:27", "endpoint_id": 1, "available": true, @@ -336,22 +337,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:15:8d:00:02:af:97:27:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:af:97:27", "endpoint_id": 1, "available": true, @@ -384,22 +369,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "VibrationBasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:02:af:97:27:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:af:97:27", "endpoint_id": 1, "available": true, @@ -428,22 +397,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "VibrationBasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:02:af:97:27:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:af:97:27", "endpoint_id": 1, "available": true, @@ -472,22 +425,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:15:8d:00:02:af:97:27:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:15:8d:00:02:af:97:27", "endpoint_id": 1, "available": true, @@ -524,22 +461,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "00:15:8d:00:02:af:97:27:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "00:15:8d:00:02:af:97:27", "endpoint_id": 1, "available": true, @@ -570,22 +491,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:15:8d:00:02:af:97:27:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:02:af:97:27", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lumi-lumi-weather.json b/tests/data/devices/lumi-lumi-weather.json index b8a463571..5fadd6190 100755 --- a/tests/data/devices/lumi-lumi-weather.json +++ b/tests/data/devices/lumi-lumi-weather.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:15:8d:00:05:4b:9d:1f", "nwk": "0xFF23", "manufacturer": "LUMI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -98,11 +100,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -115,6 +119,7 @@ { "cluster_id": "0x0403", "endpoint_attribute": "pressure", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -127,6 +132,7 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -139,6 +145,7 @@ { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -146,16 +153,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -216,22 +226,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:15:8d:00:05:4b:9d:1f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:05:4b:9d:1f", "endpoint_id": 1, "available": true, @@ -264,22 +258,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:05:4b:9d:1f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:05:4b:9d:1f", "endpoint_id": 1, "available": true, @@ -308,22 +286,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:15:8d:00:05:4b:9d:1f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:15:8d:00:05:4b:9d:1f", "endpoint_id": 1, "available": true, @@ -352,22 +314,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:15:8d:00:05:4b:9d:1f:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:15:8d:00:05:4b:9d:1f", "endpoint_id": 1, "available": true, @@ -404,22 +350,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "00:15:8d:00:05:4b:9d:1f:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:15:8d:00:05:4b:9d:1f", "endpoint_id": 1, "available": true, @@ -448,22 +378,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PressureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0403", - "endpoint_id": 1, - "cluster": { - "id": 1027, - "name": "Pressure Measurement", - "type": "server" - }, - "id": "1:0x0403", - "unique_id": "00:15:8d:00:05:4b:9d:1f:1:0x0403", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:15:8d:00:05:4b:9d:1f", "endpoint_id": 1, "available": true, @@ -492,22 +406,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "00:15:8d:00:05:4b:9d:1f:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:15:8d:00:05:4b:9d:1f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lutron-lzl4bwhl01-remote.json b/tests/data/devices/lutron-lzl4bwhl01-remote.json index bdb5d7220..4642d669b 100644 --- a/tests/data/devices/lutron-lzl4bwhl01-remote.json +++ b/tests/data/devices/lutron-lzl4bwhl01-remote.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ff:ff:00:0f:e7:ff:3c:b3", "nwk": "0x6824", "manufacturer": " Lutron", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,16 +69,19 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc44", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff00", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -85,41 +89,49 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff00", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -183,22 +195,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ff:ff:00:0f:e7:ff:3c:b3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ff:ff:00:0f:e7:ff:3c:b3", "endpoint_id": 1, "available": true, @@ -227,22 +223,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ff:ff:00:0f:e7:ff:3c:b3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ff:ff:00:0f:e7:ff:3c:b3", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lutron-z3-1brl.json b/tests/data/devices/lutron-z3-1brl.json index 3eb6b95f6..197d18339 100644 --- a/tests/data/devices/lutron-z3-1brl.json +++ b/tests/data/devices/lutron-z3-1brl.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ff:ff:00:0f:e7:fb:f0:07", "nwk": "0x19D5", "manufacturer": "Lutron", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,23 +93,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -109,26 +126,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -141,6 +163,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -203,22 +226,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ff:ff:00:0f:e7:fb:f0:07:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ff:ff:00:0f:e7:fb:f0:07", "endpoint_id": 1, "available": true, @@ -251,22 +258,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ff:ff:00:0f:e7:fb:f0:07:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ff:ff:00:0f:e7:fb:f0:07", "endpoint_id": 1, "available": true, @@ -295,22 +286,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ff:ff:00:0f:e7:fb:f0:07:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ff:ff:00:0f:e7:fb:f0:07", "endpoint_id": 1, "available": true, @@ -339,22 +314,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ff:ff:00:0f:e7:fb:f0:07:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ff:ff:00:0f:e7:fb:f0:07", "endpoint_id": 1, "available": true, @@ -391,22 +350,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ff:ff:00:0f:e7:fb:f0:07:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ff:ff:00:0f:e7:fb:f0:07", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/mli-tint-extendedcolor.json b/tests/data/devices/mli-tint-extendedcolor.json index 8bde795be..14d402715 100644 --- a/tests/data/devices/mli-tint-extendedcolor.json +++ b/tests/data/devices/mli-tint-extendedcolor.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:72:50:2b:f4", "nwk": "0x5A8E", "manufacturer": "MLI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,39 +63,56 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -137,6 +155,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -172,19 +191,37 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 370 + "value": 370, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -203,11 +240,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x100f", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -215,6 +254,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -237,6 +277,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -306,22 +347,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:72:50:2b:f4:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:50:2b:f4", "endpoint_id": 1, "available": true, @@ -354,50 +379,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:72:50:2b:f4:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:72:50:2b:f4:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:72:50:2b:f4:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:72:50:2b:f4", "endpoint_id": 1, "available": true, @@ -458,22 +439,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:72:50:2b:f4:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:72:50:2b:f4", "endpoint_id": 1, "available": true, @@ -505,22 +470,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:72:50:2b:f4:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:72:50:2b:f4", "endpoint_id": 1, "available": true, @@ -554,22 +503,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:72:50:2b:f4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:50:2b:f4", "endpoint_id": 1, "available": true, @@ -598,22 +531,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:72:50:2b:f4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:50:2b:f4", "endpoint_id": 1, "available": true, @@ -644,22 +561,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:72:50:2b:f4:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:50:2b:f4", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/mli-zbt-remote-all-rgbw.json b/tests/data/devices/mli-zbt-remote-all-rgbw.json index c9bf098e5..091478609 100644 --- a/tests/data/devices/mli-zbt-remote-all-rgbw.json +++ b/tests/data/devices/mli-zbt-remote-all-rgbw.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b1:2f:b5:32", "nwk": "0xEE0B", "manufacturer": "MLI", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -191,6 +192,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -203,6 +205,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -210,6 +213,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -246,6 +250,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -264,6 +269,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -288,6 +294,7 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -300,6 +307,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -348,6 +356,7 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -414,6 +423,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -450,6 +460,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -468,6 +479,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -530,22 +542,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:b1:2f:b5:32:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:2f:b5:32", "endpoint_id": 1, "available": true, @@ -578,22 +574,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "TintRemoteBasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b1:2f:b5:32:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:2f:b5:32", "endpoint_id": 1, "available": true, @@ -622,22 +602,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "TintRemoteBasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b1:2f:b5:32:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:2f:b5:32", "endpoint_id": 1, "available": true, @@ -668,22 +632,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:b1:2f:b5:32:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:2f:b5:32", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/nabu-casa-ha-connect-zbt-1.json b/tests/data/devices/nabu-casa-ha-connect-zbt-1.json index 31005d432..c63bce33f 100644 --- a/tests/data/devices/nabu-casa-ha-connect-zbt-1.json +++ b/tests/data/devices/nabu-casa-ha-connect-zbt-1.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:49:9b:6e:bb", "nwk": "0x0000", "manufacturer": "Nabu Casa", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0501", "endpoint_attribute": "ias_ace", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -84,21 +89,25 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -113,6 +122,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/namron-as-1402790.json b/tests/data/devices/namron-as-1402790.json index 046eb8272..3adfa6bbb 100644 --- a/tests/data/devices/namron-as-1402790.json +++ b/tests/data/devices/namron-as-1402790.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:2f:e9:5d:02", "nwk": "0x0250", "manufacturer": "NAMRON AS", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -108,7 +124,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -121,6 +143,7 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0002", @@ -132,7 +155,13 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": -32768 + "value": -32768, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } }, { "id": "0xfffe", @@ -151,48 +180,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -210,7 +294,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -228,7 +318,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -247,24 +343,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -288,31 +403,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -320,11 +465,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -336,19 +619,37 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -356,17 +657,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -375,6 +742,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -389,6 +757,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -396,6 +765,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -465,22 +835,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:2f:e9:5d:02:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2f:e9:5d:02", "endpoint_id": 1, "available": true, @@ -513,22 +867,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2f:e9:5d:02:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2f:e9:5d:02", "endpoint_id": 1, "available": true, @@ -557,22 +895,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2f:e9:5d:02:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2f:e9:5d:02", "endpoint_id": 1, "available": true, @@ -601,22 +923,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:2f:e9:5d:02:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:2f:e9:5d:02", "endpoint_id": 1, "available": true, @@ -645,22 +951,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:2f:e9:5d:02:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:2f:e9:5d:02", "endpoint_id": 1, "available": true, @@ -693,22 +983,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:2f:e9:5d:02:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:2f:e9:5d:02", "endpoint_id": 1, "available": true, @@ -742,22 +1016,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:2f:e9:5d:02:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:2f:e9:5d:02", "endpoint_id": 1, "available": true, @@ -786,22 +1044,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 10, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "10:0x0019_client", - "unique_id": "ab:cd:ef:12:2f:e9:5d:02:10:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2f:e9:5d:02", "endpoint_id": 10, "available": true, diff --git a/tests/data/devices/namron-as-4512785.json b/tests/data/devices/namron-as-4512785.json index 9e92c67c2..3af933c06 100644 --- a/tests/data/devices/namron-as-4512785.json +++ b/tests/data/devices/namron-as-4512785.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:4c:9e:2b:64", "nwk": "0xE8F9", "manufacturer": "Namron AS", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,6 +69,7 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -79,7 +81,13 @@ "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 352 + "value": 352, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -104,27 +112,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -137,6 +155,7 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0002", @@ -148,7 +167,13 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -167,59 +192,109 @@ { "cluster_id": "0x04e0", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 2502 + "value": 2502, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -237,7 +312,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -255,7 +336,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -274,6 +361,7 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0803", @@ -291,19 +379,37 @@ "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -333,31 +439,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -381,19 +517,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -405,7 +667,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -429,13 +697,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -459,19 +739,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 2429 + "value": 2429, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -495,25 +793,44 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -521,11 +838,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -548,6 +867,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -620,22 +940,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:4c:9e:2b:64:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4c:9e:2b:64", "endpoint_id": 1, "available": true, @@ -668,22 +972,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:4c:9e:2b:64:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:4c:9e:2b:64", "endpoint_id": 1, "available": true, @@ -719,22 +1007,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4c:9e:2b:64:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4c:9e:2b:64", "endpoint_id": 1, "available": true, @@ -763,22 +1035,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4c:9e:2b:64:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4c:9e:2b:64", "endpoint_id": 1, "available": true, @@ -807,22 +1063,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:4c:9e:2b:64:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:4c:9e:2b:64", "endpoint_id": 1, "available": true, @@ -851,22 +1091,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:4c:9e:2b:64:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:4c:9e:2b:64", "endpoint_id": 1, "available": true, @@ -903,22 +1127,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "DeviceTemperatureClusterHandler", - "generic_id": "cluster_handler_0x0002", - "endpoint_id": 1, - "cluster": { - "id": 2, - "name": "Device Temperature", - "type": "server" - }, - "id": "1:0x0002", - "unique_id": "ab:cd:ef:12:4c:9e:2b:64:1:0x0002", - "status": "INITIALIZED", - "value_attribute": "current_temperature" - } - ], "device_ieee": "ab:cd:ef:12:4c:9e:2b:64", "endpoint_id": 1, "available": true, @@ -947,22 +1155,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:4c:9e:2b:64:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:4c:9e:2b:64", "endpoint_id": 1, "available": true, @@ -995,22 +1187,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:4c:9e:2b:64:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:4c:9e:2b:64", "endpoint_id": 1, "available": true, @@ -1043,22 +1219,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:4c:9e:2b:64:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:4c:9e:2b:64", "endpoint_id": 1, "available": true, @@ -1093,22 +1253,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:4c:9e:2b:64:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:4c:9e:2b:64", "endpoint_id": 1, "available": true, @@ -1137,22 +1281,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:4c:9e:2b:64:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4c:9e:2b:64", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/neuhaus-lighting-group-nlg-remote.json b/tests/data/devices/neuhaus-lighting-group-nlg-remote.json index dba810537..50a111996 100644 --- a/tests/data/devices/neuhaus-lighting-group-nlg-remote.json +++ b/tests/data/devices/neuhaus-lighting-group-nlg-remote.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:90:e3:16:0a", "nwk": "0xAE2B", "manufacturer": "Neuhaus Lighting Group", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,11 +63,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -74,36 +77,43 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -165,22 +175,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:90:e3:16:0a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:90:e3:16:0a", "endpoint_id": 1, "available": true, @@ -213,22 +207,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:90:e3:16:0a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:90:e3:16:0a", "endpoint_id": 1, "available": true, @@ -257,22 +235,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:90:e3:16:0a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:90:e3:16:0a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/niko-nv-battery-switch-2-button.json b/tests/data/devices/niko-nv-battery-switch-2-button.json index e4771523a..3b336ecc0 100644 --- a/tests/data/devices/niko-nv-battery-switch-2-button.json +++ b/tests/data/devices/niko-nv-battery-switch-2-button.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f1:c5:12:a4", "nwk": "0x5253", "manufacturer": "NIKO NV", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -73,7 +75,13 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,33 +99,44 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31 + "value": 31, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -125,31 +144,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -165,16 +190,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] } ] @@ -249,22 +277,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:f1:c5:12:a4:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f1:c5:12:a4", "endpoint_id": 1, "available": true, @@ -297,22 +309,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f1:c5:12:a4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f1:c5:12:a4", "endpoint_id": 1, "available": true, @@ -341,22 +337,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f1:c5:12:a4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f1:c5:12:a4", "endpoint_id": 1, "available": true, @@ -385,22 +365,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:f1:c5:12:a4:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:f1:c5:12:a4", "endpoint_id": 1, "available": true, @@ -439,22 +403,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f1:c5:12:a4:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f1:c5:12:a4", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/niko-nv-battery-switch-4-button.json b/tests/data/devices/niko-nv-battery-switch-4-button.json index 4c2231020..91f0caab7 100644 --- a/tests/data/devices/niko-nv-battery-switch-4-button.json +++ b/tests/data/devices/niko-nv-battery-switch-4-button.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:23:5d:15:43", "nwk": "0xBD47", "manufacturer": "NIKO NV", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -73,7 +75,13 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,33 +99,44 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 32 + "value": 32, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -125,26 +144,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -157,6 +181,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -172,16 +197,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] } ] @@ -197,16 +225,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] } ] @@ -222,16 +253,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] } ] @@ -326,22 +360,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:23:5d:15:43:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:23:5d:15:43", "endpoint_id": 1, "available": true, @@ -374,22 +392,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:23:5d:15:43:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:23:5d:15:43", "endpoint_id": 1, "available": true, @@ -418,22 +420,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:23:5d:15:43:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:23:5d:15:43", "endpoint_id": 1, "available": true, @@ -462,22 +448,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:23:5d:15:43:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:23:5d:15:43", "endpoint_id": 1, "available": true, @@ -516,22 +486,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:23:5d:15:43:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:23:5d:15:43", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/niko-nv-connectable-motor-control-3a.json b/tests/data/devices/niko-nv-connectable-motor-control-3a.json index 2efcc82ed..b77609736 100644 --- a/tests/data/devices/niko-nv-connectable-motor-control-3a.json +++ b/tests/data/devices/niko-nv-connectable-motor-control-3a.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:0e:7d:6a:9a", "nwk": "0x0898", "manufacturer": "NIKO NV", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -140,6 +141,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -158,16 +160,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -191,7 +196,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", @@ -203,7 +214,13 @@ "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0016", @@ -294,6 +311,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0116", @@ -306,11 +324,13 @@ { "cluster_id": "0xfc00", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -318,6 +338,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -340,6 +361,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -408,22 +430,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:0e:7d:6a:9a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0e:7d:6a:9a", "endpoint_id": 1, "available": true, @@ -456,22 +462,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:0e:7d:6a:9a:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:0e:7d:6a:9a", "endpoint_id": 1, "available": true, @@ -506,22 +496,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0e:7d:6a:9a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0e:7d:6a:9a", "endpoint_id": 1, "available": true, @@ -550,22 +524,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0e:7d:6a:9a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0e:7d:6a:9a", "endpoint_id": 1, "available": true, @@ -594,22 +552,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:0e:7d:6a:9a:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:0e:7d:6a:9a", "endpoint_id": 1, "available": true, @@ -640,22 +582,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:0e:7d:6a:9a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0e:7d:6a:9a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/nodon-sin-4-fp-21.json b/tests/data/devices/nodon-sin-4-fp-21.json index f84917ee1..5081a7b1d 100644 --- a/tests/data/devices/nodon-sin-4-fp-21.json +++ b/tests/data/devices/nodon-sin-4-fp-21.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a9:41:13:af", "nwk": "0x3CFB", "manufacturer": "NodOn", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -116,6 +117,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -134,6 +136,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -152,6 +155,7 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -194,6 +198,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -217,7 +222,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -236,54 +247,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 4738 + "value": 4738, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000a", @@ -307,7 +367,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -325,7 +391,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -344,11 +416,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "pilot_wire_cluster", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -363,6 +437,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -390,6 +465,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -397,6 +473,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -467,22 +544,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:a9:41:13:af:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:41:13:af", "endpoint_id": 1, "available": true, @@ -515,22 +576,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:a9:41:13:af:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:a9:41:13:af", "endpoint_id": 1, "available": true, @@ -564,22 +609,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PhillipsRemoteClusterHandler", - "generic_id": "cluster_handler_0xfc00", - "endpoint_id": 1, - "cluster": { - "id": 64512, - "name": "PilotWireCluster", - "type": "server" - }, - "id": "1:0xfc00", - "unique_id": "ab:cd:ef:12:a9:41:13:af:1:0xfc00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:41:13:af", "endpoint_id": 1, "available": true, @@ -617,22 +646,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a9:41:13:af:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:41:13:af", "endpoint_id": 1, "available": true, @@ -661,22 +674,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a9:41:13:af:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:41:13:af", "endpoint_id": 1, "available": true, @@ -705,22 +702,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:a9:41:13:af:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:a9:41:13:af", "endpoint_id": 1, "available": true, @@ -757,22 +738,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:a9:41:13:af:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:a9:41:13:af", "endpoint_id": 1, "available": true, @@ -811,22 +776,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:a9:41:13:af:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:a9:41:13:af", "endpoint_id": 1, "available": true, @@ -855,22 +804,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a9:41:13:af:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:41:13:af", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/nodon-sin-4-rs-20.json b/tests/data/devices/nodon-sin-4-rs-20.json index bcf57a0c0..8a47eb844 100644 --- a/tests/data/devices/nodon-sin-4-rs-20.json +++ b/tests/data/devices/nodon-sin-4-rs-20.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:3c:52:ae:10", "nwk": "0x6B6C", "manufacturer": "NodOn", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0004", @@ -112,13 +117,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -161,6 +178,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -168,11 +186,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -185,6 +205,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0003", @@ -230,6 +251,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -237,6 +259,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -307,22 +330,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:3c:52:ae:10:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3c:52:ae:10", "endpoint_id": 1, "available": true, @@ -355,22 +362,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:3c:52:ae:10:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:3c:52:ae:10", "endpoint_id": 1, "available": true, @@ -405,22 +396,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:3c:52:ae:10:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:3c:52:ae:10", "endpoint_id": 1, "available": true, @@ -452,22 +427,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:3c:52:ae:10:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:3c:52:ae:10", "endpoint_id": 1, "available": true, @@ -499,22 +458,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:3c:52:ae:10:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:3c:52:ae:10", "endpoint_id": 1, "available": true, @@ -546,22 +489,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:3c:52:ae:10:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:3c:52:ae:10", "endpoint_id": 1, "available": true, @@ -595,22 +522,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3c:52:ae:10:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3c:52:ae:10", "endpoint_id": 1, "available": true, @@ -639,22 +550,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3c:52:ae:10:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3c:52:ae:10", "endpoint_id": 1, "available": true, @@ -683,22 +578,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:3c:52:ae:10:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:3c:52:ae:10", "endpoint_id": 1, "available": true, @@ -729,22 +608,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:3c:52:ae:10:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:3c:52:ae:10", "endpoint_id": 1, "available": true, @@ -779,22 +642,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:3c:52:ae:10:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3c:52:ae:10", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/occam-temp-sensor-v1-2-jan-19-2026.json b/tests/data/devices/occam-temp-sensor-v1-2-jan-19-2026.json index 9efb80421..beb89c7c1 100644 --- a/tests/data/devices/occam-temp-sensor-v1-2-jan-19-2026.json +++ b/tests/data/devices/occam-temp-sensor-v1-2-jan-19-2026.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e0:3f:81:7c", "nwk": "0x7B1C", "manufacturer": "Occam", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 186 + "value": 186, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,36 +93,57 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 255 + "value": 255, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": -1824 + "value": -1824, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5 + "value": 5, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -123,6 +152,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -180,22 +210,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 10, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "10:0x0003", - "unique_id": "ab:cd:ef:12:e0:3f:81:7c:10:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:3f:81:7c", "endpoint_id": 10, "available": true, @@ -228,22 +242,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 10, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "10:0x0000", - "unique_id": "ab:cd:ef:12:e0:3f:81:7c:10:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:3f:81:7c", "endpoint_id": 10, "available": true, @@ -272,22 +270,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 10, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "10:0x0000", - "unique_id": "ab:cd:ef:12:e0:3f:81:7c:10:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:3f:81:7c", "endpoint_id": 10, "available": true, @@ -316,22 +298,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 10, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "10:0x0001", - "unique_id": "ab:cd:ef:12:e0:3f:81:7c:10:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:e0:3f:81:7c", "endpoint_id": 10, "available": true, @@ -366,22 +332,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 10, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "10:0x0402", - "unique_id": "ab:cd:ef:12:e0:3f:81:7c:10:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:e0:3f:81:7c", "endpoint_id": 10, "available": true, @@ -410,22 +360,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 10, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "10:0x0405", - "unique_id": "ab:cd:ef:12:e0:3f:81:7c:10:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:e0:3f:81:7c", "endpoint_id": 10, "available": true, diff --git a/tests/data/devices/orvibo-250bccf66c41421b91b5e3242942c164.json b/tests/data/devices/orvibo-250bccf66c41421b91b5e3242942c164.json index f0def4eed..1589e5efa 100644 --- a/tests/data/devices/orvibo-250bccf66c41421b91b5e3242942c164.json +++ b/tests/data/devices/orvibo-250bccf66c41421b91b5e3242942c164.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d1:19:cf:59", "nwk": "0xF47E", "manufacturer": "ORVIBO", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 128 + "value": 128, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -155,6 +173,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -190,7 +209,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 250 + "value": 250, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -208,13 +233,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 24939 + "value": 24939, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 24701 + "value": 24701, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -239,6 +276,7 @@ { "cluster_id": "0xff00", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -246,6 +284,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -306,22 +345,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:d1:19:cf:59:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:19:cf:59", "endpoint_id": 1, "available": true, @@ -354,50 +377,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:d1:19:cf:59:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:d1:19:cf:59:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:d1:19:cf:59:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:d1:19:cf:59", "endpoint_id": 1, "available": true, @@ -452,22 +431,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:d1:19:cf:59:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:d1:19:cf:59", "endpoint_id": 1, "available": true, @@ -499,22 +462,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:d1:19:cf:59:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:d1:19:cf:59", "endpoint_id": 1, "available": true, @@ -546,22 +493,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:d1:19:cf:59:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:d1:19:cf:59", "endpoint_id": 1, "available": true, @@ -593,22 +524,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:d1:19:cf:59:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:d1:19:cf:59", "endpoint_id": 1, "available": true, @@ -642,22 +557,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d1:19:cf:59:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:19:cf:59", "endpoint_id": 1, "available": true, @@ -686,22 +585,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d1:19:cf:59:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:19:cf:59", "endpoint_id": 1, "available": true, @@ -732,22 +615,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d1:19:cf:59:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:19:cf:59", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/osram-switch-4x-lightify.json b/tests/data/devices/osram-switch-4x-lightify.json index c11b0f39b..6b0818e45 100644 --- a/tests/data/devices/osram-switch-4x-lightify.json +++ b/tests/data/devices/osram-switch-4x-lightify.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:0d:6f:00:0e:c8:d4:e7", "nwk": "0x55D9", "manufacturer": "OSRAM", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,23 +93,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29 + "value": 29, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd00", "endpoint_attribute": "osram_cluster", + "bind": "SUCCESS", "attributes": [ { "id": "0x000a", @@ -194,31 +211,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -231,11 +254,13 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -250,16 +275,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd00", "endpoint_attribute": "osram_cluster", + "bind": "SUCCESS", "attributes": [ { "id": "0x000a", @@ -352,36 +380,43 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -396,16 +431,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd00", "endpoint_attribute": "osram_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -413,36 +451,43 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -457,16 +502,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd00", "endpoint_attribute": "osram_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -474,36 +522,43 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -518,16 +573,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd00", "endpoint_attribute": "osram_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -535,36 +593,43 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -579,16 +644,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd00", "endpoint_attribute": "osram_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -596,36 +664,43 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -780,22 +855,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:00:0e:c8:d4:e7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:0e:c8:d4:e7", "endpoint_id": 1, "available": true, @@ -824,22 +883,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:00:0e:c8:d4:e7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:0e:c8:d4:e7", "endpoint_id": 1, "available": true, @@ -868,22 +911,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:0d:6f:00:0e:c8:d4:e7:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:0d:6f:00:0e:c8:d4:e7", "endpoint_id": 1, "available": true, @@ -920,22 +947,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:0d:6f:00:0e:c8:d4:e7:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:0e:c8:d4:e7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ou-rui-bo-cf31218e11c547179c9c9ade6a492799.json b/tests/data/devices/ou-rui-bo-cf31218e11c547179c9c9ade6a492799.json index a440e170b..f4ae4c56c 100644 --- a/tests/data/devices/ou-rui-bo-cf31218e11c547179c9c9ade6a492799.json +++ b/tests/data/devices/ou-rui-bo-cf31218e11c547179c9c9ade6a492799.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:5f:2a:3c:30", "nwk": "0xE8A0", "manufacturer": "\u6b27\u745e\u535a", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,34 +99,50 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0101", "endpoint_attribute": "door_lock", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "lock_state", "zcl_type": "enum8", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -127,6 +151,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -185,22 +210,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:5f:2a:3c:30:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5f:2a:3c:30", "endpoint_id": 1, "available": true, @@ -233,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "DoorLockClusterHandler", - "generic_id": "cluster_handler_0x0101", - "endpoint_id": 1, - "cluster": { - "id": 257, - "name": "Door Lock", - "type": "server" - }, - "id": "1:0x0101", - "unique_id": "ab:cd:ef:12:5f:2a:3c:30:1:0x0101", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5f:2a:3c:30", "endpoint_id": 1, "available": true, @@ -277,22 +270,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5f:2a:3c:30:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5f:2a:3c:30", "endpoint_id": 1, "available": true, @@ -321,22 +298,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5f:2a:3c:30:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5f:2a:3c:30", "endpoint_id": 1, "available": true, @@ -365,22 +326,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:5f:2a:3c:30:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:5f:2a:3c:30", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/paulmann-licht-gmbh-501-34.json b/tests/data/devices/paulmann-licht-gmbh-501-34.json index 4bddd9cb8..c6a1505fb 100644 --- a/tests/data/devices/paulmann-licht-gmbh-501-34.json +++ b/tests/data/devices/paulmann-licht-gmbh-501-34.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:4e:54:ef:79", "nwk": "0x35C7", "manufacturer": "Paulmann Licht GmbH", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,23 +99,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 33 + "value": 33, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -115,41 +132,49 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -164,17 +189,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -192,23 +225,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 33 + "value": 33, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -216,41 +258,49 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -336,22 +386,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:4e:54:ef:79:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:54:ef:79", "endpoint_id": 1, "available": true, @@ -384,22 +418,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4e:54:ef:79:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:54:ef:79", "endpoint_id": 1, "available": true, @@ -428,22 +446,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4e:54:ef:79:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:54:ef:79", "endpoint_id": 1, "available": true, @@ -472,22 +474,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:4e:54:ef:79:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:4e:54:ef:79", "endpoint_id": 1, "available": true, @@ -524,22 +510,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 2, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "2:0x0001", - "unique_id": "ab:cd:ef:12:4e:54:ef:79:2:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:4e:54:ef:79", "endpoint_id": 2, "available": true, @@ -578,22 +548,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:4e:54:ef:79:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:54:ef:79", "endpoint_id": 1, "available": true, @@ -627,22 +581,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 2, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "2:0x0019_client", - "unique_id": "ab:cd:ef:12:4e:54:ef:79:2:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:54:ef:79", "endpoint_id": 2, "available": true, diff --git a/tests/data/devices/philips-7602031u7.json b/tests/data/devices/philips-7602031u7.json index 0fdbcbbb5..0834aab44 100644 --- a/tests/data/devices/philips-7602031u7.json +++ b/tests/data/devices/philips-7602031u7.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:17:88:01:0b:4b:51:fc", "nwk": "0x40D1", "manufacturer": "Philips", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -104,27 +105,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -137,12 +148,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -191,6 +209,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -226,7 +245,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500 + "value": 500, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -244,13 +269,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 15089 + "value": 15089, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 5731 + "value": 5731, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -275,16 +312,19 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "philips_hue_light_cluster", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -292,6 +332,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -314,6 +355,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -384,22 +426,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "00:17:88:01:0b:4b:51:fc:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0b:4b:51:fc", "endpoint_id": 11, "available": true, @@ -432,50 +458,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:0b:4b:51:fc:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:0b:4b:51:fc:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:17:88:01:0b:4b:51:fc:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:17:88:01:0b:4b:51:fc", "endpoint_id": 11, "available": true, @@ -536,22 +518,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:17:88:01:0b:4b:51:fc:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:17:88:01:0b:4b:51:fc", "endpoint_id": 11, "available": true, @@ -583,22 +549,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:0b:4b:51:fc:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:17:88:01:0b:4b:51:fc", "endpoint_id": 11, "available": true, @@ -632,22 +582,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:0b:4b:51:fc:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:17:88:01:0b:4b:51:fc", "endpoint_id": 11, "available": true, @@ -683,22 +617,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:0b:4b:51:fc:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0b:4b:51:fc", "endpoint_id": 11, "available": true, @@ -727,22 +645,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:0b:4b:51:fc:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0b:4b:51:fc", "endpoint_id": 11, "available": true, @@ -773,22 +675,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "00:17:88:01:0b:4b:51:fc:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0b:4b:51:fc", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/philips-915005988601.json b/tests/data/devices/philips-915005988601.json index 6e1c6c73d..184650f90 100644 --- a/tests/data/devices/philips-915005988601.json +++ b/tests/data/devices/philips-915005988601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:72:72:fa:b6", "nwk": "0x7C85", "manufacturer": "Philips", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,7 +197,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500 + "value": 500, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -196,13 +221,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 36678 + "value": 36678, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26266 + "value": 26266, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -221,21 +258,25 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc04", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -243,6 +284,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -265,6 +307,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -336,22 +379,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "ab:cd:ef:12:72:72:fa:b6:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:72:fa:b6", "endpoint_id": 11, "available": true, @@ -384,50 +411,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:72:72:fa:b6:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:72:72:fa:b6:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "ab:cd:ef:12:72:72:fa:b6:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:72:72:fa:b6", "endpoint_id": 11, "available": true, @@ -488,22 +471,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "ab:cd:ef:12:72:72:fa:b6:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:72:72:fa:b6", "endpoint_id": 11, "available": true, @@ -535,22 +502,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:72:72:fa:b6:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:72:72:fa:b6", "endpoint_id": 11, "available": true, @@ -584,22 +535,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:72:72:fa:b6:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:72:72:fa:b6", "endpoint_id": 11, "available": true, @@ -635,22 +570,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:72:72:fa:b6:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:72:fa:b6", "endpoint_id": 11, "available": true, @@ -679,22 +598,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:72:72:fa:b6:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:72:fa:b6", "endpoint_id": 11, "available": true, @@ -725,22 +628,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "ab:cd:ef:12:72:72:fa:b6:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:72:fa:b6", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/philips-lct014.json b/tests/data/devices/philips-lct014.json index 972ca42da..49b4090f7 100644 --- a/tests/data/devices/philips-lct014.json +++ b/tests/data/devices/philips-lct014.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:17:88:01:02:4f:ea:5c", "nwk": "0x7BF1", "manufacturer": "Philips", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -74,27 +75,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -107,12 +118,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -155,6 +173,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -190,7 +209,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 366 + "value": 366, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -208,13 +233,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 29972 + "value": 29972, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26871 + "value": 26871, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -239,11 +276,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -251,6 +290,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -272,6 +312,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -279,6 +320,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -350,22 +392,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "00:17:88:01:02:4f:ea:5c:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:02:4f:ea:5c", "endpoint_id": 11, "available": true, @@ -398,50 +424,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:02:4f:ea:5c:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:02:4f:ea:5c:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:17:88:01:02:4f:ea:5c:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:17:88:01:02:4f:ea:5c", "endpoint_id": 11, "available": true, @@ -502,22 +484,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:17:88:01:02:4f:ea:5c:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:17:88:01:02:4f:ea:5c", "endpoint_id": 11, "available": true, @@ -549,22 +515,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:02:4f:ea:5c:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:17:88:01:02:4f:ea:5c", "endpoint_id": 11, "available": true, @@ -598,22 +548,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:02:4f:ea:5c:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:17:88:01:02:4f:ea:5c", "endpoint_id": 11, "available": true, @@ -649,22 +583,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:02:4f:ea:5c:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:02:4f:ea:5c", "endpoint_id": 11, "available": true, @@ -693,22 +611,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:02:4f:ea:5c:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:02:4f:ea:5c", "endpoint_id": 11, "available": true, @@ -739,22 +641,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "00:17:88:01:02:4f:ea:5c:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:02:4f:ea:5c", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/philips-lct026.json b/tests/data/devices/philips-lct026.json index b94474c61..a9d07da88 100644 --- a/tests/data/devices/philips-lct026.json +++ b/tests/data/devices/philips-lct026.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ea:c8:c2:fd", "nwk": "0x3A92", "manufacturer": "Philips", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -96,12 +100,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -114,12 +125,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 67 + "value": 67, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -162,6 +180,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,7 +216,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500 + "value": 500, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -215,13 +240,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 36958 + "value": 36958, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 25586 + "value": 25586, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -246,11 +283,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -258,6 +297,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -273,6 +313,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -342,22 +383,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "ab:cd:ef:12:ea:c8:c2:fd:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ea:c8:c2:fd", "endpoint_id": 11, "available": true, @@ -390,50 +415,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:ea:c8:c2:fd:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:ea:c8:c2:fd:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "ab:cd:ef:12:ea:c8:c2:fd:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:ea:c8:c2:fd", "endpoint_id": 11, "available": true, @@ -494,22 +475,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "ab:cd:ef:12:ea:c8:c2:fd:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:ea:c8:c2:fd", "endpoint_id": 11, "available": true, @@ -541,22 +506,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:ea:c8:c2:fd:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:ea:c8:c2:fd", "endpoint_id": 11, "available": true, @@ -590,22 +539,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:ea:c8:c2:fd:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ea:c8:c2:fd", "endpoint_id": 11, "available": true, @@ -641,22 +574,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:ea:c8:c2:fd:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ea:c8:c2:fd", "endpoint_id": 11, "available": true, @@ -685,22 +602,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:ea:c8:c2:fd:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ea:c8:c2:fd", "endpoint_id": 11, "available": true, @@ -731,22 +632,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "ab:cd:ef:12:ea:c8:c2:fd:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ea:c8:c2:fd", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/philips-llc020.json b/tests/data/devices/philips-llc020.json index ba4c1555e..06cc4a4e6 100644 --- a/tests/data/devices/philips-llc020.json +++ b/tests/data/devices/philips-llc020.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:17:88:01:01:16:e3:33", "nwk": "0x6B96", "manufacturer": "Philips", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,7 +197,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 153 + "value": 153, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -196,13 +221,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 11792 + "value": 11792, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 15680 + "value": 15680, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -227,11 +264,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -239,6 +278,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -260,6 +300,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -267,6 +308,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -338,22 +380,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "00:17:88:01:01:16:e3:33:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:01:16:e3:33", "endpoint_id": 11, "available": true, @@ -386,50 +412,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:01:16:e3:33:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:01:16:e3:33:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:17:88:01:01:16:e3:33:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:17:88:01:01:16:e3:33", "endpoint_id": 11, "available": true, @@ -490,22 +472,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:17:88:01:01:16:e3:33:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:17:88:01:01:16:e3:33", "endpoint_id": 11, "available": true, @@ -537,22 +503,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:01:16:e3:33:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:17:88:01:01:16:e3:33", "endpoint_id": 11, "available": true, @@ -586,22 +536,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:01:16:e3:33:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:17:88:01:01:16:e3:33", "endpoint_id": 11, "available": true, @@ -637,22 +571,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:01:16:e3:33:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:01:16:e3:33", "endpoint_id": 11, "available": true, @@ -681,22 +599,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:01:16:e3:33:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:01:16:e3:33", "endpoint_id": 11, "available": true, @@ -727,22 +629,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "00:17:88:01:01:16:e3:33:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:01:16:e3:33", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/philips-lst002.json b/tests/data/devices/philips-lst002.json index e90995e00..c2f925a9f 100644 --- a/tests/data/devices/philips-lst002.json +++ b/tests/data/devices/philips-lst002.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ad:8a:89:91", "nwk": "0xC492", "manufacturer": "Philips", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -80,16 +81,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -102,12 +106,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -120,12 +131,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 1 + "value": 1, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -168,6 +186,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -203,7 +222,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500 + "value": 500, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -221,13 +246,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 34516 + "value": 34516, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 27086 + "value": 27086, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -252,6 +289,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -259,6 +297,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -286,6 +325,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -293,6 +333,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -363,22 +404,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "ab:cd:ef:12:ad:8a:89:91:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ad:8a:89:91", "endpoint_id": 11, "available": true, @@ -411,50 +436,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:ad:8a:89:91:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:ad:8a:89:91:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "ab:cd:ef:12:ad:8a:89:91:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:ad:8a:89:91", "endpoint_id": 11, "available": true, @@ -515,22 +496,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:ad:8a:89:91:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ad:8a:89:91", "endpoint_id": 11, "available": true, @@ -559,22 +524,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:ad:8a:89:91:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ad:8a:89:91", "endpoint_id": 11, "available": true, @@ -605,22 +554,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "ab:cd:ef:12:ad:8a:89:91:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ad:8a:89:91", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/philips-rom001.json b/tests/data/devices/philips-rom001.json index c88848045..6fc919c08 100644 --- a/tests/data/devices/philips-rom001.json +++ b/tests/data/devices/philips-rom001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:17:88:01:06:54:a7:c3", "nwk": "0x98A2", "manufacturer": "Philips", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -86,12 +87,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -109,23 +117,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "philips_remote_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -133,36 +150,43 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -175,6 +199,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -239,22 +264,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:17:88:01:06:54:a7:c3:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:06:54:a7:c3", "endpoint_id": 1, "available": true, @@ -287,22 +296,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "PhilipsBasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:17:88:01:06:54:a7:c3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:06:54:a7:c3", "endpoint_id": 1, "available": true, @@ -331,22 +324,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "PhilipsBasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:17:88:01:06:54:a7:c3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:06:54:a7:c3", "endpoint_id": 1, "available": true, @@ -375,22 +352,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:17:88:01:06:54:a7:c3:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:17:88:01:06:54:a7:c3", "endpoint_id": 1, "available": true, @@ -427,22 +388,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:17:88:01:06:54:a7:c3:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:06:54:a7:c3", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/philips-rwl020.json b/tests/data/devices/philips-rwl020.json index 2085a08e0..610737372 100644 --- a/tests/data/devices/philips-rwl020.json +++ b/tests/data/devices/philips-rwl020.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:17:88:01:08:07:c3:5b", "nwk": "0x2E6A", "manufacturer": "Philips", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -70,31 +71,37 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] } ] @@ -109,6 +116,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0031", @@ -127,12 +135,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -150,30 +165,45 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfc00", "endpoint_attribute": "philips_remote_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -181,6 +211,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -253,22 +284,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 2, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "2:0x000f", - "unique_id": "00:17:88:01:08:07:c3:5b:2:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "00:17:88:01:08:07:c3:5b", "endpoint_id": 2, "available": true, @@ -298,22 +313,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 2, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "2:0x0003", - "unique_id": "00:17:88:01:08:07:c3:5b:2:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:08:07:c3:5b", "endpoint_id": 2, "available": true, @@ -346,22 +345,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:17:88:01:08:07:c3:5b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:08:07:c3:5b", "endpoint_id": 1, "available": true, @@ -390,22 +373,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:17:88:01:08:07:c3:5b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:08:07:c3:5b", "endpoint_id": 1, "available": true, @@ -434,22 +401,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 2, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "2:0x0001", - "unique_id": "00:17:88:01:08:07:c3:5b:2:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:17:88:01:08:07:c3:5b", "endpoint_id": 2, "available": true, @@ -486,22 +437,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 2, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "2:0x0019_client", - "unique_id": "00:17:88:01:08:07:c3:5b:2:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:08:07:c3:5b", "endpoint_id": 2, "available": true, diff --git a/tests/data/devices/philips-rwl021.json b/tests/data/devices/philips-rwl021.json index 7cd20b59d..d4705d8bd 100644 --- a/tests/data/devices/philips-rwl021.json +++ b/tests/data/devices/philips-rwl021.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:5e:0b:f1:3f", "nwk": "0x3CF9", "manufacturer": "Philips", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -64,26 +65,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -96,6 +102,7 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] } ] @@ -110,6 +117,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0031", @@ -122,12 +130,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -145,18 +160,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 24 + "value": 24, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -168,13 +191,20 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfc00", "endpoint_attribute": "philips_remote_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -182,6 +212,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -261,22 +292,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 2, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "2:0x000f", - "unique_id": "ab:cd:ef:12:5e:0b:f1:3f:2:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:5e:0b:f1:3f", "endpoint_id": 2, "available": true, @@ -306,22 +321,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 2, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "2:0x0003", - "unique_id": "ab:cd:ef:12:5e:0b:f1:3f:2:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5e:0b:f1:3f", "endpoint_id": 2, "available": true, @@ -354,22 +353,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5e:0b:f1:3f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5e:0b:f1:3f", "endpoint_id": 1, "available": true, @@ -398,22 +381,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5e:0b:f1:3f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5e:0b:f1:3f", "endpoint_id": 1, "available": true, @@ -442,22 +409,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 2, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "2:0x0001", - "unique_id": "ab:cd:ef:12:5e:0b:f1:3f:2:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:5e:0b:f1:3f", "endpoint_id": 2, "available": true, @@ -494,22 +445,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 2, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "2:0x0019_client", - "unique_id": "ab:cd:ef:12:5e:0b:f1:3f:2:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5e:0b:f1:3f", "endpoint_id": 2, "available": true, diff --git a/tests/data/devices/philips-sml001.json b/tests/data/devices/philips-sml001.json index f2311ebbf..c52ec5fcb 100644 --- a/tests/data/devices/philips-sml001.json +++ b/tests/data/devices/philips-sml001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:17:88:01:06:f5:ac:71", "nwk": "0x6AD3", "manufacturer": "Philips", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -51,36 +52,43 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] } ] @@ -95,6 +103,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -119,12 +128,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 77 + "value": 77, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -142,48 +158,76 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 25 + "value": 25, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 7905 + "value": 7905, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2307 + "value": 2307, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -198,6 +242,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -279,22 +324,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "00:17:88:01:06:f5:ac:71:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:06:f5:ac:71", "endpoint_id": 1, "available": true, @@ -322,22 +351,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 2, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "2:0x0406", - "unique_id": "00:17:88:01:06:f5:ac:71:2:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "00:17:88:01:06:f5:ac:71", "endpoint_id": 2, "available": true, @@ -367,22 +380,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 2, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "2:0x0003", - "unique_id": "00:17:88:01:06:f5:ac:71:2:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:06:f5:ac:71", "endpoint_id": 2, "available": true, @@ -415,22 +412,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 2, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "2:0x0406", - "unique_id": "00:17:88:01:06:f5:ac:71:2:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "00:17:88:01:06:f5:ac:71", "endpoint_id": 2, "available": true, @@ -465,22 +446,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:17:88:01:06:f5:ac:71:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:06:f5:ac:71", "endpoint_id": 1, "available": true, @@ -509,22 +474,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:17:88:01:06:f5:ac:71:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:06:f5:ac:71", "endpoint_id": 1, "available": true, @@ -553,22 +502,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 2, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "2:0x0001", - "unique_id": "00:17:88:01:06:f5:ac:71:2:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:17:88:01:06:f5:ac:71", "endpoint_id": 2, "available": true, @@ -603,22 +536,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 2, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "2:0x0400", - "unique_id": "00:17:88:01:06:f5:ac:71:2:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:17:88:01:06:f5:ac:71", "endpoint_id": 2, "available": true, @@ -647,22 +564,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 2, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "2:0x0402", - "unique_id": "00:17:88:01:06:f5:ac:71:2:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:17:88:01:06:f5:ac:71", "endpoint_id": 2, "available": true, @@ -693,22 +594,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 2, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "2:0x0000", - "unique_id": "00:17:88:01:06:f5:ac:71:2:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:06:f5:ac:71", "endpoint_id": 2, "available": true, @@ -743,22 +628,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 2, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "2:0x0019_client", - "unique_id": "00:17:88:01:06:f5:ac:71:2:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:06:f5:ac:71", "endpoint_id": 2, "available": true, diff --git a/tests/data/devices/plaid-systems-ps-sprzms-slp3.json b/tests/data/devices/plaid-systems-ps-sprzms-slp3.json index 1f3060055..f5b2542d4 100644 --- a/tests/data/devices/plaid-systems-ps-sprzms-slp3.json +++ b/tests/data/devices/plaid-systems-ps-sprzms-slp3.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:0d:6f:00:0e:6e:82:87", "nwk": "0x256B", "manufacturer": "PLAID SYSTEMS", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,7 +99,13 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -104,29 +118,44 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1964 + "value": 1964, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4593 + "value": 4593, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -135,11 +164,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -205,22 +236,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:0d:6f:00:0e:6e:82:87:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:0e:6e:82:87", "endpoint_id": 1, "available": true, @@ -253,22 +268,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:00:0e:6e:82:87:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:0e:6e:82:87", "endpoint_id": 1, "available": true, @@ -297,22 +296,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:00:0e:6e:82:87:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:0e:6e:82:87", "endpoint_id": 1, "available": true, @@ -341,22 +324,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:0d:6f:00:0e:6e:82:87:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:0d:6f:00:0e:6e:82:87", "endpoint_id": 1, "available": true, @@ -393,22 +360,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "00:0d:6f:00:0e:6e:82:87:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:0d:6f:00:0e:6e:82:87", "endpoint_id": 1, "available": true, @@ -437,22 +388,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "00:0d:6f:00:0e:6e:82:87:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:0d:6f:00:0e:6e:82:87", "endpoint_id": 1, "available": true, @@ -483,22 +418,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:0d:6f:00:0e:6e:82:87:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:0e:6e:82:87", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ptvo-info-ptvo-switch.json b/tests/data/devices/ptvo-info-ptvo-switch.json index 8392a5806..f46f1c831 100644 --- a/tests/data/devices/ptvo-info-ptvo-switch.json +++ b/tests/data/devices/ptvo-info-ptvo-switch.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:1a:bc:2b:a0", "nwk": "0xD408", "manufacturer": "ptvo.info", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -80,6 +88,7 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -87,11 +96,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -113,12 +124,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -131,6 +149,7 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -138,6 +157,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -159,12 +179,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -177,6 +204,7 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -184,6 +212,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -205,12 +234,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -223,6 +259,7 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -230,6 +267,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -251,12 +289,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -269,6 +314,7 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -276,6 +322,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -297,12 +344,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -315,6 +369,7 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -322,6 +377,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -343,12 +399,19 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2243 + "value": 2243, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] } @@ -365,12 +428,19 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2200 + "value": 2200, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] } @@ -500,22 +570,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:1a:bc:2b:a0:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1a:bc:2b:a0", "endpoint_id": 1, "available": true, @@ -543,22 +597,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "2:0x0006_client", - "unique_id": "ab:cd:ef:12:1a:bc:2b:a0:2:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1a:bc:2b:a0", "endpoint_id": 2, "available": true, @@ -586,22 +624,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "3:0x0006_client", - "unique_id": "ab:cd:ef:12:1a:bc:2b:a0:3:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1a:bc:2b:a0", "endpoint_id": 3, "available": true, @@ -629,22 +651,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "4:0x0006_client", - "unique_id": "ab:cd:ef:12:1a:bc:2b:a0:4:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1a:bc:2b:a0", "endpoint_id": 4, "available": true, @@ -672,22 +678,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 5, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "5:0x0006_client", - "unique_id": "ab:cd:ef:12:1a:bc:2b:a0:5:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1a:bc:2b:a0", "endpoint_id": 5, "available": true, @@ -715,22 +705,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 6, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "6:0x0006_client", - "unique_id": "ab:cd:ef:12:1a:bc:2b:a0:6:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1a:bc:2b:a0", "endpoint_id": 6, "available": true, @@ -760,22 +734,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1a:bc:2b:a0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1a:bc:2b:a0", "endpoint_id": 1, "available": true, @@ -804,22 +762,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1a:bc:2b:a0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1a:bc:2b:a0", "endpoint_id": 1, "available": true, @@ -848,22 +790,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 7, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "7:0x0402", - "unique_id": "ab:cd:ef:12:1a:bc:2b:a0:7:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:1a:bc:2b:a0", "endpoint_id": 7, "available": true, @@ -892,22 +818,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 8, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "8:0x0402", - "unique_id": "ab:cd:ef:12:1a:bc:2b:a0:8:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:1a:bc:2b:a0", "endpoint_id": 8, "available": true, @@ -938,22 +848,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:1a:bc:2b:a0:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:1a:bc:2b:a0", "endpoint_id": 1, "available": true, @@ -980,22 +874,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:1a:bc:2b:a0:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:1a:bc:2b:a0", "endpoint_id": 2, "available": true, @@ -1022,22 +900,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:1a:bc:2b:a0:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:1a:bc:2b:a0", "endpoint_id": 3, "available": true, @@ -1064,22 +926,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "4:0x0006", - "unique_id": "ab:cd:ef:12:1a:bc:2b:a0:4:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:1a:bc:2b:a0", "endpoint_id": 4, "available": true, @@ -1106,22 +952,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 5, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "5:0x0006", - "unique_id": "ab:cd:ef:12:1a:bc:2b:a0:5:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:1a:bc:2b:a0", "endpoint_id": 5, "available": true, @@ -1148,22 +978,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 6, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "6:0x0006", - "unique_id": "ab:cd:ef:12:1a:bc:2b:a0:6:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:1a:bc:2b:a0", "endpoint_id": 6, "available": true, diff --git a/tests/data/devices/samjin-button.json b/tests/data/devices/samjin-button.json index 139a2c52c..33d2c2f8b 100644 --- a/tests/data/devices/samjin-button.json +++ b/tests/data/devices/samjin-button.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "28:6d:97:00:01:04:35:bd", "nwk": "0x0FEC", "manufacturer": "Samjin", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,35 +99,51 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 35 + "value": 35, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2558 + "value": 2558, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -159,6 +183,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -166,11 +191,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -238,22 +265,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "28:6d:97:00:01:04:35:bd:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:6d:97:00:01:04:35:bd", "endpoint_id": 1, "available": true, @@ -283,22 +294,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "28:6d:97:00:01:04:35:bd:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:6d:97:00:01:04:35:bd", "endpoint_id": 1, "available": true, @@ -331,22 +326,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:6d:97:00:01:04:35:bd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:6d:97:00:01:04:35:bd", "endpoint_id": 1, "available": true, @@ -375,22 +354,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:6d:97:00:01:04:35:bd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:6d:97:00:01:04:35:bd", "endpoint_id": 1, "available": true, @@ -419,22 +382,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "28:6d:97:00:01:04:35:bd:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "28:6d:97:00:01:04:35:bd", "endpoint_id": 1, "available": true, @@ -469,22 +416,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "28:6d:97:00:01:04:35:bd:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "28:6d:97:00:01:04:35:bd", "endpoint_id": 1, "available": true, @@ -515,22 +446,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "28:6d:97:00:01:04:35:bd:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:6d:97:00:01:04:35:bd", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/samjin-multi.json b/tests/data/devices/samjin-multi.json index c76d9deaf..96db4ae11 100644 --- a/tests/data/devices/samjin-multi.json +++ b/tests/data/devices/samjin-multi.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "28:6d:97:00:01:03:15:3d", "nwk": "0x2996", "manufacturer": "Samjin", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31 + "value": 31, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -109,18 +125,26 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2441 + "value": 2441, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -160,30 +184,55 @@ { "cluster_id": "0xfc02", "endpoint_attribute": "accelerometer", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", "name": "acceleration", "zcl_type": "map8", - "value": 1 + "value": 1, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "x_axis", "zcl_type": "int16", - "value": 122 + "value": 122, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "y_axis", "zcl_type": "int16", - "value": -27 + "value": -27, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "z_axis", "zcl_type": "int16", - "value": 1055 + "value": 1055, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -192,11 +241,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -264,22 +315,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "28:6d:97:00:01:03:15:3d:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:6d:97:00:01:03:15:3d", "endpoint_id": 1, "available": true, @@ -307,22 +342,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SmartThingsAccelerationClusterHandler", - "generic_id": "cluster_handler_0xfc02", - "endpoint_id": 1, - "cluster": { - "id": 64514, - "name": "Smartthings Accelerometer", - "type": "server" - }, - "id": "1:0xfc02", - "unique_id": "28:6d:97:00:01:03:15:3d:1:0xfc02", - "status": "INITIALIZED", - "value_attribute": "acceleration" - } - ], "device_ieee": "28:6d:97:00:01:03:15:3d", "endpoint_id": 1, "available": true, @@ -352,22 +371,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "28:6d:97:00:01:03:15:3d:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:6d:97:00:01:03:15:3d", "endpoint_id": 1, "available": true, @@ -400,22 +403,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:6d:97:00:01:03:15:3d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:6d:97:00:01:03:15:3d", "endpoint_id": 1, "available": true, @@ -444,22 +431,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:6d:97:00:01:03:15:3d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:6d:97:00:01:03:15:3d", "endpoint_id": 1, "available": true, @@ -488,22 +459,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "28:6d:97:00:01:03:15:3d:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "28:6d:97:00:01:03:15:3d", "endpoint_id": 1, "available": true, @@ -538,22 +493,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "28:6d:97:00:01:03:15:3d:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "28:6d:97:00:01:03:15:3d", "endpoint_id": 1, "available": true, @@ -584,22 +523,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "28:6d:97:00:01:03:15:3d:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:6d:97:00:01:03:15:3d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/samjin-water.json b/tests/data/devices/samjin-water.json index e97058d14..a95085cc0 100644 --- a/tests/data/devices/samjin-water.json +++ b/tests/data/devices/samjin-water.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:39:a9:8a:6b", "nwk": "0x29A8", "manufacturer": "Samjin", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -109,18 +125,26 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2229 + "value": 2229, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -160,6 +184,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -167,11 +192,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -232,22 +259,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:39:a9:8a:6b:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:a9:8a:6b", "endpoint_id": 1, "available": true, @@ -277,22 +288,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:39:a9:8a:6b:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:a9:8a:6b", "endpoint_id": 1, "available": true, @@ -325,22 +320,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:39:a9:8a:6b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:a9:8a:6b", "endpoint_id": 1, "available": true, @@ -369,22 +348,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:39:a9:8a:6b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:a9:8a:6b", "endpoint_id": 1, "available": true, @@ -413,22 +376,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:39:a9:8a:6b:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:39:a9:8a:6b", "endpoint_id": 1, "available": true, @@ -463,22 +410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:39:a9:8a:6b:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:39:a9:8a:6b", "endpoint_id": 1, "available": true, @@ -509,22 +440,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:39:a9:8a:6b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:a9:8a:6b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/schneider-electric-eko07259.json b/tests/data/devices/schneider-electric-eko07259.json index 935a41264..43fc24a08 100644 --- a/tests/data/devices/schneider-electric-eko07259.json +++ b/tests/data/devices/schneider-electric-eko07259.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:c8:65:ea:5c", "nwk": "0xA3BA", "manufacturer": "Schneider Electric", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -128,6 +129,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -146,6 +148,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -164,6 +167,7 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -205,7 +209,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 1886 + "value": 1886, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -247,19 +257,37 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "value": 1 + "value": 1, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2000 + "value": 2000, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2480 + "value": 2480, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0034", @@ -289,13 +317,25 @@ "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0025", @@ -313,13 +353,25 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0xe210", @@ -427,7 +479,13 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", @@ -451,19 +509,32 @@ "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "value": 2200 + "value": 2200, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "value": 1600 + "value": 1600, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -500,6 +571,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -524,11 +596,13 @@ { "cluster_id": "0xfe03", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff16", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -571,6 +645,7 @@ { "cluster_id": "0xff23", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -717,6 +792,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -729,6 +805,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -741,6 +818,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -807,6 +885,7 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -819,6 +898,7 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -840,6 +920,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -924,6 +1005,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -942,6 +1024,7 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -959,7 +1042,13 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1914 + "value": 1914, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -980,6 +1069,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -1001,6 +1091,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -1085,6 +1176,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -1103,6 +1195,7 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -1120,7 +1213,13 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -1147,6 +1246,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -1168,6 +1268,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -1252,6 +1353,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -1270,6 +1372,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -1288,54 +1391,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 640678 + "value": 640678, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -1353,7 +1505,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 500 + "value": 500, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -1377,7 +1535,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -1407,6 +1571,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -1515,22 +1680,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "SEThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -1560,22 +1709,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -1608,22 +1741,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "SEThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -1687,22 +1804,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "SEThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -1734,22 +1835,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "SEThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -1781,22 +1866,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -1828,22 +1897,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "SEThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -1875,22 +1928,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -1922,22 +1959,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "SEThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -1969,22 +1990,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -2016,22 +2021,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "SEThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -2063,22 +2052,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "SEThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -2110,22 +2083,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "SEThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -2157,22 +2114,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 2, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "2:0x0402", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:2:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 2, "available": true, @@ -2204,22 +2145,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 3, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "3:0x0402", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:3:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 3, "available": true, @@ -2251,22 +2176,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 5, - "cluster": { - "id": 1794, - "name": "SEMetering", - "type": "server" - }, - "id": "5:0x0702", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:5:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 5, "available": true, @@ -2300,22 +2209,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -2350,22 +2243,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "SEThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -2398,22 +2275,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "SEThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -2446,22 +2307,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "SEThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -2497,22 +2342,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "SEThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -2550,22 +2379,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "SEThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -2597,22 +2410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "SEThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -2645,22 +2442,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 3, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "3:0x0402", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:3:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 3, "available": true, @@ -2699,22 +2480,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "SEBasic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -2743,22 +2508,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "SEBasic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -2787,22 +2536,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "SEThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -2831,22 +2564,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "SEThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -2875,22 +2592,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "SEThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -2919,22 +2620,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "SEThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, @@ -2963,22 +2648,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 2, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "2:0x0402", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:2:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 2, "available": true, @@ -3007,22 +2676,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 3, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "3:0x0402", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:3:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 3, "available": true, @@ -3051,22 +2704,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 5, - "cluster": { - "id": 1794, - "name": "SEMetering", - "type": "server" - }, - "id": "5:0x0702", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:5:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 5, "available": true, @@ -3103,22 +2740,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 5, - "cluster": { - "id": 1794, - "name": "SEMetering", - "type": "server" - }, - "id": "5:0x0702", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:5:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 5, "available": true, @@ -3157,22 +2778,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:c8:65:ea:5c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c8:65:ea:5c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/schneider-electric-evsckt-outlet-1.json b/tests/data/devices/schneider-electric-evsckt-outlet-1.json index 3c8185822..344459c2f 100644 --- a/tests/data/devices/schneider-electric-evsckt-outlet-1.json +++ b/tests/data/devices/schneider-electric-evsckt-outlet-1.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:47:77:a4:73", "nwk": "0x5CE5", "manufacturer": "Schneider Electric", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,54 +106,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 144014000 + "value": 144014000, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -172,7 +232,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -190,7 +256,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -209,29 +281,49 @@ { "cluster_id": "0x0708", "endpoint_attribute": "smartenergy_device_management", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -255,31 +347,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -287,11 +409,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -303,7 +563,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -315,13 +581,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -329,28 +607,96 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 233 + "value": 233, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc04", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -358,6 +704,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -380,6 +727,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -450,22 +798,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 6, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "6:0x0003", - "unique_id": "ab:cd:ef:12:47:77:a4:73:6:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:47:77:a4:73", "endpoint_id": 6, "available": true, @@ -498,22 +830,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 6, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "6:0x0006", - "unique_id": "ab:cd:ef:12:47:77:a4:73:6:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:47:77:a4:73", "endpoint_id": 6, "available": true, @@ -549,22 +865,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 6, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "6:0x0000", - "unique_id": "ab:cd:ef:12:47:77:a4:73:6:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:47:77:a4:73", "endpoint_id": 6, "available": true, @@ -593,22 +893,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 6, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "6:0x0000", - "unique_id": "ab:cd:ef:12:47:77:a4:73:6:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:47:77:a4:73", "endpoint_id": 6, "available": true, @@ -637,22 +921,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 6, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "6:0x0702", - "unique_id": "ab:cd:ef:12:47:77:a4:73:6:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:47:77:a4:73", "endpoint_id": 6, "available": true, @@ -689,22 +957,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 6, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "6:0x0702", - "unique_id": "ab:cd:ef:12:47:77:a4:73:6:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:47:77:a4:73", "endpoint_id": 6, "available": true, @@ -741,22 +993,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 6, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "6:0x0b04", - "unique_id": "ab:cd:ef:12:47:77:a4:73:6:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:47:77:a4:73", "endpoint_id": 6, "available": true, @@ -790,22 +1026,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 6, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "6:0x0b04", - "unique_id": "ab:cd:ef:12:47:77:a4:73:6:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:47:77:a4:73", "endpoint_id": 6, "available": true, @@ -841,22 +1061,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 6, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "6:0x0006", - "unique_id": "ab:cd:ef:12:47:77:a4:73:6:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:47:77:a4:73", "endpoint_id": 6, "available": true, @@ -885,22 +1089,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 6, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "6:0x0019_client", - "unique_id": "ab:cd:ef:12:47:77:a4:73:6:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:47:77:a4:73", "endpoint_id": 6, "available": true, diff --git a/tests/data/devices/schneider-electric-lk-dimmer.json b/tests/data/devices/schneider-electric-lk-dimmer.json index fa43bd399..34e482fbd 100644 --- a/tests/data/devices/schneider-electric-lk-dimmer.json +++ b/tests/data/devices/schneider-electric-lk-dimmer.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:28:80:01:79", "nwk": "0xC2FD", "manufacturer": "Schneider Electric", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4000", @@ -88,7 +93,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,12 +112,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 1 + "value": 1, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -149,11 +167,13 @@ { "cluster_id": "0x0301", "endpoint_attribute": "light_ballast", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -161,6 +181,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -175,21 +196,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff17", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -197,26 +222,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] } ] @@ -231,21 +261,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff17", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -253,26 +287,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] } ] @@ -287,21 +326,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff17", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -309,26 +352,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] } ] @@ -343,21 +391,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff17", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -365,26 +417,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] } ] @@ -400,6 +457,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -536,22 +594,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 3, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "3:0x0003", - "unique_id": "ab:cd:ef:12:28:80:01:79:3:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:28:80:01:79", "endpoint_id": 3, "available": true, @@ -584,36 +626,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:28:80:01:79:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 3, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "3:0x0008", - "unique_id": "ab:cd:ef:12:28:80:01:79:3:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:28:80:01:79", "endpoint_id": 3, "available": true, @@ -667,22 +679,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 3, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "3:0x0008", - "unique_id": "ab:cd:ef:12:28:80:01:79:3:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:28:80:01:79", "endpoint_id": 3, "available": true, @@ -714,22 +710,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 3, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "3:0x0008", - "unique_id": "ab:cd:ef:12:28:80:01:79:3:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:28:80:01:79", "endpoint_id": 3, "available": true, @@ -761,22 +741,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 3, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "3:0x0008", - "unique_id": "ab:cd:ef:12:28:80:01:79:3:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:28:80:01:79", "endpoint_id": 3, "available": true, @@ -808,22 +772,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 3, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "3:0x0008", - "unique_id": "ab:cd:ef:12:28:80:01:79:3:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:28:80:01:79", "endpoint_id": 3, "available": true, @@ -857,22 +805,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 3, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "3:0x0000", - "unique_id": "ab:cd:ef:12:28:80:01:79:3:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:28:80:01:79", "endpoint_id": 3, "available": true, @@ -901,22 +833,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 3, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "3:0x0000", - "unique_id": "ab:cd:ef:12:28:80:01:79:3:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:28:80:01:79", "endpoint_id": 3, "available": true, @@ -947,22 +863,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 3, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "3:0x0019_client", - "unique_id": "ab:cd:ef:12:28:80:01:79:3:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:28:80:01:79", "endpoint_id": 3, "available": true, diff --git a/tests/data/devices/schneider-electric-nhmotion-unidim-1.json b/tests/data/devices/schneider-electric-nhmotion-unidim-1.json index 314f7448e..95a529f66 100644 --- a/tests/data/devices/schneider-electric-nhmotion-unidim-1.json +++ b/tests/data/devices/schneider-electric-nhmotion-unidim-1.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:8f:16:4b:4b", "nwk": "0x0FA2", "manufacturer": "Schneider Electric", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,11 +161,13 @@ { "cluster_id": "0x0301", "endpoint_attribute": "light_ballast", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -155,6 +175,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -176,45 +197,63 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 8451 + "value": 8451, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff19", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -222,21 +261,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -252,6 +295,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -338,22 +382,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 37, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "37:0x0406", - "unique_id": "ab:cd:ef:12:8f:16:4b:4b:37:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:8f:16:4b:4b", "endpoint_id": 37, "available": true, @@ -383,22 +411,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 3, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "3:0x0003", - "unique_id": "ab:cd:ef:12:8f:16:4b:4b:3:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8f:16:4b:4b", "endpoint_id": 3, "available": true, @@ -431,36 +443,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:8f:16:4b:4b:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 3, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "3:0x0008", - "unique_id": "ab:cd:ef:12:8f:16:4b:4b:3:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:8f:16:4b:4b", "endpoint_id": 3, "available": true, @@ -514,22 +496,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 3, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "3:0x0008", - "unique_id": "ab:cd:ef:12:8f:16:4b:4b:3:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:8f:16:4b:4b", "endpoint_id": 3, "available": true, @@ -561,22 +527,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 3, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "3:0x0008", - "unique_id": "ab:cd:ef:12:8f:16:4b:4b:3:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:8f:16:4b:4b", "endpoint_id": 3, "available": true, @@ -610,22 +560,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 3, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "3:0x0000", - "unique_id": "ab:cd:ef:12:8f:16:4b:4b:3:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8f:16:4b:4b", "endpoint_id": 3, "available": true, @@ -654,22 +588,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 3, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "3:0x0000", - "unique_id": "ab:cd:ef:12:8f:16:4b:4b:3:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8f:16:4b:4b", "endpoint_id": 3, "available": true, @@ -698,22 +616,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 37, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "37:0x0400", - "unique_id": "ab:cd:ef:12:8f:16:4b:4b:37:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:8f:16:4b:4b", "endpoint_id": 37, "available": true, @@ -744,22 +646,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 3, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "3:0x0019_client", - "unique_id": "ab:cd:ef:12:8f:16:4b:4b:3:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8f:16:4b:4b", "endpoint_id": 3, "available": true, diff --git a/tests/data/devices/schneider-electric-puck-dimmer-1.json b/tests/data/devices/schneider-electric-puck-dimmer-1.json index 1853af42e..85bcc36db 100644 --- a/tests/data/devices/schneider-electric-puck-dimmer-1.json +++ b/tests/data/devices/schneider-electric-puck-dimmer-1.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:c9:cb:c2:ea", "nwk": "0x61DD", "manufacturer": "Schneider Electric", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 245 + "value": 245, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,11 +161,13 @@ { "cluster_id": "0x0301", "endpoint_attribute": "light_ballast", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -155,6 +175,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -170,6 +191,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -238,22 +260,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 3, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "3:0x0003", - "unique_id": "ab:cd:ef:12:c9:cb:c2:ea:3:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c9:cb:c2:ea", "endpoint_id": 3, "available": true, @@ -286,36 +292,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:c9:cb:c2:ea:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 3, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "3:0x0008", - "unique_id": "ab:cd:ef:12:c9:cb:c2:ea:3:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:c9:cb:c2:ea", "endpoint_id": 3, "available": true, @@ -369,22 +345,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 3, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "3:0x0008", - "unique_id": "ab:cd:ef:12:c9:cb:c2:ea:3:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:c9:cb:c2:ea", "endpoint_id": 3, "available": true, @@ -416,22 +376,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 3, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "3:0x0008", - "unique_id": "ab:cd:ef:12:c9:cb:c2:ea:3:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:c9:cb:c2:ea", "endpoint_id": 3, "available": true, @@ -465,22 +409,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 3, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "3:0x0000", - "unique_id": "ab:cd:ef:12:c9:cb:c2:ea:3:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c9:cb:c2:ea", "endpoint_id": 3, "available": true, @@ -509,22 +437,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 3, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "3:0x0000", - "unique_id": "ab:cd:ef:12:c9:cb:c2:ea:3:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c9:cb:c2:ea", "endpoint_id": 3, "available": true, @@ -555,22 +467,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 3, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "3:0x0019_client", - "unique_id": "ab:cd:ef:12:c9:cb:c2:ea:3:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c9:cb:c2:ea", "endpoint_id": 3, "available": true, diff --git a/tests/data/devices/schneider-electric-puck-shutter-1.json b/tests/data/devices/schneider-electric-puck-shutter-1.json index 6fed2e237..ce6ce308a 100644 --- a/tests/data/devices/schneider-electric-puck-shutter-1.json +++ b/tests/data/devices/schneider-electric-puck-shutter-1.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:81:34:28:65", "nwk": "0x9634", "manufacturer": "Schneider Electric", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -137,6 +138,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -155,6 +157,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -173,6 +176,7 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -215,6 +219,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -226,13 +231,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 82 + "value": 82, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "value": 50 + "value": 50, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -275,6 +292,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -301,6 +319,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -359,6 +378,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -425,22 +445,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 5, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "5:0x0003", - "unique_id": "ab:cd:ef:12:81:34:28:65:5:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:34:28:65", "endpoint_id": 5, "available": true, @@ -473,22 +477,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 5, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "5:0x0102", - "unique_id": "ab:cd:ef:12:81:34:28:65:5:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:81:34:28:65", "endpoint_id": 5, "available": true, @@ -523,22 +511,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 5, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "5:0x0102", - "unique_id": "ab:cd:ef:12:81:34:28:65:5:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:81:34:28:65", "endpoint_id": 5, "available": true, @@ -570,22 +542,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 5, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "5:0x0102", - "unique_id": "ab:cd:ef:12:81:34:28:65:5:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:81:34:28:65", "endpoint_id": 5, "available": true, @@ -617,22 +573,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 5, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "5:0x0102", - "unique_id": "ab:cd:ef:12:81:34:28:65:5:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:81:34:28:65", "endpoint_id": 5, "available": true, @@ -664,22 +604,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 5, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "5:0x0102", - "unique_id": "ab:cd:ef:12:81:34:28:65:5:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:81:34:28:65", "endpoint_id": 5, "available": true, @@ -713,22 +637,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 5, - "cluster": { - "id": 0, - "name": "SEBasic", - "type": "server" - }, - "id": "5:0x0000", - "unique_id": "ab:cd:ef:12:81:34:28:65:5:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:34:28:65", "endpoint_id": 5, "available": true, @@ -757,22 +665,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 5, - "cluster": { - "id": 0, - "name": "SEBasic", - "type": "server" - }, - "id": "5:0x0000", - "unique_id": "ab:cd:ef:12:81:34:28:65:5:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:34:28:65", "endpoint_id": 5, "available": true, @@ -801,22 +693,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 5, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "5:0x0102", - "unique_id": "ab:cd:ef:12:81:34:28:65:5:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:81:34:28:65", "endpoint_id": 5, "available": true, @@ -847,22 +723,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 5, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "5:0x0102", - "unique_id": "ab:cd:ef:12:81:34:28:65:5:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:81:34:28:65", "endpoint_id": 5, "available": true, @@ -897,22 +757,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 5, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "5:0x0019_client", - "unique_id": "ab:cd:ef:12:81:34:28:65:5:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:34:28:65", "endpoint_id": 5, "available": true, diff --git a/tests/data/devices/schneider-electric-s520619.json b/tests/data/devices/schneider-electric-s520619.json index cec957825..dc608d4eb 100644 --- a/tests/data/devices/schneider-electric-s520619.json +++ b/tests/data/devices/schneider-electric-s520619.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a2:e6:bb:a6", "nwk": "0x9A73", "manufacturer": "Schneider Electric", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -107,7 +111,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 1895 + "value": 1895, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -143,43 +153,85 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "value": 1 + "value": 1, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2000 + "value": 2000, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1700 + "value": 1700, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -191,25 +243,44 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "value": 2200 + "value": 2200, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "value": 1600 + "value": 1600, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -222,21 +293,25 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe03", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff16", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff23", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -244,16 +319,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -266,11 +344,13 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -285,22 +365,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1875 + "value": 1875, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] } @@ -309,6 +398,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -323,22 +413,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -347,6 +446,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -361,69 +461,121 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -441,7 +593,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -459,7 +617,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -489,6 +653,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -597,22 +762,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 4, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "4:0x0406", - "unique_id": "ab:cd:ef:12:a2:e6:bb:a6:4:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:a2:e6:bb:a6", "endpoint_id": 4, "available": true, @@ -642,22 +791,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:a2:e6:bb:a6:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:e6:bb:a6", "endpoint_id": 1, "available": true, @@ -690,22 +823,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a2:e6:bb:a6:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a2:e6:bb:a6", "endpoint_id": 1, "available": true, @@ -769,22 +886,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a2:e6:bb:a6:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a2:e6:bb:a6", "endpoint_id": 1, "available": true, @@ -816,22 +917,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a2:e6:bb:a6:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a2:e6:bb:a6", "endpoint_id": 1, "available": true, @@ -865,22 +950,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:a2:e6:bb:a6:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:e6:bb:a6", "endpoint_id": 1, "available": true, @@ -917,22 +986,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a2:e6:bb:a6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:e6:bb:a6", "endpoint_id": 1, "available": true, @@ -961,22 +1014,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a2:e6:bb:a6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:e6:bb:a6", "endpoint_id": 1, "available": true, @@ -1005,22 +1042,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a2:e6:bb:a6:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a2:e6:bb:a6", "endpoint_id": 1, "available": true, @@ -1049,22 +1070,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a2:e6:bb:a6:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a2:e6:bb:a6", "endpoint_id": 1, "available": true, @@ -1093,22 +1098,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a2:e6:bb:a6:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a2:e6:bb:a6", "endpoint_id": 1, "available": true, @@ -1137,22 +1126,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 2, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "2:0x0402", - "unique_id": "ab:cd:ef:12:a2:e6:bb:a6:2:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:a2:e6:bb:a6", "endpoint_id": 2, "available": true, @@ -1181,22 +1154,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 5, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "5:0x0702", - "unique_id": "ab:cd:ef:12:a2:e6:bb:a6:5:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:a2:e6:bb:a6", "endpoint_id": 5, "available": true, @@ -1233,22 +1190,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 5, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "5:0x0702", - "unique_id": "ab:cd:ef:12:a2:e6:bb:a6:5:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:a2:e6:bb:a6", "endpoint_id": 5, "available": true, @@ -1287,22 +1228,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a2:e6:bb:a6:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:e6:bb:a6", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/schneider-electric-socket-outlet-1.json b/tests/data/devices/schneider-electric-socket-outlet-1.json index 922647e31..241d9e7b6 100644 --- a/tests/data/devices/schneider-electric-socket-outlet-1.json +++ b/tests/data/devices/schneider-electric-socket-outlet-1.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:81:8a:da:20", "nwk": "0x7C85", "manufacturer": "Schneider Electric", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,54 +106,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 10329 + "value": 10329, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -172,7 +232,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0.0 + "value": 0.0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -190,7 +256,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -209,29 +281,49 @@ { "cluster_id": "0x0708", "endpoint_attribute": "smartenergy_device_management", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -255,31 +347,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -303,19 +425,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -327,7 +575,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -351,13 +605,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -381,19 +647,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 225 + "value": 225, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -417,30 +701,50 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc04", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -448,6 +752,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -470,6 +775,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -540,22 +846,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 6, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "6:0x0003", - "unique_id": "ab:cd:ef:12:81:8a:da:20:6:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:8a:da:20", "endpoint_id": 6, "available": true, @@ -588,22 +878,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 6, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "6:0x0006", - "unique_id": "ab:cd:ef:12:81:8a:da:20:6:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:81:8a:da:20", "endpoint_id": 6, "available": true, @@ -639,22 +913,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 6, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "6:0x0000", - "unique_id": "ab:cd:ef:12:81:8a:da:20:6:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:8a:da:20", "endpoint_id": 6, "available": true, @@ -683,22 +941,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 6, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "6:0x0000", - "unique_id": "ab:cd:ef:12:81:8a:da:20:6:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:8a:da:20", "endpoint_id": 6, "available": true, @@ -727,22 +969,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 6, - "cluster": { - "id": 1794, - "name": "MeteringCluster", - "type": "server" - }, - "id": "6:0x0702", - "unique_id": "ab:cd:ef:12:81:8a:da:20:6:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:81:8a:da:20", "endpoint_id": 6, "available": true, @@ -779,22 +1005,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 6, - "cluster": { - "id": 1794, - "name": "MeteringCluster", - "type": "server" - }, - "id": "6:0x0702", - "unique_id": "ab:cd:ef:12:81:8a:da:20:6:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:81:8a:da:20", "endpoint_id": 6, "available": true, @@ -831,22 +1041,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 6, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "6:0x0b04", - "unique_id": "ab:cd:ef:12:81:8a:da:20:6:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:81:8a:da:20", "endpoint_id": 6, "available": true, @@ -880,22 +1074,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 6, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "6:0x0b04", - "unique_id": "ab:cd:ef:12:81:8a:da:20:6:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:81:8a:da:20", "endpoint_id": 6, "available": true, @@ -931,22 +1109,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 6, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "6:0x0006", - "unique_id": "ab:cd:ef:12:81:8a:da:20:6:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:81:8a:da:20", "endpoint_id": 6, "available": true, @@ -975,22 +1137,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 6, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "6:0x0019_client", - "unique_id": "ab:cd:ef:12:81:8a:da:20:6:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:8a:da:20", "endpoint_id": 6, "available": true, diff --git a/tests/data/devices/schneider-electric-socket-outlet-2.json b/tests/data/devices/schneider-electric-socket-outlet-2.json index 4976ab9a5..afcca6584 100644 --- a/tests/data/devices/schneider-electric-socket-outlet-2.json +++ b/tests/data/devices/schneider-electric-socket-outlet-2.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:bc:ec:d0:94", "nwk": "0x673E", "manufacturer": "Schneider Electric", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,54 +106,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 23 + "value": 23, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -172,7 +232,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0.0 + "value": 0.0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -190,7 +256,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -209,29 +281,49 @@ { "cluster_id": "0x0708", "endpoint_attribute": "smartenergy_device_management", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -255,31 +347,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -303,19 +425,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -327,7 +575,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -351,13 +605,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -381,19 +647,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 225 + "value": 225, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -417,30 +701,50 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc04", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -448,6 +752,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -470,6 +775,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -540,22 +846,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 6, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "6:0x0003", - "unique_id": "ab:cd:ef:12:bc:ec:d0:94:6:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bc:ec:d0:94", "endpoint_id": 6, "available": true, @@ -588,22 +878,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 6, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "6:0x0006", - "unique_id": "ab:cd:ef:12:bc:ec:d0:94:6:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:bc:ec:d0:94", "endpoint_id": 6, "available": true, @@ -639,22 +913,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 6, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "6:0x0000", - "unique_id": "ab:cd:ef:12:bc:ec:d0:94:6:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bc:ec:d0:94", "endpoint_id": 6, "available": true, @@ -683,22 +941,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 6, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "6:0x0000", - "unique_id": "ab:cd:ef:12:bc:ec:d0:94:6:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bc:ec:d0:94", "endpoint_id": 6, "available": true, @@ -727,22 +969,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 6, - "cluster": { - "id": 1794, - "name": "MeteringCluster", - "type": "server" - }, - "id": "6:0x0702", - "unique_id": "ab:cd:ef:12:bc:ec:d0:94:6:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:bc:ec:d0:94", "endpoint_id": 6, "available": true, @@ -779,22 +1005,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 6, - "cluster": { - "id": 1794, - "name": "MeteringCluster", - "type": "server" - }, - "id": "6:0x0702", - "unique_id": "ab:cd:ef:12:bc:ec:d0:94:6:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:bc:ec:d0:94", "endpoint_id": 6, "available": true, @@ -831,22 +1041,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 6, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "6:0x0b04", - "unique_id": "ab:cd:ef:12:bc:ec:d0:94:6:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:bc:ec:d0:94", "endpoint_id": 6, "available": true, @@ -880,22 +1074,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 6, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "6:0x0b04", - "unique_id": "ab:cd:ef:12:bc:ec:d0:94:6:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:bc:ec:d0:94", "endpoint_id": 6, "available": true, @@ -931,22 +1109,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 6, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "6:0x0006", - "unique_id": "ab:cd:ef:12:bc:ec:d0:94:6:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:bc:ec:d0:94", "endpoint_id": 6, "available": true, @@ -975,22 +1137,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 6, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "6:0x0019_client", - "unique_id": "ab:cd:ef:12:bc:ec:d0:94:6:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bc:ec:d0:94", "endpoint_id": 6, "available": true, diff --git a/tests/data/devices/securifi-ltd-unk-model.json b/tests/data/devices/securifi-ltd-unk-model.json index 01f4c6e8a..63af83a77 100644 --- a/tests/data/devices/securifi-ltd-unk-model.json +++ b/tests/data/devices/securifi-ltd-unk-model.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:0d:6f:00:05:49:ac:68", "nwk": "0xE51C", "manufacturer": "Securifi Ltd.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,34 +93,50 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -125,24 +149,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 39321 + "value": 39321, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 72 + "value": 72, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -166,31 +209,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 39321 + "value": 39321, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 10255 + "value": 10255, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 39321 + "value": 39321, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 180 + "value": 180, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -198,11 +271,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -214,7 +425,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -226,13 +443,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -240,23 +469,90 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 26866 + "value": 26866, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -264,46 +560,55 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -372,22 +677,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:0d:6f:00:05:49:ac:68:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:05:49:ac:68", "endpoint_id": 1, "available": true, @@ -420,22 +709,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:00:05:49:ac:68:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:05:49:ac:68", "endpoint_id": 1, "available": true, @@ -464,22 +737,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:00:05:49:ac:68:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:05:49:ac:68", "endpoint_id": 1, "available": true, @@ -508,22 +765,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "00:0d:6f:00:05:49:ac:68:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:0d:6f:00:05:49:ac:68", "endpoint_id": 1, "available": true, @@ -557,22 +798,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "00:0d:6f:00:05:49:ac:68:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:0d:6f:00:05:49:ac:68", "endpoint_id": 1, "available": true, @@ -606,22 +831,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "00:0d:6f:00:05:49:ac:68:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:0d:6f:00:05:49:ac:68", "endpoint_id": 1, "available": true, @@ -654,22 +863,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "00:0d:6f:00:05:49:ac:68:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:0d:6f:00:05:49:ac:68", "endpoint_id": 1, "available": true, @@ -703,22 +896,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "00:0d:6f:00:05:49:ac:68:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "00:0d:6f:00:05:49:ac:68", "endpoint_id": 1, "available": true, @@ -754,22 +931,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:0d:6f:00:05:49:ac:68:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:0d:6f:00:05:49:ac:68", "endpoint_id": 1, "available": true, @@ -798,22 +959,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:0d:6f:00:05:49:ac:68:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:05:49:ac:68", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sengled-e11-g13.json b/tests/data/devices/sengled-e11-g13.json index 2e9385eec..c3dc0f09e 100644 --- a/tests/data/devices/sengled-e11-g13.json +++ b/tests/data/devices/sengled-e11-g13.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "b0:ce:18:14:03:3a:9b:48", "nwk": "0xCAC7", "manufacturer": "sengled", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,12 +112,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -149,54 +167,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 369631 + "value": 369631, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -214,7 +281,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -232,7 +305,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -251,6 +330,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -258,6 +338,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -325,22 +406,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "b0:ce:18:14:03:3a:9b:48:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:3a:9b:48", "endpoint_id": 1, "available": true, @@ -373,36 +438,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "b0:ce:18:14:03:3a:9b:48:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b0:ce:18:14:03:3a:9b:48:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "b0:ce:18:14:03:3a:9b:48", "endpoint_id": 1, "available": true, @@ -456,22 +491,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b0:ce:18:14:03:3a:9b:48:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "b0:ce:18:14:03:3a:9b:48", "endpoint_id": 1, "available": true, @@ -505,22 +524,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b0:ce:18:14:03:3a:9b:48:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:3a:9b:48", "endpoint_id": 1, "available": true, @@ -549,22 +552,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b0:ce:18:14:03:3a:9b:48:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:3a:9b:48", "endpoint_id": 1, "available": true, @@ -593,22 +580,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "b0:ce:18:14:03:3a:9b:48:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "b0:ce:18:14:03:3a:9b:48", "endpoint_id": 1, "available": true, @@ -645,22 +616,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "b0:ce:18:14:03:3a:9b:48:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "b0:ce:18:14:03:3a:9b:48", "endpoint_id": 1, "available": true, @@ -699,22 +654,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "b0:ce:18:14:03:3a:9b:48:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:3a:9b:48", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sengled-e12-n14.json b/tests/data/devices/sengled-e12-n14.json index c5e5daf2b..a57473270 100644 --- a/tests/data/devices/sengled-e12-n14.json +++ b/tests/data/devices/sengled-e12-n14.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "b0:ce:18:14:03:09:c6:15", "nwk": "0xE369", "manufacturer": "sengled", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 255 + "value": 255, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,54 +161,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 26 + "value": 26, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -208,7 +275,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 85 + "value": 85, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -226,7 +299,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -245,6 +324,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -252,6 +332,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -319,22 +400,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "b0:ce:18:14:03:09:c6:15:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:09:c6:15", "endpoint_id": 1, "available": true, @@ -367,36 +432,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "b0:ce:18:14:03:09:c6:15:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b0:ce:18:14:03:09:c6:15:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "b0:ce:18:14:03:09:c6:15", "endpoint_id": 1, "available": true, @@ -450,22 +485,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b0:ce:18:14:03:09:c6:15:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "b0:ce:18:14:03:09:c6:15", "endpoint_id": 1, "available": true, @@ -499,22 +518,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b0:ce:18:14:03:09:c6:15:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:09:c6:15", "endpoint_id": 1, "available": true, @@ -543,22 +546,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b0:ce:18:14:03:09:c6:15:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:09:c6:15", "endpoint_id": 1, "available": true, @@ -587,22 +574,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "b0:ce:18:14:03:09:c6:15:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "b0:ce:18:14:03:09:c6:15", "endpoint_id": 1, "available": true, @@ -639,22 +610,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "b0:ce:18:14:03:09:c6:15:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "b0:ce:18:14:03:09:c6:15", "endpoint_id": 1, "available": true, @@ -693,22 +648,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "b0:ce:18:14:03:09:c6:15:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:09:c6:15", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sengled-e12-n1e.json b/tests/data/devices/sengled-e12-n1e.json index f1bd1ccd3..0aca9a9b7 100644 --- a/tests/data/devices/sengled-e12-n1e.json +++ b/tests/data/devices/sengled-e12-n1e.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "b0:ce:18:14:03:53:34:69", "nwk": "0x410C", "manufacturer": "sengled", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,7 +197,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 397 + "value": 397, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -196,13 +221,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 45940 + "value": 45940, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 19594 + "value": 19594, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -227,54 +264,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 541256 + "value": 541256, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -292,7 +378,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 87 + "value": 87, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -310,7 +402,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -329,21 +427,25 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc04", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc13", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -351,6 +453,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -422,22 +525,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "b0:ce:18:14:03:53:34:69:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:53:34:69", "endpoint_id": 1, "available": true, @@ -470,50 +557,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "b0:ce:18:14:03:53:34:69:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b0:ce:18:14:03:53:34:69:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "b0:ce:18:14:03:53:34:69:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "b0:ce:18:14:03:53:34:69", "endpoint_id": 1, "available": true, @@ -572,22 +615,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b0:ce:18:14:03:53:34:69:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:53:34:69", "endpoint_id": 1, "available": true, @@ -616,22 +643,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b0:ce:18:14:03:53:34:69:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:53:34:69", "endpoint_id": 1, "available": true, @@ -660,22 +671,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "b0:ce:18:14:03:53:34:69:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "b0:ce:18:14:03:53:34:69", "endpoint_id": 1, "available": true, @@ -712,22 +707,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "b0:ce:18:14:03:53:34:69:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "b0:ce:18:14:03:53:34:69", "endpoint_id": 1, "available": true, @@ -766,22 +745,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "b0:ce:18:14:03:53:34:69:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:53:34:69", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sengled-e1c-nb6.json b/tests/data/devices/sengled-e1c-nb6.json index 6e5b89fba..dc81b6e5b 100644 --- a/tests/data/devices/sengled-e1c-nb6.json +++ b/tests/data/devices/sengled-e1c-nb6.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "b0:ce:18:14:00:04:2d:f3", "nwk": "0x3C7D", "manufacturer": "sengled", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,6 +112,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -108,6 +120,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -166,22 +179,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "b0:ce:18:14:00:04:2d:f3:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:00:04:2d:f3", "endpoint_id": 1, "available": true, @@ -214,22 +211,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b0:ce:18:14:00:04:2d:f3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:00:04:2d:f3", "endpoint_id": 1, "available": true, @@ -258,22 +239,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b0:ce:18:14:00:04:2d:f3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:00:04:2d:f3", "endpoint_id": 1, "available": true, @@ -304,22 +269,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "b0:ce:18:14:00:04:2d:f3:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "b0:ce:18:14:00:04:2d:f3", "endpoint_id": 1, "available": true, @@ -348,22 +297,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "b0:ce:18:14:00:04:2d:f3:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:00:04:2d:f3", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sengled-e1c-nb7.json b/tests/data/devices/sengled-e1c-nb7.json index 907381730..9c4e82fa2 100644 --- a/tests/data/devices/sengled-e1c-nb7.json +++ b/tests/data/devices/sengled-e1c-nb7.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "b0:ce:18:14:03:6b:9a:ee", "nwk": "0xB27C", "manufacturer": "sengled", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,54 +106,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 134555 + "value": 134555, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -160,7 +220,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 18 + "value": 18, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -178,7 +244,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -197,21 +269,25 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc11", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -219,6 +295,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -288,22 +365,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "b0:ce:18:14:03:6b:9a:ee:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:6b:9a:ee", "endpoint_id": 1, "available": true, @@ -336,22 +397,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "b0:ce:18:14:03:6b:9a:ee:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "b0:ce:18:14:03:6b:9a:ee", "endpoint_id": 1, "available": true, @@ -387,22 +432,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b0:ce:18:14:03:6b:9a:ee:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:6b:9a:ee", "endpoint_id": 1, "available": true, @@ -431,22 +460,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b0:ce:18:14:03:6b:9a:ee:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:6b:9a:ee", "endpoint_id": 1, "available": true, @@ -475,22 +488,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "b0:ce:18:14:03:6b:9a:ee:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "b0:ce:18:14:03:6b:9a:ee", "endpoint_id": 1, "available": true, @@ -527,22 +524,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "b0:ce:18:14:03:6b:9a:ee:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "b0:ce:18:14:03:6b:9a:ee", "endpoint_id": 1, "available": true, @@ -581,22 +562,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "b0:ce:18:14:03:6b:9a:ee:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "b0:ce:18:14:03:6b:9a:ee", "endpoint_id": 1, "available": true, @@ -625,22 +590,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "b0:ce:18:14:03:6b:9a:ee:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:6b:9a:ee", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sengled-e1f-n9g.json b/tests/data/devices/sengled-e1f-n9g.json index 76770c10a..14fffdf06 100644 --- a/tests/data/devices/sengled-e1f-n9g.json +++ b/tests/data/devices/sengled-e1f-n9g.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "b0:ce:18:14:00:1c:86:48", "nwk": "0x50BF", "manufacturer": "sengled", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,54 +161,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 2962 + "value": 2962, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -208,7 +275,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 48 + "value": 48, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -226,7 +299,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -245,21 +324,25 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc11", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -267,6 +350,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -337,22 +421,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "b0:ce:18:14:00:1c:86:48:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:00:1c:86:48", "endpoint_id": 1, "available": true, @@ -385,36 +453,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "b0:ce:18:14:00:1c:86:48:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b0:ce:18:14:00:1c:86:48:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "b0:ce:18:14:00:1c:86:48", "endpoint_id": 1, "available": true, @@ -468,22 +506,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b0:ce:18:14:00:1c:86:48:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "b0:ce:18:14:00:1c:86:48", "endpoint_id": 1, "available": true, @@ -517,22 +539,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b0:ce:18:14:00:1c:86:48:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:00:1c:86:48", "endpoint_id": 1, "available": true, @@ -561,22 +567,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b0:ce:18:14:00:1c:86:48:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:00:1c:86:48", "endpoint_id": 1, "available": true, @@ -605,22 +595,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "b0:ce:18:14:00:1c:86:48:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "b0:ce:18:14:00:1c:86:48", "endpoint_id": 1, "available": true, @@ -657,22 +631,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "b0:ce:18:14:00:1c:86:48:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "b0:ce:18:14:00:1c:86:48", "endpoint_id": 1, "available": true, @@ -711,22 +669,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "b0:ce:18:14:00:1c:86:48:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:00:1c:86:48", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sengled-e1g-g8e.json b/tests/data/devices/sengled-e1g-g8e.json index 0c0e496eb..feb52f367 100755 --- a/tests/data/devices/sengled-e1g-g8e.json +++ b/tests/data/devices/sengled-e1g-g8e.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "b0:ce:18:14:03:63:f2:6a", "nwk": "0xF1CD", "manufacturer": "sengled", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 26 + "value": 26, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,7 +197,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 232 + "value": 232, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -196,13 +221,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 24939 + "value": 24939, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 24701 + "value": 24701, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -227,54 +264,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 1413 + "value": 1413, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -292,7 +378,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 2 + "value": 2, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -310,7 +402,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -329,26 +427,31 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc04", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc13", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc14", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -356,6 +459,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -428,22 +532,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "b0:ce:18:14:03:63:f2:6a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:63:f2:6a", "endpoint_id": 1, "available": true, @@ -476,50 +564,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "b0:ce:18:14:03:63:f2:6a:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b0:ce:18:14:03:63:f2:6a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "b0:ce:18:14:03:63:f2:6a:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "b0:ce:18:14:03:63:f2:6a", "endpoint_id": 1, "available": true, @@ -578,22 +622,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b0:ce:18:14:03:63:f2:6a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:63:f2:6a", "endpoint_id": 1, "available": true, @@ -622,22 +650,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b0:ce:18:14:03:63:f2:6a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:63:f2:6a", "endpoint_id": 1, "available": true, @@ -666,22 +678,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "b0:ce:18:14:03:63:f2:6a:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "b0:ce:18:14:03:63:f2:6a", "endpoint_id": 1, "available": true, @@ -718,22 +714,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "b0:ce:18:14:03:63:f2:6a:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "b0:ce:18:14:03:63:f2:6a", "endpoint_id": 1, "available": true, @@ -772,22 +752,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "b0:ce:18:14:03:63:f2:6a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:63:f2:6a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sengled-e21-n1ea.json b/tests/data/devices/sengled-e21-n1ea.json index 8f1921380..b1f4cdae9 100644 --- a/tests/data/devices/sengled-e21-n1ea.json +++ b/tests/data/devices/sengled-e21-n1ea.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "b0:ce:18:14:00:18:57:68", "nwk": "0x4FEB", "manufacturer": "sengled", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 86 + "value": 86, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,7 +197,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500 + "value": 500, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -196,13 +221,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 13631 + "value": 13631, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 14221 + "value": 14221, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -227,54 +264,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 5788 + "value": 5788, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -292,7 +378,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 2 + "value": 2, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -310,7 +402,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -329,26 +427,31 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc04", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc11", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc13", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -356,6 +459,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -428,22 +532,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "b0:ce:18:14:00:18:57:68:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:00:18:57:68", "endpoint_id": 1, "available": true, @@ -476,50 +564,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "b0:ce:18:14:00:18:57:68:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b0:ce:18:14:00:18:57:68:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "b0:ce:18:14:00:18:57:68:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "b0:ce:18:14:00:18:57:68", "endpoint_id": 1, "available": true, @@ -578,22 +622,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "b0:ce:18:14:00:18:57:68:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "b0:ce:18:14:00:18:57:68", "endpoint_id": 1, "available": true, @@ -625,22 +653,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b0:ce:18:14:00:18:57:68:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "b0:ce:18:14:00:18:57:68", "endpoint_id": 1, "available": true, @@ -672,22 +684,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b0:ce:18:14:00:18:57:68:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "b0:ce:18:14:00:18:57:68", "endpoint_id": 1, "available": true, @@ -721,22 +717,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b0:ce:18:14:00:18:57:68:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:00:18:57:68", "endpoint_id": 1, "available": true, @@ -765,22 +745,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b0:ce:18:14:00:18:57:68:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:00:18:57:68", "endpoint_id": 1, "available": true, @@ -809,22 +773,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "b0:ce:18:14:00:18:57:68:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "b0:ce:18:14:00:18:57:68", "endpoint_id": 1, "available": true, @@ -861,22 +809,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "b0:ce:18:14:00:18:57:68:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "b0:ce:18:14:00:18:57:68", "endpoint_id": 1, "available": true, @@ -915,22 +847,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "b0:ce:18:14:00:18:57:68:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:00:18:57:68", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sengled-z01-a19nae26.json b/tests/data/devices/sengled-z01-a19nae26.json index 39c38c4ed..aa3e21961 100644 --- a/tests/data/devices/sengled-z01-a19nae26.json +++ b/tests/data/devices/sengled-z01-a19nae26.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "b0:ce:18:14:03:01:1d:28", "nwk": "0x2D0E", "manufacturer": "sengled", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 252 + "value": 252, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,7 +197,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 370 + "value": 370, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -196,13 +221,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 24939 + "value": 24939, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 24701 + "value": 24701, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -227,54 +264,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 996 + "value": 996, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -292,7 +378,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 99 + "value": 99, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -310,7 +402,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -329,6 +427,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -336,6 +435,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -404,22 +504,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "b0:ce:18:14:03:01:1d:28:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:01:1d:28", "endpoint_id": 1, "available": true, @@ -452,50 +536,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "b0:ce:18:14:03:01:1d:28:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b0:ce:18:14:03:01:1d:28:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "b0:ce:18:14:03:01:1d:28:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "b0:ce:18:14:03:01:1d:28", "endpoint_id": 1, "available": true, @@ -550,22 +590,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b0:ce:18:14:03:01:1d:28:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "b0:ce:18:14:03:01:1d:28", "endpoint_id": 1, "available": true, @@ -599,22 +623,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b0:ce:18:14:03:01:1d:28:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:01:1d:28", "endpoint_id": 1, "available": true, @@ -643,22 +651,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b0:ce:18:14:03:01:1d:28:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:01:1d:28", "endpoint_id": 1, "available": true, @@ -687,22 +679,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "b0:ce:18:14:03:01:1d:28:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "b0:ce:18:14:03:01:1d:28", "endpoint_id": 1, "available": true, @@ -739,22 +715,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "b0:ce:18:14:03:01:1d:28:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "b0:ce:18:14:03:01:1d:28", "endpoint_id": 1, "available": true, @@ -793,22 +753,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "b0:ce:18:14:03:01:1d:28:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b0:ce:18:14:03:01:1d:28", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sercomm-corp-sz-esw01-au.json b/tests/data/devices/sercomm-corp-sz-esw01-au.json index f7d0fdeb2..4f905f09c 100644 --- a/tests/data/devices/sercomm-corp-sz-esw01-au.json +++ b/tests/data/devices/sercomm-corp-sz-esw01-au.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:42:61:67:6a", "nwk": "0x88CB", "manufacturer": "Sercomm Corp.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,34 +93,50 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -125,6 +149,7 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0019", @@ -142,43 +167,97 @@ "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 20571987 + "value": 20571987, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -214,7 +293,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 286 + "value": 286, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0308", @@ -244,7 +329,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -263,24 +354,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 50 + "value": 50, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -304,31 +414,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 128 + "value": 128, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 8 + "value": 8, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 2 + "value": 2, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -336,11 +476,149 @@ "zcl_type": "int16", "value": -32768 }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -352,7 +630,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "value": 32 + "value": 32, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -376,13 +660,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "value": 3600 + "value": 3600, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 79 + "value": 79, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -390,23 +686,90 @@ "zcl_type": "uint16", "value": 32768 }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 29503 + "value": 29503, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "value": 65535 + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -414,21 +777,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -443,17 +810,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -471,13 +846,20 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -485,11 +867,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] } ] @@ -567,22 +951,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:42:61:67:6a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:42:61:67:6a", "endpoint_id": 1, "available": true, @@ -615,22 +983,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:42:61:67:6a:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:42:61:67:6a", "endpoint_id": 1, "available": true, @@ -683,22 +1035,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:42:61:67:6a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:42:61:67:6a", "endpoint_id": 1, "available": true, @@ -727,22 +1063,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:42:61:67:6a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:42:61:67:6a", "endpoint_id": 1, "available": true, @@ -771,22 +1091,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:42:61:67:6a:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:42:61:67:6a", "endpoint_id": 1, "available": true, @@ -823,22 +1127,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:42:61:67:6a:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:42:61:67:6a", "endpoint_id": 1, "available": true, @@ -875,22 +1163,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:42:61:67:6a:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:42:61:67:6a", "endpoint_id": 1, "available": true, @@ -925,22 +1197,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:42:61:67:6a:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:42:61:67:6a", "endpoint_id": 1, "available": true, @@ -974,22 +1230,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:42:61:67:6a:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:42:61:67:6a", "endpoint_id": 1, "available": true, @@ -1022,22 +1262,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:42:61:67:6a:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:42:61:67:6a", "endpoint_id": 1, "available": true, @@ -1072,22 +1296,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:42:61:67:6a:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:42:61:67:6a", "endpoint_id": 1, "available": true, @@ -1124,22 +1332,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:42:61:67:6a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:42:61:67:6a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/shelly-1pm.json b/tests/data/devices/shelly-1pm.json index 4930d2675..d04b709a7 100644 --- a/tests/data/devices/shelly-1pm.json +++ b/tests/data/devices/shelly-1pm.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e7:d6:bf:0a", "nwk": "0xE0AE", "manufacturer": "Shelly", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -74,6 +75,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -98,22 +100,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -126,54 +137,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 1443000 + "value": 1443000, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -191,7 +251,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -209,7 +275,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -228,24 +300,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6002 + "value": 6002, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -269,31 +360,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -317,73 +438,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0103", "name": "dc_current", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0203", "name": "dc_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0202", "name": "dc_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "dc_power", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0205", "name": "dc_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0204", "name": "dc_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "dc_voltage", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0201", "name": "dc_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0200", "name": "dc_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -395,7 +588,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -419,13 +618,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -449,19 +660,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12282 + "value": 12282, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -485,19 +714,37 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -514,11 +761,13 @@ { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -535,6 +784,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -609,22 +859,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:e7:d6:bf:0a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:d6:bf:0a", "endpoint_id": 1, "available": true, @@ -657,22 +891,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e7:d6:bf:0a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:d6:bf:0a", "endpoint_id": 1, "available": true, @@ -701,22 +919,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e7:d6:bf:0a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:d6:bf:0a", "endpoint_id": 1, "available": true, @@ -745,22 +947,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:e7:d6:bf:0a:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:e7:d6:bf:0a", "endpoint_id": 1, "available": true, @@ -797,22 +983,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:e7:d6:bf:0a:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:e7:d6:bf:0a", "endpoint_id": 1, "available": true, @@ -849,22 +1019,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:e7:d6:bf:0a:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:e7:d6:bf:0a", "endpoint_id": 1, "available": true, @@ -898,22 +1052,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:e7:d6:bf:0a:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:e7:d6:bf:0a", "endpoint_id": 1, "available": true, @@ -947,22 +1085,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:e7:d6:bf:0a:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:e7:d6:bf:0a", "endpoint_id": 1, "available": true, @@ -996,22 +1118,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:e7:d6:bf:0a:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:e7:d6:bf:0a", "endpoint_id": 1, "available": true, @@ -1047,22 +1153,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:e7:d6:bf:0a:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e7:d6:bf:0a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/shelly-2pm.json b/tests/data/devices/shelly-2pm.json index 882850b8f..a4788ee76 100644 --- a/tests/data/devices/shelly-2pm.json +++ b/tests/data/devices/shelly-2pm.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:9c:bd:cb:14", "nwk": "0xB908", "manufacturer": "Shelly", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -100,13 +105,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 50 + "value": 50, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -165,11 +182,13 @@ { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -186,6 +205,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -258,22 +278,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:9c:bd:cb:14:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9c:bd:cb:14", "endpoint_id": 1, "available": true, @@ -306,22 +310,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:9c:bd:cb:14:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:9c:bd:cb:14", "endpoint_id": 1, "available": true, @@ -356,22 +344,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:9c:bd:cb:14:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9c:bd:cb:14", "endpoint_id": 1, "available": true, @@ -400,22 +372,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:9c:bd:cb:14:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9c:bd:cb:14", "endpoint_id": 1, "available": true, @@ -444,22 +400,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:9c:bd:cb:14:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:9c:bd:cb:14", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/shelly-ecowitt-ws90.json b/tests/data/devices/shelly-ecowitt-ws90.json index a42a483ee..b8b05f100 100644 --- a/tests/data/devices/shelly-ecowitt-ws90.json +++ b/tests/data/devices/shelly-ecowitt-ws90.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a6:a9:96:8e", "nwk": "0x2695", "manufacturer": "Shelly", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,83 +93,197 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 32 + "value": 32, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2000 + "value": 2000, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0403", "endpoint_attribute": "pressure", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 990 + "value": 990, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 6000 + "value": 6000, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfc01", "endpoint_attribute": "shelly_wind_cluster", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0007", + "name": "gust_speed", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 10, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0004", + "name": "wind_direction", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 10, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0000", + "name": "wind_speed", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 10, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0xfc02", "endpoint_attribute": "shelly_uv_cluster", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "uv_index", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 10, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0xfc03", "endpoint_attribute": "shelly_rain_cluster", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0001", + "name": "precipitation", + "zcl_type": "uint24", + "unsupported": false, + "reporting": { + "min": 10, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0000", + "name": "rain_status", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 10, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -224,22 +346,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfc03", - "endpoint_id": 1, - "cluster": { - "id": 64515, - "name": "Shelly Rain Cluster", - "type": "server" - }, - "id": "1:0xfc03", - "unique_id": "ab:cd:ef:12:a6:a9:96:8e:1:0xfc03", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a6:a9:96:8e", "endpoint_id": 1, "available": true, @@ -269,22 +375,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:a6:a9:96:8e:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a6:a9:96:8e", "endpoint_id": 1, "available": true, @@ -317,22 +407,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a6:a9:96:8e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a6:a9:96:8e", "endpoint_id": 1, "available": true, @@ -361,22 +435,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a6:a9:96:8e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a6:a9:96:8e", "endpoint_id": 1, "available": true, @@ -405,22 +463,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:a6:a9:96:8e:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:a6:a9:96:8e", "endpoint_id": 1, "available": true, @@ -455,22 +497,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:a6:a9:96:8e:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:a6:a9:96:8e", "endpoint_id": 1, "available": true, @@ -499,22 +525,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:a6:a9:96:8e:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:a6:a9:96:8e", "endpoint_id": 1, "available": true, @@ -543,22 +553,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PressureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0403", - "endpoint_id": 1, - "cluster": { - "id": 1027, - "name": "Pressure Measurement", - "type": "server" - }, - "id": "1:0x0403", - "unique_id": "ab:cd:ef:12:a6:a9:96:8e:1:0x0403", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:a6:a9:96:8e", "endpoint_id": 1, "available": true, @@ -587,22 +581,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:a6:a9:96:8e:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:a6:a9:96:8e", "endpoint_id": 1, "available": true, @@ -631,22 +609,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfc01", - "endpoint_id": 1, - "cluster": { - "id": 64513, - "name": "Shelly Wind Cluster", - "type": "server" - }, - "id": "1:0xfc01", - "unique_id": "ab:cd:ef:12:a6:a9:96:8e:1:0xfc01", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a6:a9:96:8e", "endpoint_id": 1, "available": true, @@ -675,22 +637,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfc03", - "endpoint_id": 1, - "cluster": { - "id": 64515, - "name": "Shelly Rain Cluster", - "type": "server" - }, - "id": "1:0xfc03", - "unique_id": "ab:cd:ef:12:a6:a9:96:8e:1:0xfc03", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a6:a9:96:8e", "endpoint_id": 1, "available": true, @@ -719,22 +665,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfc02", - "endpoint_id": 1, - "cluster": { - "id": 64514, - "name": "Shelly UV Cluster", - "type": "server" - }, - "id": "1:0xfc02", - "unique_id": "ab:cd:ef:12:a6:a9:96:8e:1:0xfc02", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a6:a9:96:8e", "endpoint_id": 1, "available": true, @@ -763,22 +693,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfc01", - "endpoint_id": 1, - "cluster": { - "id": 64513, - "name": "Shelly Wind Cluster", - "type": "server" - }, - "id": "1:0xfc01", - "unique_id": "ab:cd:ef:12:a6:a9:96:8e:1:0xfc01", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a6:a9:96:8e", "endpoint_id": 1, "available": true, @@ -807,22 +721,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfc01", - "endpoint_id": 1, - "cluster": { - "id": 64513, - "name": "Shelly Wind Cluster", - "type": "server" - }, - "id": "1:0xfc01", - "unique_id": "ab:cd:ef:12:a6:a9:96:8e:1:0xfc01", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a6:a9:96:8e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/shelly-mini1pm.json b/tests/data/devices/shelly-mini1pm.json index 4723d4dc9..e3179ce33 100644 --- a/tests/data/devices/shelly-mini1pm.json +++ b/tests/data/devices/shelly-mini1pm.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:6a:0d:2c:ef", "nwk": "0x04B4", "manufacturer": "Shelly", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,54 +106,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 970439 + "value": 970439, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -160,7 +220,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -178,7 +244,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -197,24 +269,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 4996 + "value": 4996, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -238,31 +329,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 220 + "value": 220, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -286,19 +407,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -310,7 +557,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -334,13 +587,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -364,19 +629,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 23095 + "value": 23095, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -400,13 +683,37 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -423,11 +730,13 @@ { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -444,6 +753,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -518,22 +828,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:6a:0d:2c:ef:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6a:0d:2c:ef", "endpoint_id": 1, "available": true, @@ -566,22 +860,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6a:0d:2c:ef:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6a:0d:2c:ef", "endpoint_id": 1, "available": true, @@ -610,22 +888,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6a:0d:2c:ef:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6a:0d:2c:ef", "endpoint_id": 1, "available": true, @@ -654,22 +916,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:6a:0d:2c:ef:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:6a:0d:2c:ef", "endpoint_id": 1, "available": true, @@ -706,22 +952,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:6a:0d:2c:ef:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:6a:0d:2c:ef", "endpoint_id": 1, "available": true, @@ -758,22 +988,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:6a:0d:2c:ef:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:6a:0d:2c:ef", "endpoint_id": 1, "available": true, @@ -807,22 +1021,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:6a:0d:2c:ef:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:6a:0d:2c:ef", "endpoint_id": 1, "available": true, @@ -856,22 +1054,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:6a:0d:2c:ef:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:6a:0d:2c:ef", "endpoint_id": 1, "available": true, @@ -905,22 +1087,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:6a:0d:2c:ef:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:6a:0d:2c:ef", "endpoint_id": 1, "available": true, @@ -956,22 +1122,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:6a:0d:2c:ef:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:6a:0d:2c:ef", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/shyugj-dimmer-switch-zb3-0.json b/tests/data/devices/shyugj-dimmer-switch-zb3-0.json index a31af0025..8198d81e2 100644 --- a/tests/data/devices/shyugj-dimmer-switch-zb3-0.json +++ b/tests/data/devices/shyugj-dimmer-switch-zb3-0.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:43:59:bd:59", "nwk": "0xA3E8", "manufacturer": "Shyugj", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,21 +69,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -106,7 +111,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -131,12 +142,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 246 + "value": 246, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -179,11 +197,13 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -191,6 +211,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -213,6 +234,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -281,22 +303,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:43:59:bd:59:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:43:59:bd:59", "endpoint_id": 1, "available": true, @@ -329,36 +335,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:43:59:bd:59:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:43:59:bd:59:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:43:59:bd:59", "endpoint_id": 1, "available": true, @@ -412,22 +388,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:43:59:bd:59:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:43:59:bd:59", "endpoint_id": 1, "available": true, @@ -461,22 +421,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:43:59:bd:59:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:43:59:bd:59", "endpoint_id": 1, "available": true, @@ -505,22 +449,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:43:59:bd:59:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:43:59:bd:59", "endpoint_id": 1, "available": true, @@ -551,22 +479,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:43:59:bd:59:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:43:59:bd:59", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/signify-netherlands-b-v-lca001.json b/tests/data/devices/signify-netherlands-b-v-lca001.json index 5872e4c91..1629aefc8 100644 --- a/tests/data/devices/signify-netherlands-b-v-lca001.json +++ b/tests/data/devices/signify-netherlands-b-v-lca001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:7d:0f:71:cd", "nwk": "0x6E98", "manufacturer": "Signify Netherlands B.V.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,16 +69,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -90,12 +94,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -108,12 +119,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -156,6 +174,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -197,7 +216,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 230 + "value": 230, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -215,13 +240,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 24187 + "value": 24187, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 24371 + "value": 24371, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -246,21 +283,25 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc04", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -268,6 +309,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -296,6 +338,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -367,22 +410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "ab:cd:ef:12:7d:0f:71:cd:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7d:0f:71:cd", "endpoint_id": 11, "available": true, @@ -415,50 +442,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:7d:0f:71:cd:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:7d:0f:71:cd:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "ab:cd:ef:12:7d:0f:71:cd:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:7d:0f:71:cd", "endpoint_id": 11, "available": true, @@ -519,22 +502,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "ab:cd:ef:12:7d:0f:71:cd:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:7d:0f:71:cd", "endpoint_id": 11, "available": true, @@ -566,22 +533,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:7d:0f:71:cd:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:7d:0f:71:cd", "endpoint_id": 11, "available": true, @@ -615,22 +566,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:7d:0f:71:cd:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:7d:0f:71:cd", "endpoint_id": 11, "available": true, @@ -666,22 +601,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:7d:0f:71:cd:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7d:0f:71:cd", "endpoint_id": 11, "available": true, @@ -710,22 +629,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:7d:0f:71:cd:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7d:0f:71:cd", "endpoint_id": 11, "available": true, @@ -756,22 +659,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "ab:cd:ef:12:7d:0f:71:cd:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7d:0f:71:cd", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/signify-netherlands-b-v-lca005.json b/tests/data/devices/signify-netherlands-b-v-lca005.json index 18b37eef4..4076b6a26 100644 --- a/tests/data/devices/signify-netherlands-b-v-lca005.json +++ b/tests/data/devices/signify-netherlands-b-v-lca005.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:17:88:01:0b:6d:bc:5c", "nwk": "0x8F2B", "manufacturer": "Signify Netherlands B.V.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -74,27 +75,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -107,12 +118,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -155,6 +173,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -190,7 +209,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 239 + "value": 239, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -208,13 +233,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 24422 + "value": 24422, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 24527 + "value": 24527, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -239,16 +276,19 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -256,6 +296,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -278,6 +319,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -348,22 +390,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "00:17:88:01:0b:6d:bc:5c:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0b:6d:bc:5c", "endpoint_id": 11, "available": true, @@ -396,50 +422,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:0b:6d:bc:5c:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:0b:6d:bc:5c:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:17:88:01:0b:6d:bc:5c:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:17:88:01:0b:6d:bc:5c", "endpoint_id": 11, "available": true, @@ -500,22 +482,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:17:88:01:0b:6d:bc:5c:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:17:88:01:0b:6d:bc:5c", "endpoint_id": 11, "available": true, @@ -547,22 +513,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:0b:6d:bc:5c:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:17:88:01:0b:6d:bc:5c", "endpoint_id": 11, "available": true, @@ -596,22 +546,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:0b:6d:bc:5c:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:17:88:01:0b:6d:bc:5c", "endpoint_id": 11, "available": true, @@ -647,22 +581,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:0b:6d:bc:5c:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0b:6d:bc:5c", "endpoint_id": 11, "available": true, @@ -691,22 +609,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:0b:6d:bc:5c:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0b:6d:bc:5c", "endpoint_id": 11, "available": true, @@ -737,22 +639,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "00:17:88:01:0b:6d:bc:5c:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0b:6d:bc:5c", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/signify-netherlands-b-v-lca007.json b/tests/data/devices/signify-netherlands-b-v-lca007.json index 44894461a..4b368d37d 100644 --- a/tests/data/devices/signify-netherlands-b-v-lca007.json +++ b/tests/data/devices/signify-netherlands-b-v-lca007.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:17:88:01:0c:6e:be:18", "nwk": "0xF148", "manufacturer": "Signify Netherlands B.V.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,7 +197,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 366 + "value": 366, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -196,13 +221,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 29967 + "value": 29967, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26869 + "value": 26869, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -227,16 +264,19 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -244,6 +284,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -266,6 +307,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -336,22 +378,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "00:17:88:01:0c:6e:be:18:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:6e:be:18", "endpoint_id": 11, "available": true, @@ -384,50 +410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:0c:6e:be:18:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:0c:6e:be:18:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:17:88:01:0c:6e:be:18:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:17:88:01:0c:6e:be:18", "endpoint_id": 11, "available": true, @@ -488,22 +470,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:17:88:01:0c:6e:be:18:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:17:88:01:0c:6e:be:18", "endpoint_id": 11, "available": true, @@ -535,22 +501,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:0c:6e:be:18:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:17:88:01:0c:6e:be:18", "endpoint_id": 11, "available": true, @@ -584,22 +534,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:0c:6e:be:18:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:17:88:01:0c:6e:be:18", "endpoint_id": 11, "available": true, @@ -635,22 +569,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:0c:6e:be:18:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:6e:be:18", "endpoint_id": 11, "available": true, @@ -679,22 +597,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:0c:6e:be:18:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:6e:be:18", "endpoint_id": 11, "available": true, @@ -725,22 +627,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "00:17:88:01:0c:6e:be:18:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:6e:be:18", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/signify-netherlands-b-v-lcb001.json b/tests/data/devices/signify-netherlands-b-v-lcb001.json index b47b15055..8d172e7ce 100644 --- a/tests/data/devices/signify-netherlands-b-v-lcb001.json +++ b/tests/data/devices/signify-netherlands-b-v-lcb001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:17:88:01:06:0b:87:56", "nwk": "0x3940", "manufacturer": "Signify Netherlands B.V.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -86,11 +87,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -103,17 +106,25 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -126,12 +137,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 1 + "value": 1, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -180,6 +198,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -215,7 +234,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 312 + "value": 312, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -233,13 +258,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 27745 + "value": 27745, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26184 + "value": 26184, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -264,16 +301,19 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -281,6 +321,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -303,6 +344,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -373,22 +415,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "00:17:88:01:06:0b:87:56:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:06:0b:87:56", "endpoint_id": 11, "available": true, @@ -421,50 +447,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:06:0b:87:56:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:06:0b:87:56:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:17:88:01:06:0b:87:56:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:17:88:01:06:0b:87:56", "endpoint_id": 11, "available": true, @@ -525,22 +507,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:17:88:01:06:0b:87:56:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:17:88:01:06:0b:87:56", "endpoint_id": 11, "available": true, @@ -572,22 +538,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:06:0b:87:56:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:17:88:01:06:0b:87:56", "endpoint_id": 11, "available": true, @@ -621,22 +571,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:06:0b:87:56:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:17:88:01:06:0b:87:56", "endpoint_id": 11, "available": true, @@ -672,22 +606,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:06:0b:87:56:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:06:0b:87:56", "endpoint_id": 11, "available": true, @@ -716,22 +634,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:06:0b:87:56:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:06:0b:87:56", "endpoint_id": 11, "available": true, @@ -762,22 +664,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "00:17:88:01:06:0b:87:56:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:06:0b:87:56", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/signify-netherlands-b-v-lcb002.json b/tests/data/devices/signify-netherlands-b-v-lcb002.json index 5e56f542c..61d3096a0 100755 --- a/tests/data/devices/signify-netherlands-b-v-lcb002.json +++ b/tests/data/devices/signify-netherlands-b-v-lcb002.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:17:88:01:0d:01:9c:a3", "nwk": "0x9F48", "manufacturer": "Signify Netherlands B.V.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,7 +197,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 200 + "value": 200, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -196,13 +221,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 22642 + "value": 22642, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 23318 + "value": 23318, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -227,16 +264,19 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -244,6 +284,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -266,6 +307,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -336,22 +378,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "00:17:88:01:0d:01:9c:a3:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0d:01:9c:a3", "endpoint_id": 11, "available": true, @@ -384,50 +410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:0d:01:9c:a3:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:0d:01:9c:a3:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:17:88:01:0d:01:9c:a3:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:17:88:01:0d:01:9c:a3", "endpoint_id": 11, "available": true, @@ -488,22 +470,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:17:88:01:0d:01:9c:a3:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:17:88:01:0d:01:9c:a3", "endpoint_id": 11, "available": true, @@ -535,22 +501,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:0d:01:9c:a3:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:17:88:01:0d:01:9c:a3", "endpoint_id": 11, "available": true, @@ -584,22 +534,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:0d:01:9c:a3:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:17:88:01:0d:01:9c:a3", "endpoint_id": 11, "available": true, @@ -635,22 +569,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:0d:01:9c:a3:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0d:01:9c:a3", "endpoint_id": 11, "available": true, @@ -679,22 +597,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:0d:01:9c:a3:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0d:01:9c:a3", "endpoint_id": 11, "available": true, @@ -725,22 +627,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "00:17:88:01:0d:01:9c:a3:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0d:01:9c:a3", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/signify-netherlands-b-v-lce001.json b/tests/data/devices/signify-netherlands-b-v-lce001.json index 952a2d2fd..72511fc42 100644 --- a/tests/data/devices/signify-netherlands-b-v-lce001.json +++ b/tests/data/devices/signify-netherlands-b-v-lce001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:17:88:01:0d:5b:93:1a", "nwk": "0xAA8F", "manufacturer": "Signify Netherlands B.V.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,7 +197,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 352 + "value": 352, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -196,13 +221,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 29405 + "value": 29405, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26723 + "value": 26723, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -221,21 +258,25 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc04", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -243,6 +284,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -265,6 +307,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -336,22 +379,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "00:17:88:01:0d:5b:93:1a:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0d:5b:93:1a", "endpoint_id": 11, "available": true, @@ -384,50 +411,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:0d:5b:93:1a:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:0d:5b:93:1a:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:17:88:01:0d:5b:93:1a:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:17:88:01:0d:5b:93:1a", "endpoint_id": 11, "available": true, @@ -488,22 +471,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:17:88:01:0d:5b:93:1a:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:17:88:01:0d:5b:93:1a", "endpoint_id": 11, "available": true, @@ -535,22 +502,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:0d:5b:93:1a:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:17:88:01:0d:5b:93:1a", "endpoint_id": 11, "available": true, @@ -584,22 +535,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:0d:5b:93:1a:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:17:88:01:0d:5b:93:1a", "endpoint_id": 11, "available": true, @@ -635,22 +570,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:0d:5b:93:1a:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0d:5b:93:1a", "endpoint_id": 11, "available": true, @@ -679,22 +598,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:0d:5b:93:1a:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0d:5b:93:1a", "endpoint_id": 11, "available": true, @@ -725,22 +628,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "00:17:88:01:0d:5b:93:1a:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0d:5b:93:1a", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/signify-netherlands-b-v-lcx004.json b/tests/data/devices/signify-netherlands-b-v-lcx004.json index efe82b55c..4b3214240 100644 --- a/tests/data/devices/signify-netherlands-b-v-lcx004.json +++ b/tests/data/devices/signify-netherlands-b-v-lcx004.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:16:33:04:fc", "nwk": "0xAD32", "manufacturer": "Signify Netherlands B.V.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 74 + "value": 74, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,7 +197,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500 + "value": 500, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -196,13 +221,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 34516 + "value": 34516, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 27086 + "value": 27086, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -221,16 +258,19 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "philips_hue_light_cluster", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -238,6 +278,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -260,6 +301,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -330,22 +372,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "ab:cd:ef:12:16:33:04:fc:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:16:33:04:fc", "endpoint_id": 11, "available": true, @@ -378,50 +404,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:16:33:04:fc:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:16:33:04:fc:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "ab:cd:ef:12:16:33:04:fc:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:16:33:04:fc", "endpoint_id": 11, "available": true, @@ -482,22 +464,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "ab:cd:ef:12:16:33:04:fc:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:16:33:04:fc", "endpoint_id": 11, "available": true, @@ -529,22 +495,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:16:33:04:fc:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:16:33:04:fc", "endpoint_id": 11, "available": true, @@ -578,22 +528,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:16:33:04:fc:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:16:33:04:fc", "endpoint_id": 11, "available": true, @@ -629,22 +563,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:16:33:04:fc:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:16:33:04:fc", "endpoint_id": 11, "available": true, @@ -673,22 +591,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:16:33:04:fc:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:16:33:04:fc", "endpoint_id": 11, "available": true, @@ -719,22 +621,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "ab:cd:ef:12:16:33:04:fc:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:16:33:04:fc", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/signify-netherlands-b-v-lta010.json b/tests/data/devices/signify-netherlands-b-v-lta010.json index 77c7a199e..e73166e57 100644 --- a/tests/data/devices/signify-netherlands-b-v-lta010.json +++ b/tests/data/devices/signify-netherlands-b-v-lta010.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:17:88:01:0c:e2:78:72", "nwk": "0x6C10", "manufacturer": "Signify Netherlands B.V.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 1 + "value": 1, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,7 +197,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 366 + "value": 366, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -196,13 +221,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 29967 + "value": 29967, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26869 + "value": 26869, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -227,11 +264,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -239,6 +278,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -261,6 +301,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -330,22 +371,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "00:17:88:01:0c:e2:78:72:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:e2:78:72", "endpoint_id": 11, "available": true, @@ -378,50 +403,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:0c:e2:78:72:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:0c:e2:78:72:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:17:88:01:0c:e2:78:72:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:17:88:01:0c:e2:78:72", "endpoint_id": 11, "available": true, @@ -476,22 +457,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:17:88:01:0c:e2:78:72:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:17:88:01:0c:e2:78:72", "endpoint_id": 11, "available": true, @@ -523,22 +488,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:0c:e2:78:72:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:17:88:01:0c:e2:78:72", "endpoint_id": 11, "available": true, @@ -572,22 +521,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:0c:e2:78:72:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:17:88:01:0c:e2:78:72", "endpoint_id": 11, "available": true, @@ -623,22 +556,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:0c:e2:78:72:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:e2:78:72", "endpoint_id": 11, "available": true, @@ -667,22 +584,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:0c:e2:78:72:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:e2:78:72", "endpoint_id": 11, "available": true, @@ -713,22 +614,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "00:17:88:01:0c:e2:78:72:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:e2:78:72", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/signify-netherlands-b-v-ltb003.json b/tests/data/devices/signify-netherlands-b-v-ltb003.json index 3d4ac30fb..75b62cadd 100755 --- a/tests/data/devices/signify-netherlands-b-v-ltb003.json +++ b/tests/data/devices/signify-netherlands-b-v-ltb003.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:17:88:01:0d:00:32:fb", "nwk": "0x754C", "manufacturer": "Signify Netherlands B.V.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,12 +112,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -149,6 +167,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -184,7 +203,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 200 + "value": 200, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -202,13 +227,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 22642 + "value": 22642, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 23318 + "value": 23318, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -233,11 +270,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "philips_hue_light_cluster", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -245,6 +284,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -267,6 +307,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -336,22 +377,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "00:17:88:01:0d:00:32:fb:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0d:00:32:fb", "endpoint_id": 11, "available": true, @@ -384,50 +409,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:0d:00:32:fb:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:0d:00:32:fb:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:17:88:01:0d:00:32:fb:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:17:88:01:0d:00:32:fb", "endpoint_id": 11, "available": true, @@ -482,22 +463,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "00:17:88:01:0d:00:32:fb:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "00:17:88:01:0d:00:32:fb", "endpoint_id": 11, "available": true, @@ -529,22 +494,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:0d:00:32:fb:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:17:88:01:0d:00:32:fb", "endpoint_id": 11, "available": true, @@ -578,22 +527,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:0d:00:32:fb:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:17:88:01:0d:00:32:fb", "endpoint_id": 11, "available": true, @@ -629,22 +562,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:0d:00:32:fb:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0d:00:32:fb", "endpoint_id": 11, "available": true, @@ -673,22 +590,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:0d:00:32:fb:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0d:00:32:fb", "endpoint_id": 11, "available": true, @@ -719,22 +620,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "00:17:88:01:0d:00:32:fb:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0d:00:32:fb", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/signify-netherlands-b-v-lwa003.json b/tests/data/devices/signify-netherlands-b-v-lwa003.json index 2d9fb331b..b836f0776 100755 --- a/tests/data/devices/signify-netherlands-b-v-lwa003.json +++ b/tests/data/devices/signify-netherlands-b-v-lwa003.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:17:88:01:0c:76:6c:d5", "nwk": "0x1A5B", "manufacturer": "Signify Netherlands B.V.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,11 +161,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -155,6 +175,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -177,6 +198,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -245,22 +267,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "00:17:88:01:0c:76:6c:d5:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:76:6c:d5", "endpoint_id": 11, "available": true, @@ -293,36 +299,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:0c:76:6c:d5:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:0c:76:6c:d5:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:17:88:01:0c:76:6c:d5", "endpoint_id": 11, "available": true, @@ -376,22 +352,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "00:17:88:01:0c:76:6c:d5:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "00:17:88:01:0c:76:6c:d5", "endpoint_id": 11, "available": true, @@ -425,22 +385,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "00:17:88:01:0c:76:6c:d5:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:17:88:01:0c:76:6c:d5", "endpoint_id": 11, "available": true, @@ -476,22 +420,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:0c:76:6c:d5:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:76:6c:d5", "endpoint_id": 11, "available": true, @@ -520,22 +448,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "00:17:88:01:0c:76:6c:d5:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:76:6c:d5", "endpoint_id": 11, "available": true, @@ -566,22 +478,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "00:17:88:01:0c:76:6c:d5:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:76:6c:d5", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/signify-netherlands-b-v-rdm001.json b/tests/data/devices/signify-netherlands-b-v-rdm001.json index e364dfb3b..d45b8b492 100644 --- a/tests/data/devices/signify-netherlands-b-v-rdm001.json +++ b/tests/data/devices/signify-netherlands-b-v-rdm001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:17:88:01:0b:02:b6:79", "nwk": "0x6AAA", "manufacturer": "Signify Netherlands B.V.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -74,12 +75,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -97,18 +105,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "philips_remote_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -116,26 +132,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -203,22 +224,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:17:88:01:0b:02:b6:79:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0b:02:b6:79", "endpoint_id": 1, "available": true, @@ -251,22 +256,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "PhilipsWallSwitchBasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:17:88:01:0b:02:b6:79:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0b:02:b6:79", "endpoint_id": 1, "available": true, @@ -295,22 +284,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "PhilipsWallSwitchBasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:17:88:01:0b:02:b6:79:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0b:02:b6:79", "endpoint_id": 1, "available": true, @@ -339,22 +312,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:17:88:01:0b:02:b6:79:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:17:88:01:0b:02:b6:79", "endpoint_id": 1, "available": true, @@ -391,22 +348,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:17:88:01:0b:02:b6:79:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0b:02:b6:79", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/signify-netherlands-b-v-rdm002.json b/tests/data/devices/signify-netherlands-b-v-rdm002.json index a38e49165..017a666dd 100644 --- a/tests/data/devices/signify-netherlands-b-v-rdm002.json +++ b/tests/data/devices/signify-netherlands-b-v-rdm002.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:17:88:01:0d:13:48:33", "nwk": "0x987E", "manufacturer": "Signify Netherlands B.V.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,23 +99,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 27 + "value": 27, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "philips_remote_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -115,36 +132,43 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -157,6 +181,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -221,22 +246,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:17:88:01:0d:13:48:33:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0d:13:48:33", "endpoint_id": 1, "available": true, @@ -269,22 +278,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "PhilipsBasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:17:88:01:0d:13:48:33:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0d:13:48:33", "endpoint_id": 1, "available": true, @@ -313,22 +306,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "PhilipsBasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:17:88:01:0d:13:48:33:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0d:13:48:33", "endpoint_id": 1, "available": true, @@ -357,22 +334,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:17:88:01:0d:13:48:33:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:17:88:01:0d:13:48:33", "endpoint_id": 1, "available": true, @@ -409,22 +370,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:17:88:01:0d:13:48:33:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0d:13:48:33", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/signify-netherlands-b-v-rdm004.json b/tests/data/devices/signify-netherlands-b-v-rdm004.json index bdba88634..51bb37aee 100644 --- a/tests/data/devices/signify-netherlands-b-v-rdm004.json +++ b/tests/data/devices/signify-netherlands-b-v-rdm004.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:84:06:58:23", "nwk": "0x0AAD", "manufacturer": "Signify Netherlands B.V.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -74,12 +75,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -97,18 +105,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31 + "value": 31, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "philips_remote_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -116,31 +132,37 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -202,22 +224,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:84:06:58:23:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:84:06:58:23", "endpoint_id": 1, "available": true, @@ -250,22 +256,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "PhilipsWallSwitchBasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:84:06:58:23:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:84:06:58:23", "endpoint_id": 1, "available": true, @@ -294,22 +284,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "PhilipsWallSwitchBasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:84:06:58:23:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:84:06:58:23", "endpoint_id": 1, "available": true, @@ -338,22 +312,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:84:06:58:23:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:84:06:58:23", "endpoint_id": 1, "available": true, @@ -390,22 +348,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:84:06:58:23:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:84:06:58:23", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/signify-netherlands-b-v-rdm005.json b/tests/data/devices/signify-netherlands-b-v-rdm005.json index 778bbfdc9..3abf25a4c 100644 --- a/tests/data/devices/signify-netherlands-b-v-rdm005.json +++ b/tests/data/devices/signify-netherlands-b-v-rdm005.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e5:df:74:89", "nwk": "0xC06A", "manufacturer": "Signify Netherlands B.V.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,23 +99,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "philips_remote_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -115,26 +132,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -147,11 +169,13 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -164,6 +188,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -228,22 +253,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:e5:df:74:89:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e5:df:74:89", "endpoint_id": 1, "available": true, @@ -276,22 +285,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "PhilipsBasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e5:df:74:89:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e5:df:74:89", "endpoint_id": 1, "available": true, @@ -320,22 +313,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "PhilipsBasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e5:df:74:89:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e5:df:74:89", "endpoint_id": 1, "available": true, @@ -364,22 +341,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:e5:df:74:89:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:e5:df:74:89", "endpoint_id": 1, "available": true, @@ -416,22 +377,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e5:df:74:89:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e5:df:74:89", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/signify-netherlands-b-v-rwl022.json b/tests/data/devices/signify-netherlands-b-v-rwl022.json index f4ffc3ec7..a37bd47ea 100644 --- a/tests/data/devices/signify-netherlands-b-v-rwl022.json +++ b/tests/data/devices/signify-netherlands-b-v-rwl022.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:17:88:01:0c:26:42:ec", "nwk": "0xB45A", "manufacturer": "Signify Netherlands B.V.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 191 + "value": 191, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,23 +99,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "philips_remote_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -115,36 +132,43 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -157,6 +181,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -221,22 +246,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:17:88:01:0c:26:42:ec:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:26:42:ec", "endpoint_id": 1, "available": true, @@ -269,22 +278,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "PhilipsBasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:17:88:01:0c:26:42:ec:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:26:42:ec", "endpoint_id": 1, "available": true, @@ -313,22 +306,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "PhilipsBasicCluster", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:17:88:01:0c:26:42:ec:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:26:42:ec", "endpoint_id": 1, "available": true, @@ -357,22 +334,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:17:88:01:0c:26:42:ec:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:17:88:01:0c:26:42:ec", "endpoint_id": 1, "available": true, @@ -409,22 +370,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:17:88:01:0c:26:42:ec:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:26:42:ec", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/signify-netherlands-b-v-sml003.json b/tests/data/devices/signify-netherlands-b-v-sml003.json index b069d8f22..83ac75075 100644 --- a/tests/data/devices/signify-netherlands-b-v-sml003.json +++ b/tests/data/devices/signify-netherlands-b-v-sml003.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d5:c9:be:9b", "nwk": "0x0868", "manufacturer": "Signify Netherlands B.V.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 139 + "value": 139, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,48 +99,76 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2081 + "value": 2081, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -147,16 +183,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -175,6 +214,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -243,22 +283,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 2, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "2:0x0406", - "unique_id": "ab:cd:ef:12:d5:c9:be:9b:2:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:d5:c9:be:9b", "endpoint_id": 2, "available": true, @@ -286,22 +310,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "2:0x0006_client", - "unique_id": "ab:cd:ef:12:d5:c9:be:9b:2:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d5:c9:be:9b", "endpoint_id": 2, "available": true, @@ -331,22 +339,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 2, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "2:0x0003", - "unique_id": "ab:cd:ef:12:d5:c9:be:9b:2:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d5:c9:be:9b", "endpoint_id": 2, "available": true, @@ -379,22 +371,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 2, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "2:0x0406", - "unique_id": "ab:cd:ef:12:d5:c9:be:9b:2:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:d5:c9:be:9b", "endpoint_id": 2, "available": true, @@ -431,22 +407,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 2, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "2:0x0000", - "unique_id": "ab:cd:ef:12:d5:c9:be:9b:2:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d5:c9:be:9b", "endpoint_id": 2, "available": true, @@ -475,22 +435,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 2, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "2:0x0000", - "unique_id": "ab:cd:ef:12:d5:c9:be:9b:2:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d5:c9:be:9b", "endpoint_id": 2, "available": true, @@ -519,22 +463,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 2, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "2:0x0001", - "unique_id": "ab:cd:ef:12:d5:c9:be:9b:2:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:d5:c9:be:9b", "endpoint_id": 2, "available": true, @@ -569,22 +497,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 2, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "2:0x0400", - "unique_id": "ab:cd:ef:12:d5:c9:be:9b:2:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:d5:c9:be:9b", "endpoint_id": 2, "available": true, @@ -613,22 +525,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 2, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "2:0x0402", - "unique_id": "ab:cd:ef:12:d5:c9:be:9b:2:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:d5:c9:be:9b", "endpoint_id": 2, "available": true, @@ -659,22 +555,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 2, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "2:0x0000", - "unique_id": "ab:cd:ef:12:d5:c9:be:9b:2:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d5:c9:be:9b", "endpoint_id": 2, "available": true, @@ -709,22 +589,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 2, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "2:0x0019_client", - "unique_id": "ab:cd:ef:12:d5:c9:be:9b:2:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d5:c9:be:9b", "endpoint_id": 2, "available": true, diff --git a/tests/data/devices/signify-netherlands-b-v-sml004.json b/tests/data/devices/signify-netherlands-b-v-sml004.json index 17a3bc244..b2a8e17a8 100644 --- a/tests/data/devices/signify-netherlands-b-v-sml004.json +++ b/tests/data/devices/signify-netherlands-b-v-sml004.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:17:88:01:0c:dc:9d:61", "nwk": "0x464E", "manufacturer": "Signify Netherlands B.V.", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,48 +99,76 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 16181 + "value": 16181, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2587 + "value": 2587, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -147,16 +183,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -175,6 +214,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -243,22 +283,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 2, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "2:0x0406", - "unique_id": "00:17:88:01:0c:dc:9d:61:2:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "00:17:88:01:0c:dc:9d:61", "endpoint_id": 2, "available": true, @@ -286,22 +310,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "2:0x0006_client", - "unique_id": "00:17:88:01:0c:dc:9d:61:2:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:dc:9d:61", "endpoint_id": 2, "available": true, @@ -331,22 +339,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 2, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "2:0x0003", - "unique_id": "00:17:88:01:0c:dc:9d:61:2:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:dc:9d:61", "endpoint_id": 2, "available": true, @@ -379,22 +371,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 2, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "2:0x0406", - "unique_id": "00:17:88:01:0c:dc:9d:61:2:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "00:17:88:01:0c:dc:9d:61", "endpoint_id": 2, "available": true, @@ -431,22 +407,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 2, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "2:0x0000", - "unique_id": "00:17:88:01:0c:dc:9d:61:2:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:dc:9d:61", "endpoint_id": 2, "available": true, @@ -475,22 +435,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 2, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "2:0x0000", - "unique_id": "00:17:88:01:0c:dc:9d:61:2:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:dc:9d:61", "endpoint_id": 2, "available": true, @@ -519,22 +463,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 2, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "2:0x0001", - "unique_id": "00:17:88:01:0c:dc:9d:61:2:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:17:88:01:0c:dc:9d:61", "endpoint_id": 2, "available": true, @@ -569,22 +497,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 2, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "2:0x0400", - "unique_id": "00:17:88:01:0c:dc:9d:61:2:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:17:88:01:0c:dc:9d:61", "endpoint_id": 2, "available": true, @@ -613,22 +525,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 2, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "2:0x0402", - "unique_id": "00:17:88:01:0c:dc:9d:61:2:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "00:17:88:01:0c:dc:9d:61", "endpoint_id": 2, "available": true, @@ -659,22 +555,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 2, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "2:0x0000", - "unique_id": "00:17:88:01:0c:dc:9d:61:2:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:dc:9d:61", "endpoint_id": 2, "available": true, @@ -709,22 +589,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 2, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "2:0x0019_client", - "unique_id": "00:17:88:01:0c:dc:9d:61:2:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:17:88:01:0c:dc:9d:61", "endpoint_id": 2, "available": true, diff --git a/tests/data/devices/sinope-technologies-va4220zb.json b/tests/data/devices/sinope-technologies-va4220zb.json index a5ec99428..f371bfd6d 100644 --- a/tests/data/devices/sinope-technologies-va4220zb.json +++ b/tests/data/devices/sinope-technologies-va4220zb.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:eb:f1:4d:07", "nwk": "0x05D7", "manufacturer": "Sinope Technologies", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -73,7 +75,13 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,34 +99,50 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -131,12 +155,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -179,6 +210,7 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -190,7 +222,13 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2910 + "value": 2910, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -215,11 +253,26 @@ { "cluster_id": "0x0404", "endpoint_attribute": "flow", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "measured_value", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -259,54 +312,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 1 + "value": 1, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -324,7 +426,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -342,7 +450,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -361,11 +475,13 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff01", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -373,11 +489,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -390,6 +508,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -464,22 +583,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:eb:f1:4d:07:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:eb:f1:4d:07", "endpoint_id": 1, "available": true, @@ -507,22 +610,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:eb:f1:4d:07:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:eb:f1:4d:07", "endpoint_id": 1, "available": true, @@ -552,22 +639,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:eb:f1:4d:07:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:eb:f1:4d:07", "endpoint_id": 1, "available": true, @@ -600,22 +671,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:eb:f1:4d:07:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:eb:f1:4d:07", "endpoint_id": 1, "available": true, @@ -649,22 +704,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:eb:f1:4d:07:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:eb:f1:4d:07", "endpoint_id": 1, "available": true, @@ -693,22 +732,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:eb:f1:4d:07:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:eb:f1:4d:07", "endpoint_id": 1, "available": true, @@ -737,22 +760,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:eb:f1:4d:07:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:eb:f1:4d:07", "endpoint_id": 1, "available": true, @@ -781,22 +788,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "FlowMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0404", - "endpoint_id": 1, - "cluster": { - "id": 1028, - "name": "Flow Measurement", - "type": "server" - }, - "id": "1:0x0404", - "unique_id": "ab:cd:ef:12:eb:f1:4d:07:1:0x0404", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:eb:f1:4d:07", "endpoint_id": 1, "available": true, @@ -825,22 +816,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:eb:f1:4d:07:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:eb:f1:4d:07", "endpoint_id": 1, "available": true, @@ -877,22 +852,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:eb:f1:4d:07:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:eb:f1:4d:07", "endpoint_id": 1, "available": true, @@ -931,22 +890,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:eb:f1:4d:07:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:eb:f1:4d:07", "endpoint_id": 1, "available": true, @@ -975,22 +918,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:eb:f1:4d:07:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:eb:f1:4d:07", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/smarthjemmet-dk-quad-zig-sw.json b/tests/data/devices/smarthjemmet-dk-quad-zig-sw.json index bc3c7a515..748e40c40 100644 --- a/tests/data/devices/smarthjemmet-dk-quad-zig-sw.json +++ b/tests/data/devices/smarthjemmet-dk-quad-zig-sw.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:35:6f:4f:77", "nwk": "0x226D", "manufacturer": "smarthjemmet.dk", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -92,6 +94,7 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -99,16 +102,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -123,11 +129,13 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -143,11 +151,13 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -163,11 +173,13 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -183,11 +195,13 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -282,22 +296,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:35:6f:4f:77:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:35:6f:4f:77", "endpoint_id": 1, "available": true, @@ -326,22 +324,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:35:6f:4f:77:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:35:6f:4f:77", "endpoint_id": 1, "available": true, @@ -370,22 +352,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:35:6f:4f:77:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:35:6f:4f:77", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/smarthjemmet-dk-quad-zig-sw2.json b/tests/data/devices/smarthjemmet-dk-quad-zig-sw2.json index 3e5602dce..dcb0919ff 100644 --- a/tests/data/devices/smarthjemmet-dk-quad-zig-sw2.json +++ b/tests/data/devices/smarthjemmet-dk-quad-zig-sw2.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:35:e9:d5:e0", "nwk": "0x75D4", "manufacturer": "smarthjemmet.dk", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,13 +93,20 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 34 + "value": 34, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -99,16 +114,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4003", @@ -121,6 +139,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -135,6 +154,7 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -142,6 +162,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -160,6 +181,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -181,6 +203,7 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -188,6 +211,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -206,6 +230,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -227,6 +252,7 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -234,6 +260,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -252,6 +279,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -273,6 +301,7 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -280,6 +309,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4003", @@ -292,6 +322,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -401,22 +432,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:35:e9:d5:e0:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:35:e9:d5:e0", "endpoint_id": 1, "available": true, @@ -444,22 +459,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "2:0x0006_client", - "unique_id": "ab:cd:ef:12:35:e9:d5:e0:2:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:35:e9:d5:e0", "endpoint_id": 2, "available": true, @@ -487,22 +486,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "3:0x0006_client", - "unique_id": "ab:cd:ef:12:35:e9:d5:e0:3:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:35:e9:d5:e0", "endpoint_id": 3, "available": true, @@ -530,22 +513,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "4:0x0006_client", - "unique_id": "ab:cd:ef:12:35:e9:d5:e0:4:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:35:e9:d5:e0", "endpoint_id": 4, "available": true, @@ -573,22 +540,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 5, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "5:0x0006_client", - "unique_id": "ab:cd:ef:12:35:e9:d5:e0:5:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:35:e9:d5:e0", "endpoint_id": 5, "available": true, @@ -618,22 +569,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:35:e9:d5:e0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:35:e9:d5:e0", "endpoint_id": 1, "available": true, @@ -662,22 +597,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:35:e9:d5:e0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:35:e9:d5:e0", "endpoint_id": 1, "available": true, @@ -706,22 +625,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:35:e9:d5:e0:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:35:e9:d5:e0", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/smartthings-multiv4.json b/tests/data/devices/smartthings-multiv4.json index ef9625b3e..9f163df2b 100644 --- a/tests/data/devices/smartthings-multiv4.json +++ b/tests/data/devices/smartthings-multiv4.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:85:6f:e5:ee", "nwk": "0xE8FB", "manufacturer": "SmartThings", @@ -44,12 +44,26 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0033", "name": "battery_quantity", @@ -66,30 +80,45 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 24 + "value": 24, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -102,18 +131,26 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2352 + "value": 2352, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -153,30 +190,55 @@ { "cluster_id": "0xfc02", "endpoint_attribute": "accelerometer", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", "name": "acceleration", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "x_axis", "zcl_type": "int16", - "value": 110 + "value": 110, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "y_axis", "zcl_type": "int16", - "value": -67 + "value": -67, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "z_axis", "zcl_type": "int16", - "value": -996 + "value": -996, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -185,6 +247,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -252,22 +315,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:85:6f:e5:ee:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:6f:e5:ee", "endpoint_id": 1, "available": true, @@ -295,22 +342,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 1, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "1:0x000f", - "unique_id": "ab:cd:ef:12:85:6f:e5:ee:1:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:85:6f:e5:ee", "endpoint_id": 1, "available": true, @@ -338,22 +369,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SmartThingsAccelerationClusterHandler", - "generic_id": "cluster_handler_0xfc02", - "endpoint_id": 1, - "cluster": { - "id": 64514, - "name": "CentraLite Accelerometer", - "type": "server" - }, - "id": "1:0xfc02", - "unique_id": "ab:cd:ef:12:85:6f:e5:ee:1:0xfc02", - "status": "INITIALIZED", - "value_attribute": "acceleration" - } - ], "device_ieee": "ab:cd:ef:12:85:6f:e5:ee", "endpoint_id": 1, "available": true, @@ -383,22 +398,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:85:6f:e5:ee:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:6f:e5:ee", "endpoint_id": 1, "available": true, @@ -431,22 +430,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:85:6f:e5:ee:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:6f:e5:ee", "endpoint_id": 1, "available": true, @@ -475,22 +458,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:85:6f:e5:ee:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:6f:e5:ee", "endpoint_id": 1, "available": true, @@ -519,22 +486,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:85:6f:e5:ee:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:85:6f:e5:ee", "endpoint_id": 1, "available": true, @@ -569,22 +520,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:85:6f:e5:ee:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:85:6f:e5:ee", "endpoint_id": 1, "available": true, @@ -615,22 +550,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:85:6f:e5:ee:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:6f:e5:ee", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/smartthings-tagv4.json b/tests/data/devices/smartthings-tagv4.json index 885b2f858..58044d652 100644 --- a/tests/data/devices/smartthings-tagv4.json +++ b/tests/data/devices/smartthings-tagv4.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "24:fd:5b:00:01:01:4f:5d", "nwk": "0x5E17", "manufacturer": "SmartThings", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 138 + "value": 138, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,30 +93,45 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 24 + "value": 24, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -123,11 +146,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -193,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 1, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "1:0x000f", - "unique_id": "24:fd:5b:00:01:01:4f:5d:1:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "24:fd:5b:00:01:01:4f:5d", "endpoint_id": 1, "available": true, @@ -238,22 +247,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "24:fd:5b:00:01:01:4f:5d:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "24:fd:5b:00:01:01:4f:5d", "endpoint_id": 1, "available": true, @@ -286,22 +279,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "24:fd:5b:00:01:01:4f:5d:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "24:fd:5b:00:01:01:4f:5d", "endpoint_id": 1, "available": true, @@ -331,22 +308,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "24:fd:5b:00:01:01:4f:5d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "24:fd:5b:00:01:01:4f:5d", "endpoint_id": 1, "available": true, @@ -375,22 +336,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "24:fd:5b:00:01:01:4f:5d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "24:fd:5b:00:01:01:4f:5d", "endpoint_id": 1, "available": true, @@ -419,22 +364,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "24:fd:5b:00:01:01:4f:5d:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "24:fd:5b:00:01:01:4f:5d", "endpoint_id": 1, "available": true, @@ -471,22 +400,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "24:fd:5b:00:01:01:4f:5d:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "24:fd:5b:00:01:01:4f:5d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/smartwings-wm25-l-z.json b/tests/data/devices/smartwings-wm25-l-z.json index 5f6da8c0c..45dda2604 100644 --- a/tests/data/devices/smartwings-wm25-l-z.json +++ b/tests/data/devices/smartwings-wm25-l-z.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "e0:79:8d:ff:fe:be:fd:b9", "nwk": "0x0675", "manufacturer": "Smartwings", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -74,12 +75,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -103,18 +111,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -127,6 +143,7 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -163,6 +180,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -186,13 +204,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -243,11 +273,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -314,22 +346,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "e0:79:8d:ff:fe:be:fd:b9:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "e0:79:8d:ff:fe:be:fd:b9", "endpoint_id": 1, "available": true, @@ -362,22 +378,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "e0:79:8d:ff:fe:be:fd:b9:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "e0:79:8d:ff:fe:be:fd:b9", "endpoint_id": 1, "available": true, @@ -412,22 +412,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "e0:79:8d:ff:fe:be:fd:b9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "e0:79:8d:ff:fe:be:fd:b9", "endpoint_id": 1, "available": true, @@ -456,22 +440,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "e0:79:8d:ff:fe:be:fd:b9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "e0:79:8d:ff:fe:be:fd:b9", "endpoint_id": 1, "available": true, @@ -500,22 +468,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "e0:79:8d:ff:fe:be:fd:b9:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "e0:79:8d:ff:fe:be:fd:b9", "endpoint_id": 1, "available": true, @@ -550,22 +502,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "e0:79:8d:ff:fe:be:fd:b9:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "e0:79:8d:ff:fe:be:fd:b9", "endpoint_id": 1, "available": true, @@ -596,22 +532,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "e0:79:8d:ff:fe:be:fd:b9:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "e0:79:8d:ff:fe:be:fd:b9", "endpoint_id": 1, "available": true, @@ -646,22 +566,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "e0:79:8d:ff:fe:be:fd:b9:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "e0:79:8d:ff:fe:be:fd:b9", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/somfy-situo-4-zigbee.json b/tests/data/devices/somfy-situo-4-zigbee.json index cbd7da704..afcc39217 100644 --- a/tests/data/devices/somfy-situo-4-zigbee.json +++ b/tests/data/devices/somfy-situo-4-zigbee.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:85:3b:98:5a", "nwk": "0xB743", "manufacturer": "SOMFY", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -69,16 +71,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -97,6 +102,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [] } ] @@ -111,11 +117,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -123,16 +131,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -151,6 +162,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [] } ] @@ -165,11 +177,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -177,16 +191,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -205,6 +222,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [] } ] @@ -219,11 +237,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -231,16 +251,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -259,6 +282,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [] } ] @@ -273,17 +297,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 154 + "value": 154, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -301,18 +333,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -320,11 +360,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -445,22 +487,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:85:3b:98:5a:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:3b:98:5a", "endpoint_id": 1, "available": true, @@ -488,22 +514,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "2:0x0006_client", - "unique_id": "ab:cd:ef:12:85:3b:98:5a:2:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:3b:98:5a", "endpoint_id": 2, "available": true, @@ -531,22 +541,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "3:0x0006_client", - "unique_id": "ab:cd:ef:12:85:3b:98:5a:3:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:3b:98:5a", "endpoint_id": 3, "available": true, @@ -574,22 +568,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "4:0x0006_client", - "unique_id": "ab:cd:ef:12:85:3b:98:5a:4:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:3b:98:5a", "endpoint_id": 4, "available": true, @@ -619,22 +597,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:85:3b:98:5a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:3b:98:5a", "endpoint_id": 1, "available": true, @@ -667,22 +629,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:85:3b:98:5a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:3b:98:5a", "endpoint_id": 1, "available": true, @@ -711,22 +657,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:85:3b:98:5a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:3b:98:5a", "endpoint_id": 1, "available": true, @@ -755,22 +685,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 232, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "232:0x0001", - "unique_id": "ab:cd:ef:12:85:3b:98:5a:232:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:85:3b:98:5a", "endpoint_id": 232, "available": true, @@ -806,22 +720,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 232, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "232:0x0019_client", - "unique_id": "ab:cd:ef:12:85:3b:98:5a:232:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:3b:98:5a", "endpoint_id": 232, "available": true, diff --git a/tests/data/devices/somfy-sonesse-28-wf-li-ion-roller.json b/tests/data/devices/somfy-sonesse-28-wf-li-ion-roller.json index 0b6e3f213..223f5d095 100644 --- a/tests/data/devices/somfy-sonesse-28-wf-li-ion-roller.json +++ b/tests/data/devices/somfy-sonesse-28-wf-li-ion-roller.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:7b:7c:3f:a7", "nwk": "0x3218", "manufacturer": "SOMFY", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -89,6 +94,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -100,13 +106,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 66 + "value": 66, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -165,11 +183,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -181,7 +201,13 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 40 + "value": 40, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -199,13 +225,20 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -220,11 +253,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -301,22 +336,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:7b:7c:3f:a7:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:7c:3f:a7", "endpoint_id": 1, "available": true, @@ -349,22 +368,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:7b:7c:3f:a7:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:7b:7c:3f:a7", "endpoint_id": 1, "available": true, @@ -399,22 +402,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7b:7c:3f:a7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:7c:3f:a7", "endpoint_id": 1, "available": true, @@ -443,22 +430,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7b:7c:3f:a7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:7c:3f:a7", "endpoint_id": 1, "available": true, @@ -487,22 +458,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:7b:7c:3f:a7:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:7b:7c:3f:a7", "endpoint_id": 1, "available": true, @@ -531,22 +486,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 232, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "232:0x0001", - "unique_id": "ab:cd:ef:12:7b:7c:3f:a7:232:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:7b:7c:3f:a7", "endpoint_id": 232, "available": true, @@ -582,22 +521,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:7b:7c:3f:a7:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:7b:7c:3f:a7", "endpoint_id": 1, "available": true, @@ -632,22 +555,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 232, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "232:0x0019_client", - "unique_id": "ab:cd:ef:12:7b:7c:3f:a7:232:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:7c:3f:a7", "endpoint_id": 232, "available": true, diff --git a/tests/data/devices/somfy-ysia-5-hp-zigbee.json b/tests/data/devices/somfy-ysia-5-hp-zigbee.json index 36eda2b48..bb80987d4 100644 --- a/tests/data/devices/somfy-ysia-5-hp-zigbee.json +++ b/tests/data/devices/somfy-ysia-5-hp-zigbee.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:05:26:2e:c9", "nwk": "0xD882", "manufacturer": "SOMFY", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0012", @@ -104,6 +105,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -111,11 +113,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -170,6 +174,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -188,6 +193,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -215,11 +221,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -227,16 +235,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -255,6 +266,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [] } ] @@ -269,11 +281,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -281,16 +295,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -309,6 +326,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [] } ] @@ -323,11 +341,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -335,16 +355,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -363,6 +386,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [] } ] @@ -377,11 +401,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -389,16 +415,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -417,6 +446,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [] } ] @@ -431,17 +461,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 184 + "value": 184, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -459,18 +497,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -521,16 +567,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -672,22 +721,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:05:26:2e:c9:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:05:26:2e:c9", "endpoint_id": 1, "available": true, @@ -715,22 +748,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "2:0x0006_client", - "unique_id": "ab:cd:ef:12:05:26:2e:c9:2:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:05:26:2e:c9", "endpoint_id": 2, "available": true, @@ -758,22 +775,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "3:0x0006_client", - "unique_id": "ab:cd:ef:12:05:26:2e:c9:3:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:05:26:2e:c9", "endpoint_id": 3, "available": true, @@ -801,22 +802,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "4:0x0006_client", - "unique_id": "ab:cd:ef:12:05:26:2e:c9:4:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:05:26:2e:c9", "endpoint_id": 4, "available": true, @@ -844,22 +829,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 5, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "5:0x0006_client", - "unique_id": "ab:cd:ef:12:05:26:2e:c9:5:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:05:26:2e:c9", "endpoint_id": 5, "available": true, @@ -889,22 +858,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:05:26:2e:c9:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:05:26:2e:c9", "endpoint_id": 1, "available": true, @@ -937,22 +890,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:05:26:2e:c9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:05:26:2e:c9", "endpoint_id": 1, "available": true, @@ -981,22 +918,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:05:26:2e:c9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:05:26:2e:c9", "endpoint_id": 1, "available": true, @@ -1025,22 +946,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 232, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "232:0x0001", - "unique_id": "ab:cd:ef:12:05:26:2e:c9:232:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:05:26:2e:c9", "endpoint_id": 232, "available": true, @@ -1076,22 +981,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 232, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "232:0x0019_client", - "unique_id": "ab:cd:ef:12:05:26:2e:c9:232:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:05:26:2e:c9", "endpoint_id": 232, "available": true, diff --git a/tests/data/devices/sonoff-01minizb.json b/tests/data/devices/sonoff-01minizb.json index d0b082a5d..e005d4618 100644 --- a/tests/data/devices/sonoff-01minizb.json +++ b/tests/data/devices/sonoff-01minizb.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:12:4b:00:26:b7:de:4f", "nwk": "0x8893", "manufacturer": "SONOFF", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,6 +106,7 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -102,6 +114,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -117,6 +130,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -183,22 +197,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:12:4b:00:26:b7:de:4f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:26:b7:de:4f", "endpoint_id": 1, "available": true, @@ -231,22 +229,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:12:4b:00:26:b7:de:4f:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:12:4b:00:26:b7:de:4f", "endpoint_id": 1, "available": true, @@ -299,22 +281,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:12:4b:00:26:b7:de:4f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:26:b7:de:4f", "endpoint_id": 1, "available": true, @@ -343,22 +309,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:12:4b:00:26:b7:de:4f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:26:b7:de:4f", "endpoint_id": 1, "available": true, @@ -389,22 +339,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:12:4b:00:26:b7:de:4f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:26:b7:de:4f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sonoff-basiczbr3.json b/tests/data/devices/sonoff-basiczbr3.json index 7ba5a7486..9e7f3144c 100644 --- a/tests/data/devices/sonoff-basiczbr3.json +++ b/tests/data/devices/sonoff-basiczbr3.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:93:ca:86:ba", "nwk": "0x1CDA", "manufacturer": "SONOFF", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -97,6 +108,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -154,22 +166,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:93:ca:86:ba:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:93:ca:86:ba", "endpoint_id": 1, "available": true, @@ -202,22 +198,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:93:ca:86:ba:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:93:ca:86:ba", "endpoint_id": 1, "available": true, @@ -270,22 +250,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:93:ca:86:ba:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:93:ca:86:ba", "endpoint_id": 1, "available": true, @@ -314,22 +278,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:93:ca:86:ba:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:93:ca:86:ba", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sonoff-dongle-e-r.json b/tests/data/devices/sonoff-dongle-e-r.json index 468ed562e..84d2838ac 100644 --- a/tests/data/devices/sonoff-dongle-e-r.json +++ b/tests/data/devices/sonoff-dongle-e-r.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:33:57:93:05", "nwk": "0xCD22", "manufacturer": "SONOFF", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 51 + "value": 51, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -153,32 +171,43 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -191,12 +220,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 51 + "value": 51, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -239,6 +275,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -274,19 +311,37 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 17476 + "value": 17476, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 24939 + "value": 24939, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 24701 + "value": 24701, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -305,6 +360,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -321,6 +377,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -400,22 +457,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:33:57:93:05:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:33:57:93:05", "endpoint_id": 1, "available": true, @@ -448,36 +489,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:33:57:93:05:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:33:57:93:05:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:33:57:93:05", "endpoint_id": 1, "available": true, @@ -529,50 +540,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:33:57:93:05:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 2, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "2:0x0008", - "unique_id": "ab:cd:ef:12:33:57:93:05:2:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 2, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "2:0x0300", - "unique_id": "ab:cd:ef:12:33:57:93:05:2:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:33:57:93:05", "endpoint_id": 2, "available": true, @@ -627,22 +594,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:33:57:93:05:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:33:57:93:05", "endpoint_id": 1, "available": true, @@ -674,22 +625,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 2, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "2:0x0300", - "unique_id": "ab:cd:ef:12:33:57:93:05:2:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:33:57:93:05", "endpoint_id": 2, "available": true, @@ -721,22 +656,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 2, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "2:0x0008", - "unique_id": "ab:cd:ef:12:33:57:93:05:2:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:33:57:93:05", "endpoint_id": 2, "available": true, @@ -770,22 +689,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:33:57:93:05:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:33:57:93:05", "endpoint_id": 1, "available": true, @@ -819,22 +722,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:33:57:93:05:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:33:57:93:05", "endpoint_id": 2, "available": true, @@ -870,22 +757,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:33:57:93:05:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:33:57:93:05", "endpoint_id": 1, "available": true, @@ -914,22 +785,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:33:57:93:05:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:33:57:93:05", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sonoff-mini-zbrbs.json b/tests/data/devices/sonoff-mini-zbrbs.json index fbae1b1af..d591edb28 100644 --- a/tests/data/devices/sonoff-mini-zbrbs.json +++ b/tests/data/devices/sonoff-mini-zbrbs.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a2:24:57:22", "nwk": "0x3839", "manufacturer": "SONOFF", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -89,6 +94,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -112,13 +118,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -167,6 +185,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0116", @@ -179,11 +198,13 @@ { "cluster_id": "0xfc11", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -191,11 +212,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -224,6 +247,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -294,22 +318,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:a2:24:57:22:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:24:57:22", "endpoint_id": 1, "available": true, @@ -340,22 +348,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "SonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:a2:24:57:22:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:24:57:22", "endpoint_id": 1, "available": true, @@ -385,22 +377,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:a2:24:57:22:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:a2:24:57:22", "endpoint_id": 1, "available": true, @@ -435,22 +411,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "SonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:a2:24:57:22:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:24:57:22", "endpoint_id": 1, "available": true, @@ -484,22 +444,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a2:24:57:22:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:24:57:22", "endpoint_id": 1, "available": true, @@ -528,22 +472,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a2:24:57:22:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:24:57:22", "endpoint_id": 1, "available": true, @@ -572,22 +500,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:a2:24:57:22:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:a2:24:57:22", "endpoint_id": 1, "available": true, @@ -616,22 +528,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "SonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:a2:24:57:22:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:24:57:22", "endpoint_id": 1, "available": true, @@ -660,22 +556,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "SonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:a2:24:57:22:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:24:57:22", "endpoint_id": 1, "available": true, @@ -706,22 +586,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:a2:24:57:22:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:a2:24:57:22", "endpoint_id": 1, "available": true, @@ -756,22 +620,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a2:24:57:22:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:24:57:22", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sonoff-s26r2zb.json b/tests/data/devices/sonoff-s26r2zb.json index acdea9e75..59ca50462 100644 --- a/tests/data/devices/sonoff-s26r2zb.json +++ b/tests/data/devices/sonoff-s26r2zb.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b4:e4:bd:45", "nwk": "0xFF60", "manufacturer": "SONOFF", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,6 +106,7 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -102,6 +114,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -123,6 +136,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -130,6 +144,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -145,6 +160,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -221,22 +237,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:b4:e4:bd:45:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b4:e4:bd:45", "endpoint_id": 1, "available": true, @@ -269,22 +269,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b4:e4:bd:45:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b4:e4:bd:45", "endpoint_id": 1, "available": true, @@ -313,22 +297,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b4:e4:bd:45:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b4:e4:bd:45", "endpoint_id": 1, "available": true, @@ -359,22 +327,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:b4:e4:bd:45:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:b4:e4:bd:45", "endpoint_id": 1, "available": true, @@ -403,22 +355,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:b4:e4:bd:45:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b4:e4:bd:45", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sonoff-s31-lite-zb.json b/tests/data/devices/sonoff-s31-lite-zb.json index 5f945cdf0..53d96a422 100644 --- a/tests/data/devices/sonoff-s31-lite-zb.json +++ b/tests/data/devices/sonoff-s31-lite-zb.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:12:4b:00:24:56:cb:dc", "nwk": "0xF7AE", "manufacturer": "SONOFF", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -97,6 +108,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -154,22 +166,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:12:4b:00:24:56:cb:dc:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:24:56:cb:dc", "endpoint_id": 1, "available": true, @@ -202,22 +198,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:12:4b:00:24:56:cb:dc:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:24:56:cb:dc", "endpoint_id": 1, "available": true, @@ -246,22 +226,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:12:4b:00:24:56:cb:dc:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:24:56:cb:dc", "endpoint_id": 1, "available": true, @@ -292,22 +256,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "00:12:4b:00:24:56:cb:dc:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "00:12:4b:00:24:56:cb:dc", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sonoff-s60zbtpg.json b/tests/data/devices/sonoff-s60zbtpg.json index e7589ff31..f53f9608a 100644 --- a/tests/data/devices/sonoff-s60zbtpg.json +++ b/tests/data/devices/sonoff-s60zbtpg.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:0b:76:b6:2c", "nwk": "0xD301", "manufacturer": "SONOFF", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,54 +106,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 70 + "value": 70, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -160,7 +220,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -178,7 +244,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -197,24 +269,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -238,31 +329,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 11 + "value": 11, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -286,19 +407,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -310,7 +557,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -334,13 +587,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 8 + "value": 8, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -364,19 +629,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 23903 + "value": 23903, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -400,35 +683,56 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc11", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -436,11 +740,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -463,6 +769,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -534,22 +841,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:0b:76:b6:2c:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0b:76:b6:2c", "endpoint_id": 1, "available": true, @@ -582,22 +873,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:0b:76:b6:2c:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:0b:76:b6:2c", "endpoint_id": 1, "available": true, @@ -633,22 +908,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0b:76:b6:2c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0b:76:b6:2c", "endpoint_id": 1, "available": true, @@ -677,22 +936,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0b:76:b6:2c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0b:76:b6:2c", "endpoint_id": 1, "available": true, @@ -721,22 +964,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:0b:76:b6:2c:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:0b:76:b6:2c", "endpoint_id": 1, "available": true, @@ -773,22 +1000,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:0b:76:b6:2c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:0b:76:b6:2c", "endpoint_id": 1, "available": true, @@ -822,22 +1033,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:0b:76:b6:2c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:0b:76:b6:2c", "endpoint_id": 1, "available": true, @@ -871,22 +1066,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:0b:76:b6:2c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:0b:76:b6:2c", "endpoint_id": 1, "available": true, @@ -922,22 +1101,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:0b:76:b6:2c:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:0b:76:b6:2c", "endpoint_id": 1, "available": true, @@ -966,22 +1129,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:0b:76:b6:2c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0b:76:b6:2c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sonoff-snzb-02d.json b/tests/data/devices/sonoff-snzb-02d.json index 054310d6e..bfceec5ab 100644 --- a/tests/data/devices/sonoff-snzb-02d.json +++ b/tests/data/devices/sonoff-snzb-02d.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e3:70:52:f5", "nwk": "0x11FE", "manufacturer": "SONOFF", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 126 + "value": 126, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,18 +99,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -115,30 +131,45 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2200 + "value": 2200, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5330 + "value": 5330, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfc11", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -151,6 +182,7 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -158,6 +190,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -225,22 +258,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:e3:70:52:f5:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e3:70:52:f5", "endpoint_id": 1, "available": true, @@ -273,22 +290,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:e3:70:52:f5:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e3:70:52:f5", "endpoint_id": 1, "available": true, @@ -320,22 +321,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:e3:70:52:f5:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e3:70:52:f5", "endpoint_id": 1, "available": true, @@ -367,22 +352,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:e3:70:52:f5:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e3:70:52:f5", "endpoint_id": 1, "available": true, @@ -414,22 +383,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:e3:70:52:f5:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e3:70:52:f5", "endpoint_id": 1, "available": true, @@ -461,22 +414,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:e3:70:52:f5:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e3:70:52:f5", "endpoint_id": 1, "available": true, @@ -508,22 +445,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:e3:70:52:f5:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e3:70:52:f5", "endpoint_id": 1, "available": true, @@ -557,22 +478,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:e3:70:52:f5:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e3:70:52:f5", "endpoint_id": 1, "available": true, @@ -606,22 +511,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e3:70:52:f5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e3:70:52:f5", "endpoint_id": 1, "available": true, @@ -650,22 +539,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e3:70:52:f5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e3:70:52:f5", "endpoint_id": 1, "available": true, @@ -694,22 +567,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:e3:70:52:f5:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:e3:70:52:f5", "endpoint_id": 1, "available": true, @@ -743,22 +600,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:e3:70:52:f5:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:e3:70:52:f5", "endpoint_id": 1, "available": true, @@ -787,22 +628,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:e3:70:52:f5:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:e3:70:52:f5", "endpoint_id": 1, "available": true, @@ -833,22 +658,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e3:70:52:f5:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e3:70:52:f5", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sonoff-snzb-05p.json b/tests/data/devices/sonoff-snzb-05p.json index 05282e44f..fedfdfba2 100644 --- a/tests/data/devices/sonoff-snzb-05p.json +++ b/tests/data/devices/sonoff-snzb-05p.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:94:50:f5:8b", "nwk": "0xBA7E", "manufacturer": "SONOFF", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31 + "value": 31, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -109,6 +125,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -148,6 +165,7 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -155,11 +173,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -226,22 +246,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:94:50:f5:8b:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:94:50:f5:8b", "endpoint_id": 1, "available": true, @@ -271,22 +275,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:94:50:f5:8b:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:94:50:f5:8b", "endpoint_id": 1, "available": true, @@ -319,22 +307,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:94:50:f5:8b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:94:50:f5:8b", "endpoint_id": 1, "available": true, @@ -363,22 +335,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:94:50:f5:8b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:94:50:f5:8b", "endpoint_id": 1, "available": true, @@ -407,22 +363,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:94:50:f5:8b:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:94:50:f5:8b", "endpoint_id": 1, "available": true, @@ -459,22 +399,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:94:50:f5:8b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:94:50:f5:8b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sonoff-snzb-06p.json b/tests/data/devices/sonoff-snzb-06p.json index 52bb72aa0..b7c969020 100644 --- a/tests/data/devices/sonoff-snzb-06p.json +++ b/tests/data/devices/sonoff-snzb-06p.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:dd:23:ca:15", "nwk": "0xB334", "manufacturer": "SONOFF", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,17 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0020", @@ -91,6 +100,7 @@ { "cluster_id": "0xfc11", "endpoint_attribute": "sonoff_manufacturer", + "bind": "SUCCESS", "attributes": [ { "id": "0x2001", @@ -103,6 +113,7 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -110,11 +121,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -181,22 +194,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:dd:23:ca:15:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:dd:23:ca:15", "endpoint_id": 1, "available": true, @@ -226,22 +223,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:dd:23:ca:15:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dd:23:ca:15", "endpoint_id": 1, "available": true, @@ -274,22 +255,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:dd:23:ca:15:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:dd:23:ca:15", "endpoint_id": 1, "available": true, @@ -323,22 +288,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:dd:23:ca:15:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:dd:23:ca:15", "endpoint_id": 1, "available": true, @@ -373,22 +322,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:dd:23:ca:15:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dd:23:ca:15", "endpoint_id": 1, "available": true, @@ -417,22 +350,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:dd:23:ca:15:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dd:23:ca:15", "endpoint_id": 1, "available": true, @@ -461,22 +378,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "SonoffFC11Cluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:dd:23:ca:15:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dd:23:ca:15", "endpoint_id": 1, "available": true, @@ -507,22 +408,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:dd:23:ca:15:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dd:23:ca:15", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sonoff-swv.json b/tests/data/devices/sonoff-swv.json index 54e77bfa5..f95c964f5 100644 --- a/tests/data/devices/sonoff-swv.json +++ b/tests/data/devices/sonoff-swv.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:8c:25:a4:7c", "nwk": "0x11B6", "manufacturer": "SONOFF", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -110,12 +111,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -133,7 +141,13 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 63 + "value": 63, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0xfffd", @@ -146,6 +160,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -164,6 +179,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -175,7 +191,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -188,6 +210,7 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -224,6 +247,7 @@ { "cluster_id": "0x0404", "endpoint_attribute": "flow", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -241,7 +265,13 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -254,6 +284,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x011b", @@ -284,11 +315,26 @@ { "cluster_id": "0xfc11", "endpoint_attribute": null, - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x500c", + "name": "water_valve_state", + "zcl_type": "enum8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -296,6 +342,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -308,6 +355,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -440,22 +488,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:8c:25:a4:7c:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:25:a4:7c", "endpoint_id": 1, "available": true, @@ -483,22 +515,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:8c:25:a4:7c:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:25:a4:7c", "endpoint_id": 1, "available": true, @@ -528,22 +544,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:8c:25:a4:7c:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:25:a4:7c", "endpoint_id": 1, "available": true, @@ -576,22 +576,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8c:25:a4:7c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:25:a4:7c", "endpoint_id": 1, "available": true, @@ -620,22 +604,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8c:25:a4:7c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:25:a4:7c", "endpoint_id": 1, "available": true, @@ -664,22 +632,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:8c:25:a4:7c:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:8c:25:a4:7c", "endpoint_id": 1, "available": true, @@ -714,22 +666,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "FlowMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0404", - "endpoint_id": 1, - "cluster": { - "id": 1028, - "name": "Flow Measurement", - "type": "server" - }, - "id": "1:0x0404", - "unique_id": "ab:cd:ef:12:8c:25:a4:7c:1:0x0404", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:8c:25:a4:7c", "endpoint_id": 1, "available": true, @@ -760,22 +696,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:8c:25:a4:7c:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:8c:25:a4:7c", "endpoint_id": 1, "available": true, @@ -802,22 +722,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:8c:25:a4:7c:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:25:a4:7c", "endpoint_id": 1, "available": true, @@ -852,22 +756,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:8c:25:a4:7c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:25:a4:7c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sonoff-trvzb.json b/tests/data/devices/sonoff-trvzb.json index b332044fc..a1d095187 100644 --- a/tests/data/devices/sonoff-trvzb.json +++ b/tests/data/devices/sonoff-trvzb.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:4d:04:9a:8f", "nwk": "0x91D0", "manufacturer": "SONOFF", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,24 +93,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -115,6 +137,7 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -127,6 +150,7 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -162,7 +186,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 1860 + "value": 1860, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -198,43 +228,85 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "value": 1 + "value": 1, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1950 + "value": 1950, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 1 + "value": 1, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -246,25 +318,44 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xfc11", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -307,6 +398,7 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -314,11 +406,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -387,22 +481,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -433,22 +511,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -476,22 +538,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -521,22 +567,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -600,22 +630,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -647,22 +661,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -694,22 +692,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -741,22 +723,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -788,22 +754,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -835,22 +785,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -882,22 +816,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -929,22 +847,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -976,22 +878,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -1023,22 +909,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -1072,22 +942,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -1116,22 +970,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -1160,22 +998,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -1209,22 +1031,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -1253,22 +1059,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -1299,22 +1089,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -1341,22 +1115,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -1389,22 +1147,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -1437,22 +1179,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -1485,22 +1211,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "CustomSonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, @@ -1535,22 +1245,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:4d:04:9a:8f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:04:9a:8f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sonoff-zbmicro.json b/tests/data/devices/sonoff-zbmicro.json index 0541c6f8b..ee5b6de02 100644 --- a/tests/data/devices/sonoff-zbmicro.json +++ b/tests/data/devices/sonoff-zbmicro.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "8c:65:a3:ff:fe:54:87:a0", "nwk": "0xDF24", "manufacturer": "SONOFF", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,17 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -85,11 +94,13 @@ { "cluster_id": "0xfc11", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -97,11 +108,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -124,6 +137,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -190,22 +204,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "8c:65:a3:ff:fe:54:87:a0:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "8c:65:a3:ff:fe:54:87:a0", "endpoint_id": 1, "available": true, @@ -238,22 +236,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "8c:65:a3:ff:fe:54:87:a0:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "8c:65:a3:ff:fe:54:87:a0", "endpoint_id": 1, "available": true, @@ -289,22 +271,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "8c:65:a3:ff:fe:54:87:a0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "8c:65:a3:ff:fe:54:87:a0", "endpoint_id": 1, "available": true, @@ -333,22 +299,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "8c:65:a3:ff:fe:54:87:a0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "8c:65:a3:ff:fe:54:87:a0", "endpoint_id": 1, "available": true, @@ -379,22 +329,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "8c:65:a3:ff:fe:54:87:a0:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "8c:65:a3:ff:fe:54:87:a0", "endpoint_id": 1, "available": true, @@ -423,22 +357,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "8c:65:a3:ff:fe:54:87:a0:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "8c:65:a3:ff:fe:54:87:a0", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sonoff-zbminil2.json b/tests/data/devices/sonoff-zbminil2.json index 66b8f16b8..bd8e7948a 100644 --- a/tests/data/devices/sonoff-zbminil2.json +++ b/tests/data/devices/sonoff-zbminil2.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d4:86:60:40", "nwk": "0x1FC6", "manufacturer": "SONOFF", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,24 +93,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -115,16 +137,19 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -132,6 +157,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -198,22 +224,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:d4:86:60:40:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d4:86:60:40", "endpoint_id": 1, "available": true, @@ -246,22 +256,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:d4:86:60:40:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:d4:86:60:40", "endpoint_id": 1, "available": true, @@ -297,22 +291,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d4:86:60:40:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d4:86:60:40", "endpoint_id": 1, "available": true, @@ -341,22 +319,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d4:86:60:40:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d4:86:60:40", "endpoint_id": 1, "available": true, @@ -385,22 +347,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:d4:86:60:40:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:d4:86:60:40", "endpoint_id": 1, "available": true, @@ -436,22 +382,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:d4:86:60:40:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:d4:86:60:40", "endpoint_id": 1, "available": true, @@ -480,22 +410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d4:86:60:40:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d4:86:60:40", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sonoff-zbminir2.json b/tests/data/devices/sonoff-zbminir2.json index a445333b6..de3518bee 100644 --- a/tests/data/devices/sonoff-zbminir2.json +++ b/tests/data/devices/sonoff-zbminir2.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f5:dc:76:8d", "nwk": "0x553F", "manufacturer": "SONOFF", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -86,22 +87,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0xfffe", @@ -120,11 +130,13 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc11", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [ { "id": "0x0017", @@ -149,6 +161,7 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -156,11 +169,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -209,6 +224,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -231,6 +247,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -300,22 +317,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:f5:dc:76:8d:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:dc:76:8d", "endpoint_id": 1, "available": true, @@ -345,22 +346,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:f5:dc:76:8d:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:dc:76:8d", "endpoint_id": 1, "available": true, @@ -393,22 +378,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:f5:dc:76:8d:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:f5:dc:76:8d", "endpoint_id": 1, "available": true, @@ -442,22 +411,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "SonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:f5:dc:76:8d:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:dc:76:8d", "endpoint_id": 1, "available": true, @@ -493,22 +446,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f5:dc:76:8d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:dc:76:8d", "endpoint_id": 1, "available": true, @@ -537,22 +474,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f5:dc:76:8d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:dc:76:8d", "endpoint_id": 1, "available": true, @@ -583,22 +504,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:f5:dc:76:8d:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:f5:dc:76:8d", "endpoint_id": 1, "available": true, @@ -625,22 +530,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "SonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:f5:dc:76:8d:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:dc:76:8d", "endpoint_id": 1, "available": true, @@ -673,22 +562,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "SonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:f5:dc:76:8d:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:dc:76:8d", "endpoint_id": 1, "available": true, @@ -721,22 +594,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SonoffPresenceSenorClusterHandler", - "generic_id": "cluster_handler_0xfc11", - "endpoint_id": 1, - "cluster": { - "id": 64529, - "name": "SonoffCluster", - "type": "server" - }, - "id": "1:0xfc11", - "unique_id": "ab:cd:ef:12:f5:dc:76:8d:1:0xfc11", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:dc:76:8d", "endpoint_id": 1, "available": true, @@ -771,22 +628,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f5:dc:76:8d:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:dc:76:8d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sunricher-hk-dim.json b/tests/data/devices/sunricher-hk-dim.json index 565aaa65d..483fb5d7c 100644 --- a/tests/data/devices/sunricher-hk-dim.json +++ b/tests/data/devices/sunricher-hk-dim.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:55:c3:5a:e0", "nwk": "0x8333", "manufacturer": "Sunricher", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -137,11 +138,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -160,6 +163,7 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -184,6 +188,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -207,7 +212,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -232,12 +243,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 70 + "value": 70, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -280,6 +298,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0116", @@ -310,6 +329,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -317,16 +337,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -345,6 +368,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -393,11 +417,13 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -410,6 +436,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -424,16 +451,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -445,7 +475,13 @@ "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -528,6 +564,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x4000", @@ -540,17 +577,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 25944 + "value": 25944, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0xfffe", @@ -573,6 +618,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -580,6 +626,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -676,22 +723,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:55:c3:5a:e0:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:55:c3:5a:e0", "endpoint_id": 1, "available": true, @@ -719,22 +750,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 2, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "2:0x0406", - "unique_id": "ab:cd:ef:12:55:c3:5a:e0:2:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:55:c3:5a:e0", "endpoint_id": 2, "available": true, @@ -764,22 +779,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:55:c3:5a:e0:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:55:c3:5a:e0", "endpoint_id": 1, "available": true, @@ -812,36 +811,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:55:c3:5a:e0:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:55:c3:5a:e0:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:55:c3:5a:e0", "endpoint_id": 1, "available": true, @@ -895,22 +864,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:55:c3:5a:e0:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:55:c3:5a:e0", "endpoint_id": 1, "available": true, @@ -942,22 +895,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:55:c3:5a:e0:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:55:c3:5a:e0", "endpoint_id": 1, "available": true, @@ -989,22 +926,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:55:c3:5a:e0:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:55:c3:5a:e0", "endpoint_id": 1, "available": true, @@ -1036,22 +957,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 2, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "2:0x0406", - "unique_id": "ab:cd:ef:12:55:c3:5a:e0:2:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:55:c3:5a:e0", "endpoint_id": 2, "available": true, @@ -1083,22 +988,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 2, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "2:0x0406", - "unique_id": "ab:cd:ef:12:55:c3:5a:e0:2:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:55:c3:5a:e0", "endpoint_id": 2, "available": true, @@ -1132,22 +1021,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:55:c3:5a:e0:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:55:c3:5a:e0", "endpoint_id": 1, "available": true, @@ -1183,22 +1056,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:55:c3:5a:e0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:55:c3:5a:e0", "endpoint_id": 1, "available": true, @@ -1227,22 +1084,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:55:c3:5a:e0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:55:c3:5a:e0", "endpoint_id": 1, "available": true, @@ -1271,22 +1112,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 3, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "3:0x0400", - "unique_id": "ab:cd:ef:12:55:c3:5a:e0:3:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:55:c3:5a:e0", "endpoint_id": 3, "available": true, @@ -1317,22 +1142,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:55:c3:5a:e0:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:55:c3:5a:e0", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sunricher-hk-ln-dim-a.json b/tests/data/devices/sunricher-hk-ln-dim-a.json index d4d7d5eb1..cae9ae56e 100644 --- a/tests/data/devices/sunricher-hk-ln-dim-a.json +++ b/tests/data/devices/sunricher-hk-ln-dim-a.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "b4:35:22:ff:fe:6a:5e:6a", "nwk": "0x6CC7", "manufacturer": "Sunricher", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,6 +106,7 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -112,7 +124,13 @@ "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 184 + "value": 184, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -161,11 +179,13 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -173,6 +193,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -194,6 +215,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -201,6 +223,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -271,22 +294,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "b4:35:22:ff:fe:6a:5e:6a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b4:35:22:ff:fe:6a:5e:6a", "endpoint_id": 1, "available": true, @@ -319,36 +326,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "b4:35:22:ff:fe:6a:5e:6a:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b4:35:22:ff:fe:6a:5e:6a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "b4:35:22:ff:fe:6a:5e:6a", "endpoint_id": 1, "available": true, @@ -402,22 +379,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b4:35:22:ff:fe:6a:5e:6a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "b4:35:22:ff:fe:6a:5e:6a", "endpoint_id": 1, "available": true, @@ -449,22 +410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b4:35:22:ff:fe:6a:5e:6a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "b4:35:22:ff:fe:6a:5e:6a", "endpoint_id": 1, "available": true, @@ -496,22 +441,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b4:35:22:ff:fe:6a:5e:6a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "b4:35:22:ff:fe:6a:5e:6a", "endpoint_id": 1, "available": true, @@ -545,22 +474,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "b4:35:22:ff:fe:6a:5e:6a:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "b4:35:22:ff:fe:6a:5e:6a", "endpoint_id": 1, "available": true, @@ -596,22 +509,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b4:35:22:ff:fe:6a:5e:6a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b4:35:22:ff:fe:6a:5e:6a", "endpoint_id": 1, "available": true, @@ -640,22 +537,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b4:35:22:ff:fe:6a:5e:6a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b4:35:22:ff:fe:6a:5e:6a", "endpoint_id": 1, "available": true, @@ -686,22 +567,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "b4:35:22:ff:fe:6a:5e:6a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b4:35:22:ff:fe:6a:5e:6a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sunricher-on-off-2ch.json b/tests/data/devices/sunricher-on-off-2ch.json index cf10a4bd0..a5761aacc 100644 --- a/tests/data/devices/sunricher-on-off-2ch.json +++ b/tests/data/devices/sunricher-on-off-2ch.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:98:6b:31:c6", "nwk": "0x2ACF", "manufacturer": "Sunricher", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -105,32 +116,43 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -153,59 +175,109 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 13195425 + "value": 13195425, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -223,7 +295,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -241,7 +319,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -260,6 +344,7 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0803", @@ -271,19 +356,37 @@ "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -307,31 +410,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -355,19 +488,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -379,7 +638,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "value": 10000 + "value": 10000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -403,13 +668,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -433,19 +710,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 2292 + "value": 2292, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -469,30 +764,50 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -500,6 +815,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -557,6 +873,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -564,6 +881,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -655,22 +973,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:98:6b:31:c6:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:98:6b:31:c6", "endpoint_id": 1, "available": true, @@ -703,22 +1005,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:98:6b:31:c6:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:98:6b:31:c6", "endpoint_id": 1, "available": true, @@ -769,22 +1055,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:98:6b:31:c6:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:98:6b:31:c6", "endpoint_id": 2, "available": true, @@ -837,22 +1107,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:98:6b:31:c6:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:98:6b:31:c6", "endpoint_id": 1, "available": true, @@ -886,22 +1140,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:98:6b:31:c6:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:98:6b:31:c6", "endpoint_id": 2, "available": true, @@ -937,22 +1175,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:98:6b:31:c6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:98:6b:31:c6", "endpoint_id": 1, "available": true, @@ -981,22 +1203,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:98:6b:31:c6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:98:6b:31:c6", "endpoint_id": 1, "available": true, @@ -1025,22 +1231,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 11, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "11:0x0702", - "unique_id": "ab:cd:ef:12:98:6b:31:c6:11:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:98:6b:31:c6", "endpoint_id": 11, "available": true, @@ -1077,22 +1267,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 11, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "11:0x0b04", - "unique_id": "ab:cd:ef:12:98:6b:31:c6:11:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:98:6b:31:c6", "endpoint_id": 11, "available": true, @@ -1126,22 +1300,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 11, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "11:0x0b04", - "unique_id": "ab:cd:ef:12:98:6b:31:c6:11:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:98:6b:31:c6", "endpoint_id": 11, "available": true, @@ -1175,22 +1333,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 11, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "11:0x0b04", - "unique_id": "ab:cd:ef:12:98:6b:31:c6:11:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:98:6b:31:c6", "endpoint_id": 11, "available": true, @@ -1224,22 +1366,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 11, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "11:0x0b04", - "unique_id": "ab:cd:ef:12:98:6b:31:c6:11:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:98:6b:31:c6", "endpoint_id": 11, "available": true, @@ -1275,22 +1401,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "ab:cd:ef:12:98:6b:31:c6:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:98:6b:31:c6", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/texas-instruments-cc2652.json b/tests/data/devices/texas-instruments-cc2652.json index 2a67eeb33..fa6798e42 100644 --- a/tests/data/devices/texas-instruments-cc2652.json +++ b/tests/data/devices/texas-instruments-cc2652.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:6a:30:e1:65", "nwk": "0xFF51", "manufacturer": "Texas Instruments", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0501", "endpoint_attribute": "ias_ace", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -84,21 +89,25 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -113,6 +122,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/texas-instruments-coordinator.json b/tests/data/devices/texas-instruments-coordinator.json index 43e0849c0..d8c930db6 100644 --- a/tests/data/devices/texas-instruments-coordinator.json +++ b/tests/data/devices/texas-instruments-coordinator.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:14:1a:f0:68", "nwk": "0x0000", "manufacturer": "Texas Instruments", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0501", "endpoint_attribute": "ias_ace", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -84,21 +89,25 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -113,6 +122,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/texasinstruments-ti-router.json b/tests/data/devices/texasinstruments-ti-router.json index 0d70d7312..dd04bbe83 100644 --- a/tests/data/devices/texasinstruments-ti-router.json +++ b/tests/data/devices/texasinstruments-ti-router.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:12:4b:00:21:b4:96:29", "nwk": "0x4523", "manufacturer": "TexasInstruments", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,6 +69,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -75,6 +77,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -90,6 +93,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -152,22 +156,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 8, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "8:0x0003", - "unique_id": "00:12:4b:00:21:b4:96:29:8:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:21:b4:96:29", "endpoint_id": 8, "available": true, @@ -200,22 +188,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 8, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "8:0x0000", - "unique_id": "00:12:4b:00:21:b4:96:29:8:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:21:b4:96:29", "endpoint_id": 8, "available": true, @@ -249,22 +221,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 8, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "8:0x0000", - "unique_id": "00:12:4b:00:21:b4:96:29:8:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:21:b4:96:29", "endpoint_id": 8, "available": true, @@ -293,22 +249,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 8, - "cluster": { - "id": 0, - "name": "BasicCluster", - "type": "server" - }, - "id": "8:0x0000", - "unique_id": "00:12:4b:00:21:b4:96:29:8:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:21:b4:96:29", "endpoint_id": 8, "available": true, diff --git a/tests/data/devices/the-home-depot-ecosmart-zbt-a19-cct-bulb.json b/tests/data/devices/the-home-depot-ecosmart-zbt-a19-cct-bulb.json index f77da11c3..8297f81e4 100644 --- a/tests/data/devices/the-home-depot-ecosmart-zbt-a19-cct-bulb.json +++ b/tests/data/devices/the-home-depot-ecosmart-zbt-a19-cct-bulb.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ec:1b:bd:ff:fe:32:46:39", "nwk": "0x0A42", "manufacturer": "The Home Depot", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -80,27 +81,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -113,6 +124,7 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -124,7 +136,13 @@ "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -167,6 +185,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -202,7 +221,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 370 + "value": 370, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -220,13 +245,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 21626 + "value": 21626, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 21626 + "value": 21626, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -251,16 +288,19 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc82", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -268,11 +308,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -295,6 +337,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -366,22 +409,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ec:1b:bd:ff:fe:32:46:39:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:32:46:39", "endpoint_id": 1, "available": true, @@ -414,50 +441,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ec:1b:bd:ff:fe:32:46:39:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ec:1b:bd:ff:fe:32:46:39:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ec:1b:bd:ff:fe:32:46:39:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ec:1b:bd:ff:fe:32:46:39", "endpoint_id": 1, "available": true, @@ -512,22 +495,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ec:1b:bd:ff:fe:32:46:39:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ec:1b:bd:ff:fe:32:46:39", "endpoint_id": 1, "available": true, @@ -559,22 +526,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ec:1b:bd:ff:fe:32:46:39:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ec:1b:bd:ff:fe:32:46:39", "endpoint_id": 1, "available": true, @@ -606,22 +557,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ec:1b:bd:ff:fe:32:46:39:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ec:1b:bd:ff:fe:32:46:39", "endpoint_id": 1, "available": true, @@ -653,22 +588,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ec:1b:bd:ff:fe:32:46:39:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ec:1b:bd:ff:fe:32:46:39", "endpoint_id": 1, "available": true, @@ -702,22 +621,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ec:1b:bd:ff:fe:32:46:39:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ec:1b:bd:ff:fe:32:46:39", "endpoint_id": 1, "available": true, @@ -753,22 +656,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ec:1b:bd:ff:fe:32:46:39:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:32:46:39", "endpoint_id": 1, "available": true, @@ -797,22 +684,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ec:1b:bd:ff:fe:32:46:39:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:32:46:39", "endpoint_id": 1, "available": true, @@ -843,22 +714,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ec:1b:bd:ff:fe:32:46:39:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:32:46:39", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/third-reality-inc-3rds17bz.json b/tests/data/devices/third-reality-inc-3rds17bz.json index 7f1695b8c..9aa2abbcb 100644 --- a/tests/data/devices/third-reality-inc-3rds17bz.json +++ b/tests/data/devices/third-reality-inc-3rds17bz.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "28:2c:02:bf:ff:e7:b2:eb", "nwk": "0xCA1A", "manufacturer": "Third Reality, Inc", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 150 + "value": 150, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,13 +93,20 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29 + "value": 29, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -131,6 +146,7 @@ { "cluster_id": "0xff01", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -138,6 +154,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -194,22 +211,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "28:2c:02:bf:ff:e7:b2:eb:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e7:b2:eb", "endpoint_id": 1, "available": true, @@ -239,22 +240,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xff01", - "endpoint_id": 1, - "cluster": { - "id": 65281, - "name": "ThirdRealityDoorCluster", - "type": "server" - }, - "id": "1:0xff01", - "unique_id": "28:2c:02:bf:ff:e7:b2:eb:1:0xff01", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e7:b2:eb", "endpoint_id": 1, "available": true, @@ -288,22 +273,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:e7:b2:eb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e7:b2:eb", "endpoint_id": 1, "available": true, @@ -332,22 +301,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:e7:b2:eb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e7:b2:eb", "endpoint_id": 1, "available": true, @@ -376,22 +329,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "28:2c:02:bf:ff:e7:b2:eb:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "28:2c:02:bf:ff:e7:b2:eb", "endpoint_id": 1, "available": true, @@ -428,22 +365,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "28:2c:02:bf:ff:e7:b2:eb:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e7:b2:eb", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/third-reality-inc-3rms16bz.json b/tests/data/devices/third-reality-inc-3rms16bz.json index 14ff72b44..7671ab7f8 100644 --- a/tests/data/devices/third-reality-inc-3rms16bz.json +++ b/tests/data/devices/third-reality-inc-3rms16bz.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "28:2c:02:bf:ff:e7:ba:8c", "nwk": "0xED4B", "manufacturer": "Third Reality, Inc", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0008", @@ -74,12 +75,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 101 + "value": 101, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -97,13 +105,20 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 26 + "value": 26, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -143,6 +158,7 @@ { "cluster_id": "0xff01", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -157,6 +173,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -220,22 +237,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "28:2c:02:bf:ff:e7:ba:8c:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e7:ba:8c", "endpoint_id": 1, "available": true, @@ -265,22 +266,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xff01", - "endpoint_id": 1, - "cluster": { - "id": 65281, - "name": "ThirdRealityMotionCluster", - "type": "server" - }, - "id": "1:0xff01", - "unique_id": "28:2c:02:bf:ff:e7:ba:8c:1:0xff01", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e7:ba:8c", "endpoint_id": 1, "available": true, @@ -314,22 +299,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:e7:ba:8c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e7:ba:8c", "endpoint_id": 1, "available": true, @@ -358,22 +327,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:e7:ba:8c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e7:ba:8c", "endpoint_id": 1, "available": true, @@ -402,22 +355,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "28:2c:02:bf:ff:e7:ba:8c:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "28:2c:02:bf:ff:e7:ba:8c", "endpoint_id": 1, "available": true, @@ -454,22 +391,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "28:2c:02:bf:ff:e7:ba:8c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e7:ba:8c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/third-reality-inc-3rsb015bz.json b/tests/data/devices/third-reality-inc-3rsb015bz.json index da9b86d45..63a975b84 100644 --- a/tests/data/devices/third-reality-inc-3rsb015bz.json +++ b/tests/data/devices/third-reality-inc-3rsb015bz.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "28:2c:02:bf:ff:ea:05:68", "nwk": "0x12D8", "manufacturer": "Third Reality, Inc", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -86,12 +87,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 116 + "value": 116, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -109,19 +117,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 53 + "value": 53, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -134,6 +155,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -157,7 +179,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 67 + "value": 67, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", @@ -169,7 +197,13 @@ "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -212,6 +246,7 @@ { "cluster_id": "0xfff1", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -219,6 +254,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -231,6 +267,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -243,6 +280,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -326,22 +364,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "28:2c:02:bf:ff:ea:05:68:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:ea:05:68", "endpoint_id": 1, "available": true, @@ -371,22 +393,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfff1", - "endpoint_id": 1, - "cluster": { - "id": 65521, - "name": "ThirdRealityCurtainCluster", - "type": "server" - }, - "id": "1:0xfff1", - "unique_id": "28:2c:02:bf:ff:ea:05:68:1:0xfff1", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:ea:05:68", "endpoint_id": 1, "available": true, @@ -416,22 +422,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "28:2c:02:bf:ff:ea:05:68:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "28:2c:02:bf:ff:ea:05:68", "endpoint_id": 1, "available": true, @@ -466,22 +456,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:ea:05:68:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:ea:05:68", "endpoint_id": 1, "available": true, @@ -510,22 +484,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:ea:05:68:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:ea:05:68", "endpoint_id": 1, "available": true, @@ -554,22 +512,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "28:2c:02:bf:ff:ea:05:68:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "28:2c:02:bf:ff:ea:05:68", "endpoint_id": 1, "available": true, @@ -604,22 +546,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "28:2c:02:bf:ff:ea:05:68:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "28:2c:02:bf:ff:ea:05:68", "endpoint_id": 1, "available": true, @@ -650,22 +576,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "28:2c:02:bf:ff:ea:05:68:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "28:2c:02:bf:ff:ea:05:68", "endpoint_id": 1, "available": true, @@ -692,22 +602,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfff1", - "endpoint_id": 1, - "cluster": { - "id": 65521, - "name": "ThirdRealityCurtainCluster", - "type": "server" - }, - "id": "1:0xfff1", - "unique_id": "28:2c:02:bf:ff:ea:05:68:1:0xfff1", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:ea:05:68", "endpoint_id": 1, "available": true, @@ -742,22 +636,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "28:2c:02:bf:ff:ea:05:68:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:ea:05:68", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/third-reality-inc-3rsb22bz.json b/tests/data/devices/third-reality-inc-3rsb22bz.json index ace43268c..b4b07b9dd 100644 --- a/tests/data/devices/third-reality-inc-3rsb22bz.json +++ b/tests/data/devices/third-reality-inc-3rsb22bz.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "28:2c:02:bf:ff:e3:74:f8", "nwk": "0x2711", "manufacturer": "Third Reality, Inc", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,24 +69,38 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 135 + "value": 135, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29 + "value": 29, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -98,6 +113,7 @@ { "cluster_id": "0xff01", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -105,16 +121,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -172,22 +191,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:e3:74:f8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e3:74:f8", "endpoint_id": 1, "available": true, @@ -216,22 +219,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:e3:74:f8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e3:74:f8", "endpoint_id": 1, "available": true, @@ -260,22 +247,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "28:2c:02:bf:ff:e3:74:f8:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "28:2c:02:bf:ff:e3:74:f8", "endpoint_id": 1, "available": true, @@ -312,22 +283,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xff01", - "endpoint_id": 1, - "cluster": { - "id": 65281, - "name": "ThirdRealityButtonCluster", - "type": "server" - }, - "id": "1:0xff01", - "unique_id": "28:2c:02:bf:ff:e3:74:f8:1:0xff01", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e3:74:f8", "endpoint_id": 1, "available": true, @@ -362,22 +317,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "28:2c:02:bf:ff:e3:74:f8:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e3:74:f8", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/third-reality-inc-3rsm0147z.json b/tests/data/devices/third-reality-inc-3rsm0147z.json index b9920e2a2..98bcf866d 100644 --- a/tests/data/devices/third-reality-inc-3rsm0147z.json +++ b/tests/data/devices/third-reality-inc-3rsm0147z.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "28:2c:02:bf:ff:ef:2b:82", "nwk": "0x0B7F", "manufacturer": "Third Reality, Inc", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,37 +99,58 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 15 + "value": 15, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2230 + "value": 2230, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 3121 + "value": 3121, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xff01", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -129,6 +158,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -193,22 +223,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xff01", - "endpoint_id": 1, - "cluster": { - "id": 65281, - "name": "ThirdRealitySoilMoistureCluster", - "type": "server" - }, - "id": "1:0xff01", - "unique_id": "28:2c:02:bf:ff:ef:2b:82:1:0xff01", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:ef:2b:82", "endpoint_id": 1, "available": true, @@ -240,22 +254,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xff01", - "endpoint_id": 1, - "cluster": { - "id": 65281, - "name": "ThirdRealitySoilMoistureCluster", - "type": "server" - }, - "id": "1:0xff01", - "unique_id": "28:2c:02:bf:ff:ef:2b:82:1:0xff01", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:ef:2b:82", "endpoint_id": 1, "available": true, @@ -289,22 +287,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:ef:2b:82:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:ef:2b:82", "endpoint_id": 1, "available": true, @@ -333,22 +315,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:ef:2b:82:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:ef:2b:82", "endpoint_id": 1, "available": true, @@ -377,22 +343,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "28:2c:02:bf:ff:ef:2b:82:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "28:2c:02:bf:ff:ef:2b:82", "endpoint_id": 1, "available": true, @@ -427,22 +377,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "28:2c:02:bf:ff:ef:2b:82:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "28:2c:02:bf:ff:ef:2b:82", "endpoint_id": 1, "available": true, @@ -471,22 +405,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "28:2c:02:bf:ff:ef:2b:82:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "28:2c:02:bf:ff:ef:2b:82", "endpoint_id": 1, "available": true, @@ -517,22 +435,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "28:2c:02:bf:ff:ef:2b:82:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:ef:2b:82", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/third-reality-inc-3rsnl02043z.json b/tests/data/devices/third-reality-inc-3rsnl02043z.json index 973885e71..847359188 100644 --- a/tests/data/devices/third-reality-inc-3rsnl02043z.json +++ b/tests/data/devices/third-reality-inc-3rsnl02043z.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "b4:0e:cf:d3:a1:6b:00:00", "nwk": "0x1174", "manufacturer": "Third Reality, Inc", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,11 +161,13 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -183,7 +203,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 65535 + "value": 65535, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -201,13 +227,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 20119 + "value": 20119, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 40238 + "value": 40238, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -232,18 +270,26 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 26740 + "value": 26740, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -274,11 +320,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -286,6 +334,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -356,22 +405,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "b4:0e:cf:d3:a1:6b:00:00:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b4:0e:cf:d3:a1:6b:00:00", "endpoint_id": 1, "available": true, @@ -401,22 +434,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "b4:0e:cf:d3:a1:6b:00:00:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b4:0e:cf:d3:a1:6b:00:00", "endpoint_id": 1, "available": true, @@ -449,50 +466,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "b4:0e:cf:d3:a1:6b:00:00:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b4:0e:cf:d3:a1:6b:00:00:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "b4:0e:cf:d3:a1:6b:00:00:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "b4:0e:cf:d3:a1:6b:00:00", "endpoint_id": 1, "available": true, @@ -553,22 +526,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "b4:0e:cf:d3:a1:6b:00:00:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "b4:0e:cf:d3:a1:6b:00:00", "endpoint_id": 1, "available": true, @@ -600,22 +557,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b4:0e:cf:d3:a1:6b:00:00:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "b4:0e:cf:d3:a1:6b:00:00", "endpoint_id": 1, "available": true, @@ -647,22 +588,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b4:0e:cf:d3:a1:6b:00:00:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "b4:0e:cf:d3:a1:6b:00:00", "endpoint_id": 1, "available": true, @@ -694,22 +619,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "b4:0e:cf:d3:a1:6b:00:00:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "b4:0e:cf:d3:a1:6b:00:00", "endpoint_id": 1, "available": true, @@ -743,22 +652,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "b4:0e:cf:d3:a1:6b:00:00:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "b4:0e:cf:d3:a1:6b:00:00", "endpoint_id": 1, "available": true, @@ -794,22 +687,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b4:0e:cf:d3:a1:6b:00:00:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b4:0e:cf:d3:a1:6b:00:00", "endpoint_id": 1, "available": true, @@ -838,22 +715,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "b4:0e:cf:d3:a1:6b:00:00:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b4:0e:cf:d3:a1:6b:00:00", "endpoint_id": 1, "available": true, @@ -882,22 +743,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "b4:0e:cf:d3:a1:6b:00:00:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "b4:0e:cf:d3:a1:6b:00:00", "endpoint_id": 1, "available": true, @@ -928,22 +773,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "b4:0e:cf:d3:a1:6b:00:00:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "b4:0e:cf:d3:a1:6b:00:00", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/third-reality-inc-3rsp019bz.json b/tests/data/devices/third-reality-inc-3rsp019bz.json index 25ff08ade..56938ba9d 100644 --- a/tests/data/devices/third-reality-inc-3rsp019bz.json +++ b/tests/data/devices/third-reality-inc-3rsp019bz.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "28:2c:02:bf:ff:eb:09:0d", "nwk": "0xF4E0", "manufacturer": "Third Reality, Inc", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,24 +112,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -142,31 +172,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -174,11 +234,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -190,7 +388,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -202,13 +406,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -216,23 +432,90 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -240,6 +523,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -262,6 +546,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -329,22 +614,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "28:2c:02:bf:ff:eb:09:0d:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:eb:09:0d", "endpoint_id": 1, "available": true, @@ -377,22 +646,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "28:2c:02:bf:ff:eb:09:0d:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "28:2c:02:bf:ff:eb:09:0d", "endpoint_id": 1, "available": true, @@ -428,22 +681,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:eb:09:0d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:eb:09:0d", "endpoint_id": 1, "available": true, @@ -472,22 +709,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:eb:09:0d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:eb:09:0d", "endpoint_id": 1, "available": true, @@ -518,22 +739,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "28:2c:02:bf:ff:eb:09:0d:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "28:2c:02:bf:ff:eb:09:0d", "endpoint_id": 1, "available": true, @@ -562,22 +767,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "28:2c:02:bf:ff:eb:09:0d:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:eb:09:0d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/third-reality-inc-3rsp02028bz.json b/tests/data/devices/third-reality-inc-3rsp02028bz.json index ddddf1a46..66b0b5ecd 100644 --- a/tests/data/devices/third-reality-inc-3rsp02028bz.json +++ b/tests/data/devices/third-reality-inc-3rsp02028bz.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "28:2c:02:bf:ff:eb:4f:2f", "nwk": "0x3C65", "manufacturer": "Third Reality, Inc", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,24 +106,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 60 + "value": 60, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -136,31 +166,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -184,19 +244,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -208,7 +394,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -232,13 +424,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -262,19 +466,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 1245 + "value": 1245, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -298,24 +520,50 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff03", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -323,6 +571,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -345,6 +594,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -413,22 +663,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "28:2c:02:bf:ff:eb:4f:2f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:eb:4f:2f", "endpoint_id": 1, "available": true, @@ -459,22 +693,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xff03", - "endpoint_id": 1, - "cluster": { - "id": 65283, - "name": "ThirdRealityPlugCluster", - "type": "server" - }, - "id": "1:0xff03", - "unique_id": "28:2c:02:bf:ff:eb:4f:2f:1:0xff03", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:eb:4f:2f", "endpoint_id": 1, "available": true, @@ -504,22 +722,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xff03", - "endpoint_id": 1, - "cluster": { - "id": 65283, - "name": "ThirdRealityPlugCluster", - "type": "server" - }, - "id": "1:0xff03", - "unique_id": "28:2c:02:bf:ff:eb:4f:2f:1:0xff03", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:eb:4f:2f", "endpoint_id": 1, "available": true, @@ -551,22 +753,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xff03", - "endpoint_id": 1, - "cluster": { - "id": 65283, - "name": "ThirdRealityPlugCluster", - "type": "server" - }, - "id": "1:0xff03", - "unique_id": "28:2c:02:bf:ff:eb:4f:2f:1:0xff03", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:eb:4f:2f", "endpoint_id": 1, "available": true, @@ -600,22 +786,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "28:2c:02:bf:ff:eb:4f:2f:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "28:2c:02:bf:ff:eb:4f:2f", "endpoint_id": 1, "available": true, @@ -651,22 +821,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:eb:4f:2f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:eb:4f:2f", "endpoint_id": 1, "available": true, @@ -695,22 +849,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:eb:4f:2f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:eb:4f:2f", "endpoint_id": 1, "available": true, @@ -739,22 +877,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "28:2c:02:bf:ff:eb:4f:2f:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "28:2c:02:bf:ff:eb:4f:2f", "endpoint_id": 1, "available": true, @@ -787,22 +909,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "28:2c:02:bf:ff:eb:4f:2f:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "28:2c:02:bf:ff:eb:4f:2f", "endpoint_id": 1, "available": true, @@ -835,22 +941,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "28:2c:02:bf:ff:eb:4f:2f:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "28:2c:02:bf:ff:eb:4f:2f", "endpoint_id": 1, "available": true, @@ -882,22 +972,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "28:2c:02:bf:ff:eb:4f:2f:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "28:2c:02:bf:ff:eb:4f:2f", "endpoint_id": 1, "available": true, @@ -930,22 +1004,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "28:2c:02:bf:ff:eb:4f:2f:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "28:2c:02:bf:ff:eb:4f:2f", "endpoint_id": 1, "available": true, @@ -980,22 +1038,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "28:2c:02:bf:ff:eb:4f:2f:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "28:2c:02:bf:ff:eb:4f:2f", "endpoint_id": 1, "available": true, @@ -1024,22 +1066,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "28:2c:02:bf:ff:eb:4f:2f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:eb:4f:2f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/third-reality-inc-3rss007z.json b/tests/data/devices/third-reality-inc-3rss007z.json index c78e8e599..c4c67a061 100644 --- a/tests/data/devices/third-reality-inc-3rss007z.json +++ b/tests/data/devices/third-reality-inc-3rss007z.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "28:2c:02:bf:ff:e0:16:01", "nwk": "0x3526", "manufacturer": "Third Reality, Inc", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,6 +106,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -152,22 +164,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "28:2c:02:bf:ff:e0:16:01:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e0:16:01", "endpoint_id": 1, "available": true, @@ -200,22 +196,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:e0:16:01:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e0:16:01", "endpoint_id": 1, "available": true, @@ -244,22 +224,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:e0:16:01:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e0:16:01", "endpoint_id": 1, "available": true, @@ -290,22 +254,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "28:2c:02:bf:ff:e0:16:01:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "28:2c:02:bf:ff:e0:16:01", "endpoint_id": 1, "available": true, @@ -334,22 +282,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClusterHandler", - "generic_id": "cluster_handler_0x0019", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "server" - }, - "id": "1:0x0019", - "unique_id": "28:2c:02:bf:ff:e0:16:01:1:0x0019", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e0:16:01", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/third-reality-inc-3rss009z.json b/tests/data/devices/third-reality-inc-3rss009z.json index 201e0785b..d5934975e 100644 --- a/tests/data/devices/third-reality-inc-3rss009z.json +++ b/tests/data/devices/third-reality-inc-3rss009z.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "28:2c:02:bf:ff:e9:77:95", "nwk": "0x6FD0", "manufacturer": "Third Reality, Inc", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 112 + "value": 112, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,19 +99,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -116,11 +137,13 @@ { "cluster_id": "0xff00", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff02", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -128,11 +151,13 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -198,22 +223,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xff02", - "endpoint_id": 1, - "cluster": { - "id": 65282, - "name": "ThirdRealitySwitchCluster", - "type": "server" - }, - "id": "1:0xff02", - "unique_id": "28:2c:02:bf:ff:e9:77:95:1:0xff02", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e9:77:95", "endpoint_id": 1, "available": true, @@ -245,22 +254,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xff02", - "endpoint_id": 1, - "cluster": { - "id": 65282, - "name": "ThirdRealitySwitchCluster", - "type": "server" - }, - "id": "1:0xff02", - "unique_id": "28:2c:02:bf:ff:e9:77:95:1:0xff02", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e9:77:95", "endpoint_id": 1, "available": true, @@ -294,22 +287,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:e9:77:95:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e9:77:95", "endpoint_id": 1, "available": true, @@ -338,22 +315,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:e9:77:95:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e9:77:95", "endpoint_id": 1, "available": true, @@ -382,22 +343,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "28:2c:02:bf:ff:e9:77:95:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "28:2c:02:bf:ff:e9:77:95", "endpoint_id": 1, "available": true, @@ -434,22 +379,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "28:2c:02:bf:ff:e9:77:95:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "28:2c:02:bf:ff:e9:77:95", "endpoint_id": 1, "available": true, @@ -478,22 +407,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "28:2c:02:bf:ff:e9:77:95:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e9:77:95", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/third-reality-inc-3rths24bz.json b/tests/data/devices/third-reality-inc-3rths24bz.json index 696990367..28e410229 100644 --- a/tests/data/devices/third-reality-inc-3rths24bz.json +++ b/tests/data/devices/third-reality-inc-3rths24bz.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "a4:c1:38:cb:f6:22:83:f0", "nwk": "0x9253", "manufacturer": "Third Reality, Inc", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 84 + "value": 84, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,37 +99,58 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 25 + "value": 25, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2640 + "value": 2640, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5600 + "value": 5600, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xff01", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -129,6 +158,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -193,22 +223,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xff01", - "endpoint_id": 1, - "cluster": { - "id": 65281, - "name": "ThirdRealityCluster", - "type": "server" - }, - "id": "1:0xff01", - "unique_id": "a4:c1:38:cb:f6:22:83:f0:1:0xff01", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:cb:f6:22:83:f0", "endpoint_id": 1, "available": true, @@ -240,22 +254,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xff01", - "endpoint_id": 1, - "cluster": { - "id": 65281, - "name": "ThirdRealityCluster", - "type": "server" - }, - "id": "1:0xff01", - "unique_id": "a4:c1:38:cb:f6:22:83:f0:1:0xff01", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:cb:f6:22:83:f0", "endpoint_id": 1, "available": true, @@ -289,22 +287,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "a4:c1:38:cb:f6:22:83:f0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:cb:f6:22:83:f0", "endpoint_id": 1, "available": true, @@ -333,22 +315,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "a4:c1:38:cb:f6:22:83:f0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:cb:f6:22:83:f0", "endpoint_id": 1, "available": true, @@ -377,22 +343,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "a4:c1:38:cb:f6:22:83:f0:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "a4:c1:38:cb:f6:22:83:f0", "endpoint_id": 1, "available": true, @@ -427,22 +377,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "a4:c1:38:cb:f6:22:83:f0:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "a4:c1:38:cb:f6:22:83:f0", "endpoint_id": 1, "available": true, @@ -471,22 +405,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "a4:c1:38:cb:f6:22:83:f0:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "a4:c1:38:cb:f6:22:83:f0", "endpoint_id": 1, "available": true, @@ -517,22 +435,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "a4:c1:38:cb:f6:22:83:f0:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:cb:f6:22:83:f0", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/third-reality-inc-3rvs01031z.json b/tests/data/devices/third-reality-inc-3rvs01031z.json index faf8cee16..cd7261860 100644 --- a/tests/data/devices/third-reality-inc-3rvs01031z.json +++ b/tests/data/devices/third-reality-inc-3rvs01031z.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "28:2c:02:bf:ff:eb:ae:fe", "nwk": "0x0692", "manufacturer": "Third Reality, Inc", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 167 + "value": 167, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,13 +99,20 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31 + "value": 31, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -137,6 +152,7 @@ { "cluster_id": "0xfff1", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -163,6 +179,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -226,22 +243,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "28:2c:02:bf:ff:eb:ae:fe:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:eb:ae:fe", "endpoint_id": 1, "available": true, @@ -271,22 +272,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:eb:ae:fe:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:eb:ae:fe", "endpoint_id": 1, "available": true, @@ -315,22 +300,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:eb:ae:fe:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:eb:ae:fe", "endpoint_id": 1, "available": true, @@ -359,22 +328,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "28:2c:02:bf:ff:eb:ae:fe:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "28:2c:02:bf:ff:eb:ae:fe", "endpoint_id": 1, "available": true, @@ -411,22 +364,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "28:2c:02:bf:ff:eb:ae:fe:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:eb:ae:fe", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/third-reality-inc-3rws18bz.json b/tests/data/devices/third-reality-inc-3rws18bz.json index f56348709..96eadc977 100644 --- a/tests/data/devices/third-reality-inc-3rws18bz.json +++ b/tests/data/devices/third-reality-inc-3rws18bz.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "28:2c:02:bf:ff:e7:c9:49", "nwk": "0xE213", "manufacturer": "Third Reality, Inc", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -86,12 +87,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 104 + "value": 104, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -109,13 +117,20 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 26 + "value": 26, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -155,6 +170,7 @@ { "cluster_id": "0xff01", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -162,6 +178,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -180,6 +197,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -244,22 +262,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "28:2c:02:bf:ff:e7:c9:49:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e7:c9:49", "endpoint_id": 1, "available": true, @@ -287,22 +289,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "28:2c:02:bf:ff:e7:c9:49:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e7:c9:49", "endpoint_id": 1, "available": true, @@ -332,22 +318,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xff01", - "endpoint_id": 1, - "cluster": { - "id": 65281, - "name": "ThirdRealityWaterLeakCluster", - "type": "server" - }, - "id": "1:0xff01", - "unique_id": "28:2c:02:bf:ff:e7:c9:49:1:0xff01", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e7:c9:49", "endpoint_id": 1, "available": true, @@ -381,22 +351,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:e7:c9:49:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e7:c9:49", "endpoint_id": 1, "available": true, @@ -425,22 +379,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "28:2c:02:bf:ff:e7:c9:49:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e7:c9:49", "endpoint_id": 1, "available": true, @@ -469,22 +407,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "28:2c:02:bf:ff:e7:c9:49:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "28:2c:02:bf:ff:e7:c9:49", "endpoint_id": 1, "available": true, @@ -521,22 +443,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xff01", - "endpoint_id": 1, - "cluster": { - "id": 65281, - "name": "ThirdRealityWaterLeakCluster", - "type": "server" - }, - "id": "1:0xff01", - "unique_id": "28:2c:02:bf:ff:e7:c9:49:1:0xff01", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e7:c9:49", "endpoint_id": 1, "available": true, @@ -571,22 +477,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "28:2c:02:bf:ff:e7:c9:49:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "28:2c:02:bf:ff:e7:c9:49", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tubeszb-tubeszb-router.json b/tests/data/devices/tubeszb-tubeszb-router.json index dc02d5d63..4441d07a6 100644 --- a/tests/data/devices/tubeszb-tubeszb-router.json +++ b/tests/data/devices/tubeszb-tubeszb-router.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:12:4b:00:22:98:38:6d", "nwk": "0xC862", "manufacturer": "TubesZB", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -98,6 +99,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -105,6 +107,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -120,6 +123,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -182,22 +186,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 8, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "8:0x0003", - "unique_id": "00:12:4b:00:22:98:38:6d:8:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:22:98:38:6d", "endpoint_id": 8, "available": true, @@ -230,22 +218,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 8, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "8:0x0000", - "unique_id": "00:12:4b:00:22:98:38:6d:8:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:22:98:38:6d", "endpoint_id": 8, "available": true, @@ -274,22 +246,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 8, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "8:0x0000", - "unique_id": "00:12:4b:00:22:98:38:6d:8:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:12:4b:00:22:98:38:6d", "endpoint_id": 8, "available": true, diff --git a/tests/data/devices/tuyatec-gqhxixyk-rh3052.json b/tests/data/devices/tuyatec-gqhxixyk-rh3052.json index da5158b0d..5450cc65c 100644 --- a/tests/data/devices/tuyatec-gqhxixyk-rh3052.json +++ b/tests/data/devices/tuyatec-gqhxixyk-rh3052.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "60:a4:23:ff:fe:37:11:33", "nwk": "0xC8DF", "manufacturer": "TUYATEC-gqhxixyk", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,36 +99,57 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2589 + "value": 2589, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4304 + "value": 4304, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -129,16 +158,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -198,22 +230,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "60:a4:23:ff:fe:37:11:33:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "60:a4:23:ff:fe:37:11:33", "endpoint_id": 1, "available": true, @@ -246,22 +262,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "60:a4:23:ff:fe:37:11:33:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "60:a4:23:ff:fe:37:11:33", "endpoint_id": 1, "available": true, @@ -290,22 +290,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "60:a4:23:ff:fe:37:11:33:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "60:a4:23:ff:fe:37:11:33", "endpoint_id": 1, "available": true, @@ -334,22 +318,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "60:a4:23:ff:fe:37:11:33:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "60:a4:23:ff:fe:37:11:33", "endpoint_id": 1, "available": true, @@ -384,22 +352,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "60:a4:23:ff:fe:37:11:33:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "60:a4:23:ff:fe:37:11:33", "endpoint_id": 1, "available": true, @@ -428,22 +380,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "60:a4:23:ff:fe:37:11:33:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "60:a4:23:ff:fe:37:11:33", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tuyatec-r9hgssol-rh3001.json b/tests/data/devices/tuyatec-r9hgssol-rh3001.json index 4684994cc..c15c100cb 100644 --- a/tests/data/devices/tuyatec-r9hgssol-rh3001.json +++ b/tests/data/devices/tuyatec-r9hgssol-rh3001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "68:0a:e2:ff:fe:f1:b5:18", "nwk": "0x9A9D", "manufacturer": "TUYATEC-r9hgssol", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -74,12 +75,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -97,18 +105,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -150,6 +166,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -206,22 +223,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "68:0a:e2:ff:fe:f1:b5:18:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "68:0a:e2:ff:fe:f1:b5:18", "endpoint_id": 1, "available": true, @@ -251,22 +252,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "68:0a:e2:ff:fe:f1:b5:18:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "68:0a:e2:ff:fe:f1:b5:18", "endpoint_id": 1, "available": true, @@ -299,22 +284,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "68:0a:e2:ff:fe:f1:b5:18:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "68:0a:e2:ff:fe:f1:b5:18", "endpoint_id": 1, "available": true, @@ -343,22 +312,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "68:0a:e2:ff:fe:f1:b5:18:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "68:0a:e2:ff:fe:f1:b5:18", "endpoint_id": 1, "available": true, @@ -387,22 +340,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "68:0a:e2:ff:fe:f1:b5:18:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "68:0a:e2:ff:fe:f1:b5:18", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tuyatec-rkqiqvcs-rh3001.json b/tests/data/devices/tuyatec-rkqiqvcs-rh3001.json index 7ed9ea8c0..91883f4be 100644 --- a/tests/data/devices/tuyatec-rkqiqvcs-rh3001.json +++ b/tests/data/devices/tuyatec-rkqiqvcs-rh3001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ec:1b:bd:ff:fe:c9:02:65", "nwk": "0x7A9B", "manufacturer": "TUYATEC-rkqiqvcs", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 98 + "value": 98, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,18 +99,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 26 + "value": 26, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -156,6 +172,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -212,22 +229,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ec:1b:bd:ff:fe:c9:02:65:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:c9:02:65", "endpoint_id": 1, "available": true, @@ -257,22 +258,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ec:1b:bd:ff:fe:c9:02:65:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:c9:02:65", "endpoint_id": 1, "available": true, @@ -305,22 +290,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ec:1b:bd:ff:fe:c9:02:65:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:c9:02:65", "endpoint_id": 1, "available": true, @@ -349,22 +318,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ec:1b:bd:ff:fe:c9:02:65:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:c9:02:65", "endpoint_id": 1, "available": true, @@ -393,22 +346,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ec:1b:bd:ff:fe:c9:02:65:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ec:1b:bd:ff:fe:c9:02:65", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tuyatec-yg5dcbfu-rh3052.json b/tests/data/devices/tuyatec-yg5dcbfu-rh3052.json index f7df8c88f..57840cb6c 100644 --- a/tests/data/devices/tuyatec-yg5dcbfu-rh3052.json +++ b/tests/data/devices/tuyatec-yg5dcbfu-rh3052.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "14:b4:57:ff:fe:3b:04:ec", "nwk": "0x2F13", "manufacturer": "TUYATEC-yg5dcbfu", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -80,12 +81,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 152 + "value": 152, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -103,36 +111,57 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2030 + "value": 2030, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 6285 + "value": 6285, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -141,16 +170,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -210,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "14:b4:57:ff:fe:3b:04:ec:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:b4:57:ff:fe:3b:04:ec", "endpoint_id": 1, "available": true, @@ -258,22 +274,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "14:b4:57:ff:fe:3b:04:ec:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:b4:57:ff:fe:3b:04:ec", "endpoint_id": 1, "available": true, @@ -302,22 +302,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "14:b4:57:ff:fe:3b:04:ec:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "14:b4:57:ff:fe:3b:04:ec", "endpoint_id": 1, "available": true, @@ -346,22 +330,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "14:b4:57:ff:fe:3b:04:ec:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "14:b4:57:ff:fe:3b:04:ec", "endpoint_id": 1, "available": true, @@ -396,22 +364,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "14:b4:57:ff:fe:3b:04:ec:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "14:b4:57:ff:fe:3b:04:ec", "endpoint_id": 1, "available": true, @@ -440,22 +392,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "14:b4:57:ff:fe:3b:04:ec:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "14:b4:57:ff:fe:3b:04:ec", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tyst11-czk78ptr-zk78ptr.json b/tests/data/devices/tyst11-czk78ptr-zk78ptr.json index a186efb9a..fc58c74e4 100644 --- a/tests/data/devices/tyst11-czk78ptr-zk78ptr.json +++ b/tests/data/devices/tyst11-czk78ptr-zk78ptr.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:9d:fd:87:35", "nwk": "0xC52F", "manufacturer": "_TYST11_czk78ptr", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,7 +69,20 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0033", "name": "battery_quantity", @@ -86,17 +100,31 @@ "name": "battery_size", "zcl_type": "enum8", "value": 3 + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x001b", @@ -108,19 +136,73 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 1760 + "value": 1760, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "value": 1 + "value": 1, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0011", + "name": "occupied_cooling_setpoint", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1350 + "value": 1350, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, + { + "id": "0x0007", + "name": "pi_cooling_demand", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } + }, + { + "id": "0x0008", + "name": "pi_heating_demand", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0025", @@ -132,31 +214,68 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 1 + "value": 1, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0013", + "name": "unoccupied_cooling_setpoint", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "value": 1650 + "value": 1650, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -169,6 +288,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -176,11 +296,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -240,22 +362,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:9d:fd:87:35:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9d:fd:87:35", "endpoint_id": 1, "available": true, @@ -288,22 +394,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:9d:fd:87:35:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:9d:fd:87:35", "endpoint_id": 1, "available": true, @@ -367,22 +457,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:9d:fd:87:35:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9d:fd:87:35", "endpoint_id": 1, "available": true, @@ -419,22 +493,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:9d:fd:87:35:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9d:fd:87:35", "endpoint_id": 1, "available": true, @@ -463,22 +521,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:9d:fd:87:35:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9d:fd:87:35", "endpoint_id": 1, "available": true, @@ -507,22 +549,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:9d:fd:87:35:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:9d:fd:87:35", "endpoint_id": 1, "available": true, @@ -558,22 +584,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:9d:fd:87:35:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:9d:fd:87:35", "endpoint_id": 1, "available": true, @@ -602,22 +612,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:9d:fd:87:35:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:9d:fd:87:35", "endpoint_id": 1, "available": true, @@ -646,22 +640,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:9d:fd:87:35:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:9d:fd:87:35", "endpoint_id": 1, "available": true, @@ -690,22 +668,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:9d:fd:87:35:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:9d:fd:87:35", "endpoint_id": 1, "available": true, @@ -736,22 +698,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:9d:fd:87:35:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9d:fd:87:35", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tyst11-i5j6ifxj-5j6ifxj.json b/tests/data/devices/tyst11-i5j6ifxj-5j6ifxj.json index c23ca26d5..c8fbeadbd 100644 --- a/tests/data/devices/tyst11-i5j6ifxj-5j6ifxj.json +++ b/tests/data/devices/tyst11-i5j6ifxj-5j6ifxj.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ec:1b:bd:ff:fe:30:2e:51", "nwk": "0x8B01", "manufacturer": "_TYST11_i5j6ifxj", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -74,11 +75,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0010", @@ -109,6 +112,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -116,11 +120,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -185,22 +191,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ec:1b:bd:ff:fe:30:2e:51:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:30:2e:51", "endpoint_id": 1, "available": true, @@ -230,22 +220,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ec:1b:bd:ff:fe:30:2e:51:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:30:2e:51", "endpoint_id": 1, "available": true, @@ -278,22 +252,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ec:1b:bd:ff:fe:30:2e:51:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:30:2e:51", "endpoint_id": 1, "available": true, @@ -322,22 +280,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ec:1b:bd:ff:fe:30:2e:51:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:30:2e:51", "endpoint_id": 1, "available": true, @@ -368,22 +310,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ec:1b:bd:ff:fe:30:2e:51:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:30:2e:51", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tyzb01-1xktopx6-ts0041a.json b/tests/data/devices/tyzb01-1xktopx6-ts0041a.json index 11e18dc83..c41d1cd7c 100644 --- a/tests/data/devices/tyzb01-1xktopx6-ts0041a.json +++ b/tests/data/devices/tyzb01-1xktopx6-ts0041a.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:8d:76:87:d5", "nwk": "0xD177", "manufacturer": "_TYZB01_1xktopx6", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,30 +93,53 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [ { "cluster_id": "0x0006", "endpoint_attribute": "TS004X_cluster", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -173,22 +204,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8d:76:87:d5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:76:87:d5", "endpoint_id": 1, "available": true, @@ -217,22 +232,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8d:76:87:d5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:76:87:d5", "endpoint_id": 1, "available": true, @@ -261,22 +260,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:8d:76:87:d5:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:8d:76:87:d5", "endpoint_id": 1, "available": true, @@ -313,22 +296,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:8d:76:87:d5:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:8d:76:87:d5", "endpoint_id": 1, "available": true, @@ -357,22 +324,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:8d:76:87:d5:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:76:87:d5", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tyzb01-8scntis1-ts0216.json b/tests/data/devices/tyzb01-8scntis1-ts0216.json index 9f5e1abb3..1f03e5a2b 100644 --- a/tests/data/devices/tyzb01-8scntis1-ts0216.json +++ b/tests/data/devices/tyzb01-8scntis1-ts0216.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:52:26:72:dc", "nwk": "0xC264", "manufacturer": "_TYZB01_8scntis1", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,7 +93,13 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 42 + "value": 42, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -104,11 +118,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -148,11 +164,13 @@ { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -160,11 +178,13 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -180,6 +200,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -247,22 +268,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:52:26:72:dc:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:26:72:dc", "endpoint_id": 1, "available": true, @@ -292,22 +297,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:52:26:72:dc:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:26:72:dc", "endpoint_id": 1, "available": true, @@ -340,22 +329,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 1, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "1:0x0502", - "unique_id": "ab:cd:ef:12:52:26:72:dc:1:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:26:72:dc", "endpoint_id": 1, "available": true, @@ -389,22 +362,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 1, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "1:0x0502", - "unique_id": "ab:cd:ef:12:52:26:72:dc:1:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:26:72:dc", "endpoint_id": 1, "available": true, @@ -436,22 +393,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 1, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "1:0x0502", - "unique_id": "ab:cd:ef:12:52:26:72:dc:1:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:26:72:dc", "endpoint_id": 1, "available": true, @@ -485,22 +426,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 1, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "1:0x0502", - "unique_id": "ab:cd:ef:12:52:26:72:dc:1:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:26:72:dc", "endpoint_id": 1, "available": true, @@ -539,22 +464,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:52:26:72:dc:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:26:72:dc", "endpoint_id": 1, "available": true, @@ -583,22 +492,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:52:26:72:dc:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:26:72:dc", "endpoint_id": 1, "available": true, @@ -629,22 +522,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IasWdClusterHandler", - "generic_id": "cluster_handler_0x0502", - "endpoint_id": 1, - "cluster": { - "id": 1282, - "name": "IAS Warning Device", - "type": "server" - }, - "id": "1:0x0502", - "unique_id": "ab:cd:ef:12:52:26:72:dc:1:0x0502", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:26:72:dc", "endpoint_id": 1, "available": true, @@ -682,22 +559,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:52:26:72:dc:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:26:72:dc", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tyzb01-mtunwanm-ts011f.json b/tests/data/devices/tyzb01-mtunwanm-ts011f.json index 238074349..3c9deee42 100644 --- a/tests/data/devices/tyzb01-mtunwanm-ts011f.json +++ b/tests/data/devices/tyzb01-mtunwanm-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:34:72:86:1c", "nwk": "0xFB70", "manufacturer": "_TYZB01_mtunwanm", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -74,16 +75,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -95,7 +99,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -120,6 +130,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -127,6 +138,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -184,22 +196,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:34:72:86:1c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:34:72:86:1c", "endpoint_id": 1, "available": true, @@ -228,22 +224,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:34:72:86:1c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:34:72:86:1c", "endpoint_id": 1, "available": true, @@ -274,22 +254,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:34:72:86:1c:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:34:72:86:1c", "endpoint_id": 1, "available": true, @@ -318,22 +282,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:34:72:86:1c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:34:72:86:1c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tyzb01-o63ssaah-ts0207.json b/tests/data/devices/tyzb01-o63ssaah-ts0207.json index b1824fc60..ae1da616a 100644 --- a/tests/data/devices/tyzb01-o63ssaah-ts0207.json +++ b/tests/data/devices/tyzb01-o63ssaah-ts0207.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ec:1b:bd:ff:fe:87:d5:3e", "nwk": "0xFF7C", "manufacturer": "_TYZB01_o63ssaah", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -80,12 +81,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -103,18 +111,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -154,6 +170,7 @@ { "cluster_id": "0xef01", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -161,11 +178,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -231,22 +250,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ec:1b:bd:ff:fe:87:d5:3e:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:87:d5:3e", "endpoint_id": 1, "available": true, @@ -276,22 +279,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ec:1b:bd:ff:fe:87:d5:3e:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:87:d5:3e", "endpoint_id": 1, "available": true, @@ -324,22 +311,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ec:1b:bd:ff:fe:87:d5:3e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:87:d5:3e", "endpoint_id": 1, "available": true, @@ -368,22 +339,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ec:1b:bd:ff:fe:87:d5:3e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:87:d5:3e", "endpoint_id": 1, "available": true, @@ -412,22 +367,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ec:1b:bd:ff:fe:87:d5:3e:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ec:1b:bd:ff:fe:87:d5:3e", "endpoint_id": 1, "available": true, @@ -464,22 +403,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ec:1b:bd:ff:fe:87:d5:3e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:87:d5:3e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tyzb01-qm6djpta-ts0215.json b/tests/data/devices/tyzb01-qm6djpta-ts0215.json index 28b709b34..04f340fc2 100644 --- a/tests/data/devices/tyzb01-qm6djpta-ts0215.json +++ b/tests/data/devices/tyzb01-qm6djpta-ts0215.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:09:4e:ff:d3", "nwk": "0x613B", "manufacturer": "_TYZB01_qm6djpta", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,23 +93,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -141,6 +158,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x011d", @@ -155,11 +173,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -172,6 +192,7 @@ { "cluster_id": "0x0501", "endpoint_attribute": "ias_ace", + "bind": "SUCCESS", "attributes": [] } ] @@ -232,22 +253,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IasAceClientClusterHandler", - "generic_id": "cluster_handler_0x0501_client", - "endpoint_id": 1, - "cluster": { - "id": 1281, - "name": "IAS Ancillary Control Equipment", - "type": "client" - }, - "id": "1:0x0501_client", - "unique_id": "ab:cd:ef:12:09:4e:ff:d3:1:0x0501_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:09:4e:ff:d3", "endpoint_id": 1, "available": true, @@ -279,22 +284,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:09:4e:ff:d3:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:09:4e:ff:d3", "endpoint_id": 1, "available": true, @@ -324,22 +313,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:09:4e:ff:d3:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:09:4e:ff:d3", "endpoint_id": 1, "available": true, @@ -372,22 +345,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:09:4e:ff:d3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:09:4e:ff:d3", "endpoint_id": 1, "available": true, @@ -416,22 +373,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:09:4e:ff:d3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:09:4e:ff:d3", "endpoint_id": 1, "available": true, @@ -460,22 +401,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:09:4e:ff:d3:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:09:4e:ff:d3", "endpoint_id": 1, "available": true, @@ -512,22 +437,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:09:4e:ff:d3:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:09:4e:ff:d3", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tyzb01-rifa0wlb-ts0011.json b/tests/data/devices/tyzb01-rifa0wlb-ts0011.json index d1b826878..dd75ea8b1 100755 --- a/tests/data/devices/tyzb01-rifa0wlb-ts0011.json +++ b/tests/data/devices/tyzb01-rifa0wlb-ts0011.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ec:1b:bd:ff:fe:d0:ef:d2", "nwk": "0x8481", "manufacturer": "_TYZB01_rifa0wlb", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -110,16 +111,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -131,7 +135,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -152,6 +162,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -215,22 +226,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ec:1b:bd:ff:fe:d0:ef:d2:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ec:1b:bd:ff:fe:d0:ef:d2", "endpoint_id": 1, "available": true, @@ -283,22 +278,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ec:1b:bd:ff:fe:d0:ef:d2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:d0:ef:d2", "endpoint_id": 1, "available": true, @@ -327,22 +306,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ec:1b:bd:ff:fe:d0:ef:d2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:d0:ef:d2", "endpoint_id": 1, "available": true, @@ -373,22 +336,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ec:1b:bd:ff:fe:d0:ef:d2:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:d0:ef:d2", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tyzb01-vkwryfdr-ts0115.json b/tests/data/devices/tyzb01-vkwryfdr-ts0115.json index 60bd5cf5b..dce4c1e8e 100644 --- a/tests/data/devices/tyzb01-vkwryfdr-ts0115.json +++ b/tests/data/devices/tyzb01-vkwryfdr-ts0115.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ec:1b:bd:ff:fe:2d:af:ac", "nwk": "0xF585", "manufacturer": "_TYZB01_vkwryfdr", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,22 +69,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -96,6 +106,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -103,6 +114,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -124,22 +136,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -162,22 +183,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -200,22 +230,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -238,22 +277,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -359,22 +407,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ec:1b:bd:ff:fe:2d:af:ac:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:2d:af:ac", "endpoint_id": 1, "available": true, @@ -403,22 +435,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ec:1b:bd:ff:fe:2d:af:ac:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:2d:af:ac", "endpoint_id": 1, "available": true, @@ -449,22 +465,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ec:1b:bd:ff:fe:2d:af:ac:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ec:1b:bd:ff:fe:2d:af:ac", "endpoint_id": 1, "available": true, @@ -491,22 +491,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ec:1b:bd:ff:fe:2d:af:ac:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ec:1b:bd:ff:fe:2d:af:ac", "endpoint_id": 2, "available": true, @@ -533,22 +517,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ec:1b:bd:ff:fe:2d:af:ac:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ec:1b:bd:ff:fe:2d:af:ac", "endpoint_id": 3, "available": true, @@ -575,22 +543,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "4:0x0006", - "unique_id": "ec:1b:bd:ff:fe:2d:af:ac:4:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ec:1b:bd:ff:fe:2d:af:ac", "endpoint_id": 4, "available": true, @@ -617,22 +569,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 7, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "7:0x0006", - "unique_id": "ec:1b:bd:ff:fe:2d:af:ac:7:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ec:1b:bd:ff:fe:2d:af:ac", "endpoint_id": 7, "available": true, @@ -661,22 +597,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ec:1b:bd:ff:fe:2d:af:ac:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ec:1b:bd:ff:fe:2d:af:ac", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tyzb01-zanh6v1o-ts0121.json b/tests/data/devices/tyzb01-zanh6v1o-ts0121.json index 7ef39dc90..545892e5e 100644 --- a/tests/data/devices/tyzb01-zanh6v1o-ts0121.json +++ b/tests/data/devices/tyzb01-zanh6v1o-ts0121.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "cc:cc:cc:ff:fe:da:b1:e0", "nwk": "0xE178", "manufacturer": "_TYZB01_zanh6v1o", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -94,7 +99,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -113,54 +124,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 22568 + "value": 22568, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -178,7 +238,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -196,7 +262,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -215,24 +287,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -256,31 +347,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 1 + "value": 1, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -288,11 +409,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -304,7 +563,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -316,13 +581,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 8 + "value": 8, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -330,17 +607,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 123 + "value": 123, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -349,6 +692,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -415,22 +759,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "cc:cc:cc:ff:fe:da:b1:e0:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "cc:cc:cc:ff:fe:da:b1:e0", "endpoint_id": 1, "available": true, @@ -463,22 +791,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "cc:cc:cc:ff:fe:da:b1:e0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "cc:cc:cc:ff:fe:da:b1:e0", "endpoint_id": 1, "available": true, @@ -507,22 +819,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "cc:cc:cc:ff:fe:da:b1:e0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "cc:cc:cc:ff:fe:da:b1:e0", "endpoint_id": 1, "available": true, @@ -551,22 +847,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "cc:cc:cc:ff:fe:da:b1:e0:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "cc:cc:cc:ff:fe:da:b1:e0", "endpoint_id": 1, "available": true, @@ -603,22 +883,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "cc:cc:cc:ff:fe:da:b1:e0:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "cc:cc:cc:ff:fe:da:b1:e0", "endpoint_id": 1, "available": true, @@ -651,22 +915,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "cc:cc:cc:ff:fe:da:b1:e0:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "cc:cc:cc:ff:fe:da:b1:e0", "endpoint_id": 1, "available": true, @@ -699,22 +947,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "cc:cc:cc:ff:fe:da:b1:e0:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "cc:cc:cc:ff:fe:da:b1:e0", "endpoint_id": 1, "available": true, @@ -749,22 +981,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "cc:cc:cc:ff:fe:da:b1:e0:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "cc:cc:cc:ff:fe:da:b1:e0", "endpoint_id": 1, "available": true, @@ -793,22 +1009,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "cc:cc:cc:ff:fe:da:b1:e0:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "cc:cc:cc:ff:fe:da:b1:e0", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz2000-k4yr34vv-sm0301.json b/tests/data/devices/tz2000-k4yr34vv-sm0301.json index b8877f386..a1e7ff681 100644 --- a/tests/data/devices/tz2000-k4yr34vv-sm0301.json +++ b/tests/data/devices/tz2000-k4yr34vv-sm0301.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:27:35:c8:17", "nwk": "0xF38E", "manufacturer": "_TZ2000_k4yr34vv", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,12 +112,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -173,6 +191,7 @@ { "cluster_id": "0x0100", "endpoint_attribute": "shade", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -209,11 +228,13 @@ { "cluster_id": "0xfc55", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc56", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -221,11 +242,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -241,6 +264,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -311,22 +335,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:27:35:c8:17:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:27:35:c8:17", "endpoint_id": 1, "available": true, @@ -359,50 +367,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:27:35:c8:17:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:27:35:c8:17:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ShadeClusterHandler", - "generic_id": "cluster_handler_0x0100", - "endpoint_id": 1, - "cluster": { - "id": 256, - "name": "Shade Configuration", - "type": "server" - }, - "id": "1:0x0100", - "unique_id": "ab:cd:ef:12:27:35:c8:17:1:0x0100", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:27:35:c8:17", "endpoint_id": 1, "available": true, @@ -433,22 +397,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:27:35:c8:17:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:27:35:c8:17", "endpoint_id": 1, "available": true, @@ -480,22 +428,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:27:35:c8:17:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:27:35:c8:17", "endpoint_id": 1, "available": true, @@ -529,22 +461,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:27:35:c8:17:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:27:35:c8:17", "endpoint_id": 1, "available": true, @@ -580,22 +496,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:27:35:c8:17:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:27:35:c8:17", "endpoint_id": 1, "available": true, @@ -624,22 +524,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:27:35:c8:17:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:27:35:c8:17", "endpoint_id": 1, "available": true, @@ -670,22 +554,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:27:35:c8:17:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:27:35:c8:17", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-09gto2zn-ts0013.json b/tests/data/devices/tz3000-09gto2zn-ts0013.json index d4a2cf516..264c484a0 100644 --- a/tests/data/devices/tz3000-09gto2zn-ts0013.json +++ b/tests/data/devices/tz3000-09gto2zn-ts0013.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:34:aa:29:f4", "nwk": "0x8678", "manufacturer": "_TZ3000_09gto2zn", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,21 +87,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -112,7 +117,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -127,6 +138,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -141,16 +153,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -162,7 +177,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -185,16 +206,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -206,7 +230,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -292,22 +322,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:34:aa:29:f4:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:34:aa:29:f4", "endpoint_id": 1, "available": true, @@ -340,22 +354,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:34:aa:29:f4:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:34:aa:29:f4", "endpoint_id": 1, "available": true, @@ -406,22 +404,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:34:aa:29:f4:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:34:aa:29:f4", "endpoint_id": 2, "available": true, @@ -472,22 +454,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:34:aa:29:f4:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:34:aa:29:f4", "endpoint_id": 3, "available": true, @@ -540,22 +506,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:34:aa:29:f4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:34:aa:29:f4", "endpoint_id": 1, "available": true, @@ -584,22 +534,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:34:aa:29:f4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:34:aa:29:f4", "endpoint_id": 1, "available": true, @@ -630,22 +564,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:34:aa:29:f4:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:34:aa:29:f4", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-1dd0d5yi-ts130f.json b/tests/data/devices/tz3000-1dd0d5yi-ts130f.json index 7735d55f9..88b46bff5 100644 --- a/tests/data/devices/tz3000-1dd0d5yi-ts130f.json +++ b/tests/data/devices/tz3000-1dd0d5yi-ts130f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:15:80:89:33", "nwk": "0xB0E7", "manufacturer": "_TZ3000_1dd0d5yi", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -128,11 +129,13 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -151,6 +154,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -162,7 +166,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0xfffe", @@ -181,6 +191,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -216,13 +227,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -291,6 +314,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -315,6 +339,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -404,22 +429,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:15:80:89:33:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:15:80:89:33", "endpoint_id": 1, "available": true, @@ -454,22 +463,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:15:80:89:33:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:15:80:89:33", "endpoint_id": 1, "available": true, @@ -498,22 +491,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:15:80:89:33:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:15:80:89:33", "endpoint_id": 1, "available": true, @@ -544,22 +521,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:15:80:89:33:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:15:80:89:33", "endpoint_id": 1, "available": true, @@ -588,22 +549,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:15:80:89:33:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:15:80:89:33", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-1o6x1bl0-ts0201.json b/tests/data/devices/tz3000-1o6x1bl0-ts0201.json index 0a44f47c7..6027e5c69 100644 --- a/tests/data/devices/tz3000-1o6x1bl0-ts0201.json +++ b/tests/data/devices/tz3000-1o6x1bl0-ts0201.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d0:74:74:bf", "nwk": "0x6055", "manufacturer": "_TZ3000_1o6x1bl0", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,30 +99,45 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 21 + "value": 21, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2228 + "value": 2228, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe002", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -122,16 +145,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -198,22 +224,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:d0:74:74:bf:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d0:74:74:bf", "endpoint_id": 1, "available": true, @@ -246,22 +256,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d0:74:74:bf:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d0:74:74:bf", "endpoint_id": 1, "available": true, @@ -290,22 +284,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d0:74:74:bf:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d0:74:74:bf", "endpoint_id": 1, "available": true, @@ -334,22 +312,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:d0:74:74:bf:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:d0:74:74:bf", "endpoint_id": 1, "available": true, @@ -384,22 +346,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:d0:74:74:bf:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:d0:74:74:bf", "endpoint_id": 1, "available": true, @@ -430,22 +376,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d0:74:74:bf:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d0:74:74:bf", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-2putqrmw-ts011f.json b/tests/data/devices/tz3000-2putqrmw-ts011f.json index 54f19ad9d..27a332f79 100644 --- a/tests/data/devices/tz3000-2putqrmw-ts011f.json +++ b/tests/data/devices/tz3000-2putqrmw-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:2b:c6:61:bc", "nwk": "0x6ADB", "manufacturer": "_TZ3000_2putqrmw", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,21 +87,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -112,7 +117,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -131,48 +142,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 516 + "value": 516, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -190,7 +256,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -208,7 +280,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -227,24 +305,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -268,31 +365,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -300,11 +427,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -316,19 +581,37 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -336,28 +619,96 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 233 + "value": 233, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -365,11 +716,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -432,22 +785,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:2b:c6:61:bc:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2b:c6:61:bc", "endpoint_id": 1, "available": true, @@ -480,22 +817,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2b:c6:61:bc:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2b:c6:61:bc", "endpoint_id": 1, "available": true, @@ -524,22 +845,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2b:c6:61:bc:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2b:c6:61:bc", "endpoint_id": 1, "available": true, @@ -568,22 +873,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:2b:c6:61:bc:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:2b:c6:61:bc", "endpoint_id": 1, "available": true, @@ -620,22 +909,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:2b:c6:61:bc:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:2b:c6:61:bc", "endpoint_id": 1, "available": true, @@ -668,22 +941,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:2b:c6:61:bc:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:2b:c6:61:bc", "endpoint_id": 1, "available": true, @@ -715,22 +972,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:2b:c6:61:bc:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:2b:c6:61:bc", "endpoint_id": 1, "available": true, @@ -763,22 +1004,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:2b:c6:61:bc:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:2b:c6:61:bc", "endpoint_id": 1, "available": true, @@ -813,22 +1038,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:2b:c6:61:bc:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:2b:c6:61:bc", "endpoint_id": 1, "available": true, @@ -857,22 +1066,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:2b:c6:61:bc:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2b:c6:61:bc", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-2xlvlnez-ts011f.json b/tests/data/devices/tz3000-2xlvlnez-ts011f.json index 0f9aa2192..a9c1ccb89 100644 --- a/tests/data/devices/tz3000-2xlvlnez-ts011f.json +++ b/tests/data/devices/tz3000-2xlvlnez-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:7b:03:ef:df", "nwk": "0x3503", "manufacturer": "_TZ3000_2xlvlnez", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,54 +112,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -166,7 +226,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -184,7 +250,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -203,24 +275,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -244,31 +335,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -292,19 +413,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -316,7 +563,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -340,13 +593,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -370,19 +635,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -406,25 +689,44 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -440,32 +742,43 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -478,6 +791,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -550,22 +864,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:7b:03:ef:df:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:03:ef:df", "endpoint_id": 1, "available": true, @@ -598,22 +896,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7b:03:ef:df:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:03:ef:df", "endpoint_id": 1, "available": true, @@ -642,22 +924,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7b:03:ef:df:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:03:ef:df", "endpoint_id": 1, "available": true, @@ -686,22 +952,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:7b:03:ef:df:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:7b:03:ef:df", "endpoint_id": 1, "available": true, @@ -736,22 +986,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:7b:03:ef:df:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:7b:03:ef:df", "endpoint_id": 1, "available": true, @@ -784,22 +1018,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:7b:03:ef:df:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:7b:03:ef:df", "endpoint_id": 1, "available": true, @@ -832,22 +1050,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:7b:03:ef:df:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:7b:03:ef:df", "endpoint_id": 1, "available": true, @@ -882,22 +1084,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:7b:03:ef:df:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:7b:03:ef:df", "endpoint_id": 1, "available": true, @@ -924,22 +1110,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:7b:03:ef:df:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:7b:03:ef:df", "endpoint_id": 2, "available": true, diff --git a/tests/data/devices/tz3000-303avxxt-ts011f.json b/tests/data/devices/tz3000-303avxxt-ts011f.json index b0fd10831..f9db808cf 100644 --- a/tests/data/devices/tz3000-303avxxt-ts011f.json +++ b/tests/data/devices/tz3000-303avxxt-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:fb:76:78:ad", "nwk": "0x8305", "manufacturer": "_TZ3000_303avxxt", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -88,21 +89,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -126,7 +131,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -151,54 +162,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -216,7 +276,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -234,7 +300,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -253,24 +325,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -294,31 +385,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -326,11 +447,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -342,7 +601,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -354,13 +619,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -368,28 +645,96 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 247 + "value": 247, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -404,11 +749,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -486,22 +833,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:fb:76:78:ad:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fb:76:78:ad", "endpoint_id": 1, "available": true, @@ -534,22 +865,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:fb:76:78:ad:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:fb:76:78:ad", "endpoint_id": 1, "available": true, @@ -582,22 +897,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:fb:76:78:ad:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:fb:76:78:ad", "endpoint_id": 1, "available": true, @@ -632,22 +931,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fb:76:78:ad:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fb:76:78:ad", "endpoint_id": 1, "available": true, @@ -676,22 +959,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fb:76:78:ad:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fb:76:78:ad", "endpoint_id": 1, "available": true, @@ -720,22 +987,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "TuyaZBMeteringCluster", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:fb:76:78:ad:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:fb:76:78:ad", "endpoint_id": 1, "available": true, @@ -772,22 +1023,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:fb:76:78:ad:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:fb:76:78:ad", "endpoint_id": 1, "available": true, @@ -820,22 +1055,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:fb:76:78:ad:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:fb:76:78:ad", "endpoint_id": 1, "available": true, @@ -868,22 +1087,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:fb:76:78:ad:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:fb:76:78:ad", "endpoint_id": 1, "available": true, @@ -918,22 +1121,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:fb:76:78:ad:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:fb:76:78:ad", "endpoint_id": 1, "available": true, @@ -960,22 +1147,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:fb:76:78:ad:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:fb:76:78:ad", "endpoint_id": 1, "available": true, @@ -1010,22 +1181,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:fb:76:78:ad:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fb:76:78:ad", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-3ias4w4o-ts011f.json b/tests/data/devices/tz3000-3ias4w4o-ts011f.json index 340b77954..1a4c67347 100644 --- a/tests/data/devices/tz3000-3ias4w4o-ts011f.json +++ b/tests/data/devices/tz3000-3ias4w4o-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:17:45:af:eb", "nwk": "0x1614", "manufacturer": "_TZ3000_3ias4w4o", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,21 +87,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -112,7 +117,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -131,54 +142,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 29579 + "value": 29579, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -196,7 +256,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -214,7 +280,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -233,24 +305,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -274,31 +365,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 2231 + "value": 2231, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -322,19 +443,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -346,7 +593,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -370,13 +623,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 9587 + "value": 9587, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -400,19 +665,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 233 + "value": 233, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -436,24 +719,50 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -461,11 +770,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -535,22 +846,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:17:45:af:eb:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:17:45:af:eb", "endpoint_id": 1, "available": true, @@ -583,22 +878,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:17:45:af:eb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:17:45:af:eb", "endpoint_id": 1, "available": true, @@ -627,22 +906,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:17:45:af:eb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:17:45:af:eb", "endpoint_id": 1, "available": true, @@ -671,22 +934,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:17:45:af:eb:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:17:45:af:eb", "endpoint_id": 1, "available": true, @@ -723,22 +970,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:17:45:af:eb:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:17:45:af:eb", "endpoint_id": 1, "available": true, @@ -771,22 +1002,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:17:45:af:eb:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:17:45:af:eb", "endpoint_id": 1, "available": true, @@ -819,22 +1034,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:17:45:af:eb:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:17:45:af:eb", "endpoint_id": 1, "available": true, @@ -869,22 +1068,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:17:45:af:eb:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:17:45:af:eb", "endpoint_id": 1, "available": true, @@ -913,22 +1096,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:17:45:af:eb:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:17:45:af:eb", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-5e235jpa-ts0042.json b/tests/data/devices/tz3000-5e235jpa-ts0042.json index 78cd25924..83c5afc36 100644 --- a/tests/data/devices/tz3000-5e235jpa-ts0042.json +++ b/tests/data/devices/tz3000-5e235jpa-ts0042.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a1:e0:ec:6e", "nwk": "0x6884", "manufacturer": "_TZ3000_5e235jpa", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,25 +93,47 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -118,12 +148,52 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -189,22 +259,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a1:e0:ec:6e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a1:e0:ec:6e", "endpoint_id": 1, "available": true, @@ -233,22 +287,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a1:e0:ec:6e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a1:e0:ec:6e", "endpoint_id": 1, "available": true, @@ -277,22 +315,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:a1:e0:ec:6e:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:a1:e0:ec:6e", "endpoint_id": 1, "available": true, @@ -327,22 +349,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 2, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "2:0x0001", - "unique_id": "ab:cd:ef:12:a1:e0:ec:6e:2:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:a1:e0:ec:6e", "endpoint_id": 2, "available": true, @@ -378,22 +384,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:a1:e0:ec:6e:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:a1:e0:ec:6e", "endpoint_id": 1, "available": true, @@ -420,22 +410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:a1:e0:ec:6e:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:a1:e0:ec:6e", "endpoint_id": 2, "available": true, @@ -464,22 +438,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a1:e0:ec:6e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a1:e0:ec:6e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-5fkufhn1-ts0502a.json b/tests/data/devices/tz3000-5fkufhn1-ts0502a.json index 48ef36c7c..4ce76d85d 100644 --- a/tests/data/devices/tz3000-5fkufhn1-ts0502a.json +++ b/tests/data/devices/tz3000-5fkufhn1-ts0502a.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:97:4b:44:fd", "nwk": "0xB5E6", "manufacturer": "_TZ3000_5fkufhn1", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,7 +197,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 193 + "value": 193, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -196,13 +221,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 45874 + "value": 45874, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 19660 + "value": 19660, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -227,6 +264,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -234,11 +272,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -254,6 +294,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -323,22 +364,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:97:4b:44:fd:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:97:4b:44:fd", "endpoint_id": 1, "available": true, @@ -371,50 +396,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:97:4b:44:fd:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:97:4b:44:fd:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:97:4b:44:fd:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:97:4b:44:fd", "endpoint_id": 1, "available": true, @@ -473,22 +454,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:97:4b:44:fd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:97:4b:44:fd", "endpoint_id": 1, "available": true, @@ -517,22 +482,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:97:4b:44:fd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:97:4b:44:fd", "endpoint_id": 1, "available": true, @@ -563,22 +512,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:97:4b:44:fd:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:97:4b:44:fd", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-5ity3zyu-ts0121.json b/tests/data/devices/tz3000-5ity3zyu-ts0121.json index 823406c6c..82defabb2 100644 --- a/tests/data/devices/tz3000-5ity3zyu-ts0121.json +++ b/tests/data/devices/tz3000-5ity3zyu-ts0121.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b1:82:95:69", "nwk": "0x531B", "manufacturer": "_TZ3000_5ity3zyu", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,54 +106,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -160,7 +220,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -178,7 +244,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -197,24 +269,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -238,31 +329,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -270,11 +391,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -286,7 +545,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -298,13 +563,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -312,23 +589,90 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 233 + "value": 233, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -336,11 +680,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -409,22 +755,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:b1:82:95:69:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:82:95:69", "endpoint_id": 1, "available": true, @@ -457,22 +787,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b1:82:95:69:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:82:95:69", "endpoint_id": 1, "available": true, @@ -501,22 +815,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b1:82:95:69:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:82:95:69", "endpoint_id": 1, "available": true, @@ -545,22 +843,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:b1:82:95:69:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:b1:82:95:69", "endpoint_id": 1, "available": true, @@ -597,22 +879,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:b1:82:95:69:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:b1:82:95:69", "endpoint_id": 1, "available": true, @@ -645,22 +911,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:b1:82:95:69:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:b1:82:95:69", "endpoint_id": 1, "available": true, @@ -693,22 +943,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:b1:82:95:69:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:b1:82:95:69", "endpoint_id": 1, "available": true, @@ -743,22 +977,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:b1:82:95:69:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:b1:82:95:69", "endpoint_id": 1, "available": true, @@ -787,22 +1005,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:b1:82:95:69:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:82:95:69", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-6l1pjfqe-ts011f.json b/tests/data/devices/tz3000-6l1pjfqe-ts011f.json index a1465ff3e..2a35eab52 100644 --- a/tests/data/devices/tz3000-6l1pjfqe-ts011f.json +++ b/tests/data/devices/tz3000-6l1pjfqe-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:8e:a1:83:54", "nwk": "0xEC7A", "manufacturer": "_TZ3000_6l1pjfqe", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0010", @@ -82,21 +83,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -108,7 +113,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -127,48 +138,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 23 + "value": 23, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -186,7 +252,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -204,7 +276,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -223,6 +301,7 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0800", @@ -234,13 +313,25 @@ "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0802", @@ -252,7 +343,13 @@ "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -276,25 +373,49 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0801", @@ -306,7 +427,13 @@ "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 450 + "value": 450, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -314,11 +441,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -330,7 +595,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -342,13 +613,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 3831 + "value": 3831, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -356,11 +639,41 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 117 + "value": 117, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -368,22 +681,54 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -391,11 +736,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -411,6 +758,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -482,22 +830,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:8e:a1:83:54:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8e:a1:83:54", "endpoint_id": 1, "available": true, @@ -530,22 +862,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8e:a1:83:54:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8e:a1:83:54", "endpoint_id": 1, "available": true, @@ -574,22 +890,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8e:a1:83:54:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8e:a1:83:54", "endpoint_id": 1, "available": true, @@ -618,22 +918,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "TuyaZBMeteringCluster", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:8e:a1:83:54:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:8e:a1:83:54", "endpoint_id": 1, "available": true, @@ -670,22 +954,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:8e:a1:83:54:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:8e:a1:83:54", "endpoint_id": 1, "available": true, @@ -718,22 +986,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:8e:a1:83:54:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:8e:a1:83:54", "endpoint_id": 1, "available": true, @@ -766,22 +1018,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:8e:a1:83:54:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:8e:a1:83:54", "endpoint_id": 1, "available": true, @@ -816,22 +1052,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:8e:a1:83:54:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:8e:a1:83:54", "endpoint_id": 1, "available": true, @@ -860,22 +1080,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:8e:a1:83:54:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8e:a1:83:54", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-8nkb7mof-ts0121.json b/tests/data/devices/tz3000-8nkb7mof-ts0121.json index 4834d282c..5451996dc 100644 --- a/tests/data/devices/tz3000-8nkb7mof-ts0121.json +++ b/tests/data/devices/tz3000-8nkb7mof-ts0121.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:2d:82:f3:92", "nwk": "0x20AA", "manufacturer": "_TZ3000_8nkb7mof", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -64,21 +65,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -96,7 +101,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x8002", @@ -115,54 +126,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 119695 + "value": 119695, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -180,7 +240,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -198,7 +264,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -217,24 +289,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -258,31 +349,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 152 + "value": 152, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -290,11 +411,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -306,7 +565,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -318,13 +583,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 709 + "value": 709, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -332,28 +609,96 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 249 + "value": 249, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -361,11 +706,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -388,6 +735,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -458,22 +806,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:2d:82:f3:92:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2d:82:f3:92", "endpoint_id": 1, "available": true, @@ -506,22 +838,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:2d:82:f3:92:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:2d:82:f3:92", "endpoint_id": 1, "available": true, @@ -554,22 +870,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:2d:82:f3:92:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:2d:82:f3:92", "endpoint_id": 1, "available": true, @@ -604,22 +904,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2d:82:f3:92:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2d:82:f3:92", "endpoint_id": 1, "available": true, @@ -648,22 +932,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2d:82:f3:92:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2d:82:f3:92", "endpoint_id": 1, "available": true, @@ -692,22 +960,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "TuyaZBMeteringCluster", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:2d:82:f3:92:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:2d:82:f3:92", "endpoint_id": 1, "available": true, @@ -744,22 +996,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:2d:82:f3:92:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:2d:82:f3:92", "endpoint_id": 1, "available": true, @@ -792,22 +1028,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:2d:82:f3:92:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:2d:82:f3:92", "endpoint_id": 1, "available": true, @@ -840,22 +1060,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:2d:82:f3:92:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:2d:82:f3:92", "endpoint_id": 1, "available": true, @@ -890,22 +1094,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:2d:82:f3:92:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:2d:82:f3:92", "endpoint_id": 1, "available": true, @@ -932,22 +1120,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:2d:82:f3:92:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:2d:82:f3:92", "endpoint_id": 1, "available": true, @@ -982,22 +1154,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:2d:82:f3:92:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2d:82:f3:92", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-8nyaanzb-ts011f.json b/tests/data/devices/tz3000-8nyaanzb-ts011f.json index 1e30bf7c4..9b1d7872a 100644 --- a/tests/data/devices/tz3000-8nyaanzb-ts011f.json +++ b/tests/data/devices/tz3000-8nyaanzb-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:0e:7a:44:0d", "nwk": "0x18FE", "manufacturer": "_TZ3000_8nyaanzb", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -64,21 +65,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -90,7 +95,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -109,11 +120,13 @@ { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -121,11 +134,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -140,16 +155,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -161,7 +179,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -180,6 +204,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -196,6 +221,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -275,22 +301,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:0e:7a:44:0d:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0e:7a:44:0d", "endpoint_id": 1, "available": true, @@ -323,22 +333,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0e:7a:44:0d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0e:7a:44:0d", "endpoint_id": 1, "available": true, @@ -367,22 +361,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0e:7a:44:0d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0e:7a:44:0d", "endpoint_id": 1, "available": true, @@ -413,22 +391,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:0e:7a:44:0d:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:0e:7a:44:0d", "endpoint_id": 1, "available": true, @@ -455,22 +417,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:0e:7a:44:0d:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:0e:7a:44:0d", "endpoint_id": 2, "available": true, @@ -499,22 +445,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:0e:7a:44:0d:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0e:7a:44:0d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-8yhypbo7-ts0203.json b/tests/data/devices/tz3000-8yhypbo7-ts0203.json index 53e421a22..3f8027074 100644 --- a/tests/data/devices/tz3000-8yhypbo7-ts0203.json +++ b/tests/data/devices/tz3000-8yhypbo7-ts0203.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "a4:c1:38:01:fb:fa:59:2b", "nwk": "0x7440", "manufacturer": "_TZ3000_8yhypbo7", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 134 + "value": 134, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -138,41 +154,49 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -236,22 +260,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "a4:c1:38:01:fb:fa:59:2b:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:01:fb:fa:59:2b", "endpoint_id": 1, "available": true, @@ -279,22 +287,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "a4:c1:38:01:fb:fa:59:2b:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:01:fb:fa:59:2b", "endpoint_id": 1, "available": true, @@ -324,22 +316,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "a4:c1:38:01:fb:fa:59:2b:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:01:fb:fa:59:2b", "endpoint_id": 1, "available": true, @@ -372,22 +348,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "a4:c1:38:01:fb:fa:59:2b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:01:fb:fa:59:2b", "endpoint_id": 1, "available": true, @@ -416,22 +376,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "a4:c1:38:01:fb:fa:59:2b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:01:fb:fa:59:2b", "endpoint_id": 1, "available": true, @@ -460,22 +404,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "a4:c1:38:01:fb:fa:59:2b:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "a4:c1:38:01:fb:fa:59:2b", "endpoint_id": 1, "available": true, @@ -512,22 +440,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "a4:c1:38:01:fb:fa:59:2b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:01:fb:fa:59:2b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-a37eix1s-ts0004.json b/tests/data/devices/tz3000-a37eix1s-ts0004.json index d906f30c8..0344aa573 100644 --- a/tests/data/devices/tz3000-a37eix1s-ts0004.json +++ b/tests/data/devices/tz3000-a37eix1s-ts0004.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:83:aa:51:5f", "nwk": "0xD6FB", "manufacturer": "_TZ3000_a37eix1s", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -64,38 +65,50 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -103,11 +116,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -122,38 +137,50 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -169,38 +196,50 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -216,38 +255,50 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -264,6 +315,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -371,22 +423,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:83:aa:51:5f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:83:aa:51:5f", "endpoint_id": 1, "available": true, @@ -419,22 +455,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:83:aa:51:5f:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:83:aa:51:5f", "endpoint_id": 1, "available": true, @@ -485,22 +505,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:83:aa:51:5f:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:83:aa:51:5f", "endpoint_id": 2, "available": true, @@ -551,22 +555,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:83:aa:51:5f:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:83:aa:51:5f", "endpoint_id": 3, "available": true, @@ -617,22 +605,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "4:0x0006", - "unique_id": "ab:cd:ef:12:83:aa:51:5f:4:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:83:aa:51:5f", "endpoint_id": 4, "available": true, @@ -685,22 +657,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:83:aa:51:5f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:83:aa:51:5f", "endpoint_id": 1, "available": true, @@ -729,22 +685,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:83:aa:51:5f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:83:aa:51:5f", "endpoint_id": 1, "available": true, @@ -775,22 +715,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:83:aa:51:5f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:83:aa:51:5f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-a9buwvb7-ts0726.json b/tests/data/devices/tz3000-a9buwvb7-ts0726.json index 2f83b0460..589934128 100644 --- a/tests/data/devices/tz3000-a9buwvb7-ts0726.json +++ b/tests/data/devices/tz3000-a9buwvb7-ts0726.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:97:a3:66:bf", "nwk": "0x407B", "manufacturer": "_TZ3000_a9buwvb7", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -88,7 +93,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -107,11 +118,13 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -119,11 +132,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -138,21 +153,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -164,7 +183,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -183,11 +208,13 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -203,21 +230,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -229,7 +260,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -248,11 +285,13 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -268,21 +307,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -294,7 +337,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -313,11 +362,13 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -333,21 +384,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -359,7 +414,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -378,11 +439,13 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -398,21 +461,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -424,7 +491,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -443,11 +516,13 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -574,22 +649,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:97:a3:66:bf:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:97:a3:66:bf", "endpoint_id": 1, "available": true, @@ -622,22 +681,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:97:a3:66:bf:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:97:a3:66:bf", "endpoint_id": 1, "available": true, @@ -666,22 +709,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:97:a3:66:bf:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:97:a3:66:bf", "endpoint_id": 1, "available": true, @@ -712,22 +739,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:97:a3:66:bf:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:97:a3:66:bf", "endpoint_id": 1, "available": true, @@ -754,22 +765,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:97:a3:66:bf:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:97:a3:66:bf", "endpoint_id": 2, "available": true, @@ -796,22 +791,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:97:a3:66:bf:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:97:a3:66:bf", "endpoint_id": 3, "available": true, @@ -838,22 +817,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "4:0x0006", - "unique_id": "ab:cd:ef:12:97:a3:66:bf:4:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:97:a3:66:bf", "endpoint_id": 4, "available": true, @@ -880,22 +843,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 5, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "5:0x0006", - "unique_id": "ab:cd:ef:12:97:a3:66:bf:5:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:97:a3:66:bf", "endpoint_id": 5, "available": true, @@ -922,22 +869,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 6, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "6:0x0006", - "unique_id": "ab:cd:ef:12:97:a3:66:bf:6:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:97:a3:66:bf", "endpoint_id": 6, "available": true, @@ -966,22 +897,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:97:a3:66:bf:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:97:a3:66:bf", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-adkvzooy-ts0042.json b/tests/data/devices/tz3000-adkvzooy-ts0042.json index ac7d41a17..a66d9ff58 100644 --- a/tests/data/devices/tz3000-adkvzooy-ts0042.json +++ b/tests/data/devices/tz3000-adkvzooy-ts0042.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:1b:0a:cb:cb", "nwk": "0x133E", "manufacturer": "_TZ3000_adkvzooy", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,23 +63,65 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -93,12 +136,52 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -164,22 +247,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1b:0a:cb:cb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:0a:cb:cb", "endpoint_id": 1, "available": true, @@ -208,22 +275,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1b:0a:cb:cb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:0a:cb:cb", "endpoint_id": 1, "available": true, @@ -252,22 +303,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:1b:0a:cb:cb:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:1b:0a:cb:cb", "endpoint_id": 1, "available": true, @@ -301,22 +336,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 2, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "2:0x0001", - "unique_id": "ab:cd:ef:12:1b:0a:cb:cb:2:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:1b:0a:cb:cb", "endpoint_id": 2, "available": true, @@ -352,22 +371,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:1b:0a:cb:cb:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:1b:0a:cb:cb", "endpoint_id": 1, "available": true, @@ -394,22 +397,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:1b:0a:cb:cb:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:1b:0a:cb:cb", "endpoint_id": 2, "available": true, @@ -438,22 +425,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:1b:0a:cb:cb:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:0a:cb:cb", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-aghwaexm-ts0001.json b/tests/data/devices/tz3000-aghwaexm-ts0001.json index b56ea8f12..a135776dd 100644 --- a/tests/data/devices/tz3000-aghwaexm-ts0001.json +++ b/tests/data/devices/tz3000-aghwaexm-ts0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a9:d3:9f:ef", "nwk": "0x30C0", "manufacturer": "_TZ3000_aghwaexm", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,6 +112,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -108,6 +120,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -166,22 +179,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:a9:d3:9f:ef:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:d3:9f:ef", "endpoint_id": 1, "available": true, @@ -214,22 +211,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:a9:d3:9f:ef:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:a9:d3:9f:ef", "endpoint_id": 1, "available": true, @@ -282,22 +263,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a9:d3:9f:ef:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:d3:9f:ef", "endpoint_id": 1, "available": true, @@ -326,22 +291,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a9:d3:9f:ef:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:d3:9f:ef", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-bgsigers-ts0201.json b/tests/data/devices/tz3000-bgsigers-ts0201.json index c8b065015..0bd685b4d 100644 --- a/tests/data/devices/tz3000-bgsigers-ts0201.json +++ b/tests/data/devices/tz3000-bgsigers-ts0201.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:54:ee:e3:19", "nwk": "0x7FAD", "manufacturer": "_TZ3000_bgsigers", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,36 +93,57 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31 + "value": 31, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2820 + "value": 2820, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 3100 + "value": 3100, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -123,16 +152,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -199,22 +231,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:54:ee:e3:19:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:54:ee:e3:19", "endpoint_id": 1, "available": true, @@ -247,22 +263,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:54:ee:e3:19:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:54:ee:e3:19", "endpoint_id": 1, "available": true, @@ -291,22 +291,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:54:ee:e3:19:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:54:ee:e3:19", "endpoint_id": 1, "available": true, @@ -335,22 +319,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:54:ee:e3:19:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:54:ee:e3:19", "endpoint_id": 1, "available": true, @@ -385,22 +353,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:54:ee:e3:19:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:54:ee:e3:19", "endpoint_id": 1, "available": true, @@ -429,22 +381,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:54:ee:e3:19:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:54:ee:e3:19", "endpoint_id": 1, "available": true, @@ -475,22 +411,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:54:ee:e3:19:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:54:ee:e3:19", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-bguser20-ts0201.json b/tests/data/devices/tz3000-bguser20-ts0201.json index 949915322..0783bbdb9 100644 --- a/tests/data/devices/tz3000-bguser20-ts0201.json +++ b/tests/data/devices/tz3000-bguser20-ts0201.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "a4:c1:38:55:4f:a5:d8:b1", "nwk": "0xBF7D", "manufacturer": "_TZ3000_bguser20", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 2 + "value": 2, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,36 +93,57 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 26 + "value": 26, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": -1824 + "value": -1824, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4987 + "value": 4987, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -123,16 +152,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -199,22 +231,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "a4:c1:38:55:4f:a5:d8:b1:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:55:4f:a5:d8:b1", "endpoint_id": 1, "available": true, @@ -247,22 +263,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "a4:c1:38:55:4f:a5:d8:b1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:55:4f:a5:d8:b1", "endpoint_id": 1, "available": true, @@ -291,22 +291,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "a4:c1:38:55:4f:a5:d8:b1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:55:4f:a5:d8:b1", "endpoint_id": 1, "available": true, @@ -335,22 +319,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "a4:c1:38:55:4f:a5:d8:b1:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "a4:c1:38:55:4f:a5:d8:b1", "endpoint_id": 1, "available": true, @@ -385,22 +353,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "a4:c1:38:55:4f:a5:d8:b1:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "a4:c1:38:55:4f:a5:d8:b1", "endpoint_id": 1, "available": true, @@ -429,22 +381,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "a4:c1:38:55:4f:a5:d8:b1:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "a4:c1:38:55:4f:a5:d8:b1", "endpoint_id": 1, "available": true, @@ -475,22 +411,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "a4:c1:38:55:4f:a5:d8:b1:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:55:4f:a5:d8:b1", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-bjawzodf-ty0201.json b/tests/data/devices/tz3000-bjawzodf-ty0201.json index 6d62e1f0e..982437266 100644 --- a/tests/data/devices/tz3000-bjawzodf-ty0201.json +++ b/tests/data/devices/tz3000-bjawzodf-ty0201.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:2b:57:26:74", "nwk": "0xF9BF", "manufacturer": "_TZ3000_bjawzodf", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -92,11 +94,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -109,6 +113,7 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -123,6 +128,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -180,22 +186,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:2b:57:26:74:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2b:57:26:74", "endpoint_id": 1, "available": true, @@ -228,22 +218,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2b:57:26:74:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2b:57:26:74", "endpoint_id": 1, "available": true, @@ -272,22 +246,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2b:57:26:74:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2b:57:26:74", "endpoint_id": 1, "available": true, @@ -316,22 +274,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:2b:57:26:74:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:2b:57:26:74", "endpoint_id": 1, "available": true, @@ -367,22 +309,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:2b:57:26:74:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:2b:57:26:74", "endpoint_id": 1, "available": true, @@ -413,22 +339,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:2b:57:26:74:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2b:57:26:74", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-cehuw1lw-ts011f.json b/tests/data/devices/tz3000-cehuw1lw-ts011f.json index 655b47006..658355d21 100644 --- a/tests/data/devices/tz3000-cehuw1lw-ts011f.json +++ b/tests/data/devices/tz3000-cehuw1lw-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:2d:f8:5e:65", "nwk": "0x1F7A", "manufacturer": "_TZ3000_cehuw1lw", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,21 +87,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -112,7 +117,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -131,54 +142,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 198 + "value": 198, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -196,7 +256,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -214,7 +280,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -233,24 +305,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -274,31 +365,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -306,11 +427,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -322,7 +581,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -334,13 +599,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -348,28 +625,96 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 231 + "value": 231, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -377,11 +722,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -451,22 +798,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:2d:f8:5e:65:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2d:f8:5e:65", "endpoint_id": 1, "available": true, @@ -499,22 +830,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2d:f8:5e:65:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2d:f8:5e:65", "endpoint_id": 1, "available": true, @@ -543,22 +858,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2d:f8:5e:65:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2d:f8:5e:65", "endpoint_id": 1, "available": true, @@ -587,22 +886,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:2d:f8:5e:65:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:2d:f8:5e:65", "endpoint_id": 1, "available": true, @@ -639,22 +922,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:2d:f8:5e:65:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:2d:f8:5e:65", "endpoint_id": 1, "available": true, @@ -687,22 +954,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:2d:f8:5e:65:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:2d:f8:5e:65", "endpoint_id": 1, "available": true, @@ -735,22 +986,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:2d:f8:5e:65:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:2d:f8:5e:65", "endpoint_id": 1, "available": true, @@ -785,22 +1020,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:2d:f8:5e:65:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:2d:f8:5e:65", "endpoint_id": 1, "available": true, @@ -829,22 +1048,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:2d:f8:5e:65:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2d:f8:5e:65", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-cfnprab5-ts011f.json b/tests/data/devices/tz3000-cfnprab5-ts011f.json index ac6c0a9b4..9ba669bd8 100644 --- a/tests/data/devices/tz3000-cfnprab5-ts011f.json +++ b/tests/data/devices/tz3000-cfnprab5-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:86:cf:95:48", "nwk": "0x329B", "manufacturer": "_TZ3000_cfnprab5", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -104,33 +105,44 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -146,38 +158,50 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -193,38 +217,50 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -240,38 +276,50 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -287,38 +335,50 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -428,22 +488,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:86:cf:95:48:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:86:cf:95:48", "endpoint_id": 1, "available": true, @@ -476,22 +520,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:86:cf:95:48:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:86:cf:95:48", "endpoint_id": 1, "available": true, @@ -542,22 +570,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:86:cf:95:48:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:86:cf:95:48", "endpoint_id": 2, "available": true, @@ -608,22 +620,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:86:cf:95:48:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:86:cf:95:48", "endpoint_id": 3, "available": true, @@ -674,22 +670,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "4:0x0006", - "unique_id": "ab:cd:ef:12:86:cf:95:48:4:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:86:cf:95:48", "endpoint_id": 4, "available": true, @@ -740,22 +720,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 5, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "5:0x0006", - "unique_id": "ab:cd:ef:12:86:cf:95:48:5:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:86:cf:95:48", "endpoint_id": 5, "available": true, @@ -808,22 +772,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:86:cf:95:48:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:86:cf:95:48", "endpoint_id": 1, "available": true, @@ -852,22 +800,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:86:cf:95:48:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:86:cf:95:48", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-cicwjqth-ts011f.json b/tests/data/devices/tz3000-cicwjqth-ts011f.json index a78664e84..4cc2cf1f4 100644 --- a/tests/data/devices/tz3000-cicwjqth-ts011f.json +++ b/tests/data/devices/tz3000-cicwjqth-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:8d:0c:54:33", "nwk": "0x7530", "manufacturer": "_TZ3000_cicwjqth", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,27 +87,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -119,6 +130,7 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0020", @@ -130,49 +142,97 @@ "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -190,7 +250,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -208,7 +274,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -227,24 +299,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -268,31 +359,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -300,11 +421,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -316,7 +575,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -328,13 +593,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 102 + "value": 102, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -342,28 +619,96 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 233 + "value": 233, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -371,11 +716,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -445,22 +792,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:8d:0c:54:33:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:0c:54:33", "endpoint_id": 1, "available": true, @@ -493,22 +824,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8d:0c:54:33:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:0c:54:33", "endpoint_id": 1, "available": true, @@ -537,22 +852,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8d:0c:54:33:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:0c:54:33", "endpoint_id": 1, "available": true, @@ -581,22 +880,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:8d:0c:54:33:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:8d:0c:54:33", "endpoint_id": 1, "available": true, @@ -629,22 +912,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:8d:0c:54:33:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:8d:0c:54:33", "endpoint_id": 1, "available": true, @@ -677,22 +944,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:8d:0c:54:33:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:8d:0c:54:33", "endpoint_id": 1, "available": true, @@ -727,22 +978,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:8d:0c:54:33:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:8d:0c:54:33", "endpoint_id": 1, "available": true, @@ -771,22 +1006,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:8d:0c:54:33:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:0c:54:33", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-dbou1ap4-ts0505a.json b/tests/data/devices/tz3000-dbou1ap4-ts0505a.json index 6f2f2a525..49a14b2f9 100644 --- a/tests/data/devices/tz3000-dbou1ap4-ts0505a.json +++ b/tests/data/devices/tz3000-dbou1ap4-ts0505a.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:90:7f:c5:7a", "nwk": "0xAA8C", "manufacturer": "_TZ3000_dbou1ap4", @@ -44,26 +44,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -75,7 +80,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -88,12 +99,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 140 + "value": 140, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -136,6 +154,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -171,7 +190,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 291 + "value": 291, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -189,13 +214,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -220,6 +257,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -227,11 +265,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -247,6 +287,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -316,22 +357,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:90:7f:c5:7a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:90:7f:c5:7a", "endpoint_id": 1, "available": true, @@ -364,50 +389,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:90:7f:c5:7a:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:90:7f:c5:7a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:90:7f:c5:7a:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:90:7f:c5:7a", "endpoint_id": 1, "available": true, @@ -466,22 +447,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:90:7f:c5:7a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:90:7f:c5:7a", "endpoint_id": 1, "available": true, @@ -510,22 +475,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:90:7f:c5:7a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:90:7f:c5:7a", "endpoint_id": 1, "available": true, @@ -556,22 +505,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:90:7f:c5:7a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:90:7f:c5:7a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-dowj6gyi-ts0201.json b/tests/data/devices/tz3000-dowj6gyi-ts0201.json index 752124c9e..cb465eb95 100644 --- a/tests/data/devices/tz3000-dowj6gyi-ts0201.json +++ b/tests/data/devices/tz3000-dowj6gyi-ts0201.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:51:b2:ae:04", "nwk": "0x95F3", "manufacturer": "_TZ3000_dowj6gyi", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,36 +93,57 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2130 + "value": 2130, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5831 + "value": 5831, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -123,16 +152,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -192,22 +224,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:51:b2:ae:04:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:51:b2:ae:04", "endpoint_id": 1, "available": true, @@ -240,22 +256,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:51:b2:ae:04:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:51:b2:ae:04", "endpoint_id": 1, "available": true, @@ -284,22 +284,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:51:b2:ae:04:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:51:b2:ae:04", "endpoint_id": 1, "available": true, @@ -328,22 +312,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:51:b2:ae:04:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:51:b2:ae:04", "endpoint_id": 1, "available": true, @@ -378,22 +346,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:51:b2:ae:04:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:51:b2:ae:04", "endpoint_id": 1, "available": true, @@ -422,22 +374,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:51:b2:ae:04:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:51:b2:ae:04", "endpoint_id": 1, "available": true, @@ -468,22 +404,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:51:b2:ae:04:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:51:b2:ae:04", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-drc9tuqb-ts0001.json b/tests/data/devices/tz3000-drc9tuqb-ts0001.json index 54320d405..0bc5ea6ee 100644 --- a/tests/data/devices/tz3000-drc9tuqb-ts0001.json +++ b/tests/data/devices/tz3000-drc9tuqb-ts0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:99:36:0a:01", "nwk": "0xC3DA", "manufacturer": "_TZ3000_drc9tuqb", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -88,21 +89,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -126,7 +131,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -151,11 +162,13 @@ { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -163,11 +176,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -243,22 +258,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:99:36:0a:01:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:99:36:0a:01", "endpoint_id": 1, "available": true, @@ -291,22 +290,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:99:36:0a:01:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:99:36:0a:01", "endpoint_id": 1, "available": true, @@ -359,22 +342,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:99:36:0a:01:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:99:36:0a:01", "endpoint_id": 1, "available": true, @@ -407,22 +374,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:99:36:0a:01:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:99:36:0a:01", "endpoint_id": 1, "available": true, @@ -457,22 +408,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:99:36:0a:01:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:99:36:0a:01", "endpoint_id": 1, "available": true, @@ -501,22 +436,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:99:36:0a:01:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:99:36:0a:01", "endpoint_id": 1, "available": true, @@ -547,22 +466,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:99:36:0a:01:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:99:36:0a:01", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-e2uieqop-ts0001.json b/tests/data/devices/tz3000-e2uieqop-ts0001.json index 221da68e5..5fdfe5767 100644 --- a/tests/data/devices/tz3000-e2uieqop-ts0001.json +++ b/tests/data/devices/tz3000-e2uieqop-ts0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:db:a7:b4:b5", "nwk": "0xCBB7", "manufacturer": "_TZ3000_e2uieqop", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,11 +87,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -109,11 +112,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -125,7 +130,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -144,11 +155,13 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -156,11 +169,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -221,22 +236,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:db:a7:b4:b5:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:db:a7:b4:b5", "endpoint_id": 1, "available": true, @@ -269,22 +268,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:db:a7:b4:b5:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:db:a7:b4:b5", "endpoint_id": 1, "available": true, @@ -337,22 +320,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:db:a7:b4:b5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:db:a7:b4:b5", "endpoint_id": 1, "available": true, @@ -381,22 +348,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:db:a7:b4:b5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:db:a7:b4:b5", "endpoint_id": 1, "available": true, @@ -427,22 +378,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:db:a7:b4:b5:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:db:a7:b4:b5", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-eamtuojw-ts0201.json b/tests/data/devices/tz3000-eamtuojw-ts0201.json index 3d495442d..1f0462785 100644 --- a/tests/data/devices/tz3000-eamtuojw-ts0201.json +++ b/tests/data/devices/tz3000-eamtuojw-ts0201.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ab:fc:51:44", "nwk": "0x8AFE", "manufacturer": "_TZ3000_eamtuojw", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,31 +93,51 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -118,11 +146,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -187,22 +217,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ab:fc:51:44:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ab:fc:51:44", "endpoint_id": 1, "available": true, @@ -231,22 +245,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ab:fc:51:44:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ab:fc:51:44", "endpoint_id": 1, "available": true, @@ -275,22 +273,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:ab:fc:51:44:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:ab:fc:51:44", "endpoint_id": 1, "available": true, @@ -325,22 +307,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:ab:fc:51:44:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:ab:fc:51:44", "endpoint_id": 1, "available": true, @@ -369,22 +335,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:ab:fc:51:44:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:ab:fc:51:44", "endpoint_id": 1, "available": true, @@ -415,22 +365,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ab:fc:51:44:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ab:fc:51:44", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-empogkya-ts0003.json b/tests/data/devices/tz3000-empogkya-ts0003.json index 6c59a190a..569c049b5 100644 --- a/tests/data/devices/tz3000-empogkya-ts0003.json +++ b/tests/data/devices/tz3000-empogkya-ts0003.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a4:f0:2a:e8", "nwk": "0x5407", "manufacturer": "_TZ3000_empogkya", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -64,38 +65,50 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -103,11 +116,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -122,38 +137,50 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -169,38 +196,50 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -217,6 +256,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -311,22 +351,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:a4:f0:2a:e8:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a4:f0:2a:e8", "endpoint_id": 1, "available": true, @@ -359,22 +383,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:a4:f0:2a:e8:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:a4:f0:2a:e8", "endpoint_id": 1, "available": true, @@ -425,22 +433,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:a4:f0:2a:e8:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:a4:f0:2a:e8", "endpoint_id": 2, "available": true, @@ -491,22 +483,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:a4:f0:2a:e8:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:a4:f0:2a:e8", "endpoint_id": 3, "available": true, @@ -559,22 +535,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a4:f0:2a:e8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a4:f0:2a:e8", "endpoint_id": 1, "available": true, @@ -603,22 +563,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a4:f0:2a:e8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a4:f0:2a:e8", "endpoint_id": 1, "available": true, @@ -649,22 +593,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a4:f0:2a:e8:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a4:f0:2a:e8", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-f2bw0b6k-ts0201.json b/tests/data/devices/tz3000-f2bw0b6k-ts0201.json index 42e8c138d..34159ea0b 100644 --- a/tests/data/devices/tz3000-f2bw0b6k-ts0201.json +++ b/tests/data/devices/tz3000-f2bw0b6k-ts0201.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "a4:c1:38:56:3c:3e:d9:f0", "nwk": "0xE2A4", "manufacturer": "_TZ3000_f2bw0b6k", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 114 + "value": 114, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,36 +93,57 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 27 + "value": 27, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2203 + "value": 2203, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 7892 + "value": 7892, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -123,16 +152,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -199,22 +231,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "a4:c1:38:56:3c:3e:d9:f0:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:56:3c:3e:d9:f0", "endpoint_id": 1, "available": true, @@ -247,22 +263,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "a4:c1:38:56:3c:3e:d9:f0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:56:3c:3e:d9:f0", "endpoint_id": 1, "available": true, @@ -291,22 +291,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "a4:c1:38:56:3c:3e:d9:f0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:56:3c:3e:d9:f0", "endpoint_id": 1, "available": true, @@ -335,22 +319,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "a4:c1:38:56:3c:3e:d9:f0:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "a4:c1:38:56:3c:3e:d9:f0", "endpoint_id": 1, "available": true, @@ -385,22 +353,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "a4:c1:38:56:3c:3e:d9:f0:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "a4:c1:38:56:3c:3e:d9:f0", "endpoint_id": 1, "available": true, @@ -429,22 +381,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "a4:c1:38:56:3c:3e:d9:f0:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "a4:c1:38:56:3c:3e:d9:f0", "endpoint_id": 1, "available": true, @@ -475,22 +411,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "a4:c1:38:56:3c:3e:d9:f0:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:56:3c:3e:d9:f0", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-fdxihpp7-ts0001.json b/tests/data/devices/tz3000-fdxihpp7-ts0001.json index 3faead9e1..0b8b9aea8 100644 --- a/tests/data/devices/tz3000-fdxihpp7-ts0001.json +++ b/tests/data/devices/tz3000-fdxihpp7-ts0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:22:a7:1c:c8", "nwk": "0xC86B", "manufacturer": "_TZ3000_fdxihpp7", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,54 +112,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -166,7 +226,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -184,7 +250,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -203,24 +275,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -244,31 +335,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -292,19 +413,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -316,7 +563,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -340,13 +593,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -370,19 +635,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -406,25 +689,44 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -484,22 +786,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:22:a7:1c:c8:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:a7:1c:c8", "endpoint_id": 1, "available": true, @@ -532,22 +818,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:22:a7:1c:c8:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:22:a7:1c:c8", "endpoint_id": 1, "available": true, @@ -600,22 +870,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:22:a7:1c:c8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:a7:1c:c8", "endpoint_id": 1, "available": true, @@ -644,22 +898,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:22:a7:1c:c8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:a7:1c:c8", "endpoint_id": 1, "available": true, @@ -688,22 +926,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:22:a7:1c:c8:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:22:a7:1c:c8", "endpoint_id": 1, "available": true, @@ -738,22 +960,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:22:a7:1c:c8:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:22:a7:1c:c8", "endpoint_id": 1, "available": true, @@ -786,22 +992,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:22:a7:1c:c8:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:22:a7:1c:c8", "endpoint_id": 1, "available": true, @@ -834,22 +1024,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:22:a7:1c:c8:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:22:a7:1c:c8", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-gbm10jnj-ts0043.json b/tests/data/devices/tz3000-gbm10jnj-ts0043.json index f6e5d7f08..401668550 100644 --- a/tests/data/devices/tz3000-gbm10jnj-ts0043.json +++ b/tests/data/devices/tz3000-gbm10jnj-ts0043.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f1:51:0b:5a", "nwk": "0x3F05", "manufacturer": "_TZ3000_gbm10jnj", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 156 + "value": 156, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,25 +99,47 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -131,12 +161,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 156 + "value": 156, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -154,14 +191,34 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -176,12 +233,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 156 + "value": 156, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -199,14 +263,34 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -281,22 +365,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f1:51:0b:5a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f1:51:0b:5a", "endpoint_id": 1, "available": true, @@ -325,22 +393,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f1:51:0b:5a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f1:51:0b:5a", "endpoint_id": 1, "available": true, @@ -369,22 +421,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:f1:51:0b:5a:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:f1:51:0b:5a", "endpoint_id": 1, "available": true, @@ -419,22 +455,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 2, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "2:0x0001", - "unique_id": "ab:cd:ef:12:f1:51:0b:5a:2:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:f1:51:0b:5a", "endpoint_id": 2, "available": true, @@ -469,22 +489,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 3, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "3:0x0001", - "unique_id": "ab:cd:ef:12:f1:51:0b:5a:3:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:f1:51:0b:5a", "endpoint_id": 3, "available": true, @@ -521,22 +525,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:f1:51:0b:5a:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:f1:51:0b:5a", "endpoint_id": 1, "available": true, @@ -563,22 +551,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:f1:51:0b:5a:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:f1:51:0b:5a", "endpoint_id": 2, "available": true, @@ -605,22 +577,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:f1:51:0b:5a:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:f1:51:0b:5a", "endpoint_id": 3, "available": true, @@ -649,22 +605,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f1:51:0b:5a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f1:51:0b:5a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-gjpgagal-ts0049.json b/tests/data/devices/tz3000-gjpgagal-ts0049.json index e3a4e8019..fcdd8159f 100644 --- a/tests/data/devices/tz3000-gjpgagal-ts0049.json +++ b/tests/data/devices/tz3000-gjpgagal-ts0049.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:eb:a9:5b:37", "nwk": "0xC30D", "manufacturer": "_TZ3000_gjpgagal", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,28 +93,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -118,7 +136,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -137,6 +161,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -144,11 +169,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -216,22 +243,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:eb:a9:5b:37:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:eb:a9:5b:37", "endpoint_id": 1, "available": true, @@ -264,22 +275,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:eb:a9:5b:37:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:eb:a9:5b:37", "endpoint_id": 1, "available": true, @@ -308,22 +303,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:eb:a9:5b:37:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:eb:a9:5b:37", "endpoint_id": 1, "available": true, @@ -352,22 +331,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:eb:a9:5b:37:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:eb:a9:5b:37", "endpoint_id": 1, "available": true, @@ -404,22 +367,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:eb:a9:5b:37:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:eb:a9:5b:37", "endpoint_id": 1, "available": true, @@ -448,22 +395,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:eb:a9:5b:37:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:eb:a9:5b:37", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-gjrubzje-ts0001.json b/tests/data/devices/tz3000-gjrubzje-ts0001.json index ac3ad556c..83d654823 100644 --- a/tests/data/devices/tz3000-gjrubzje-ts0001.json +++ b/tests/data/devices/tz3000-gjrubzje-ts0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:6b:b2:ef:b7", "nwk": "0xAD94", "manufacturer": "_TZ3000_gjrubzje", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,21 +87,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -112,7 +117,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -131,48 +142,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -190,7 +256,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -208,7 +280,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -227,24 +305,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -268,31 +365,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -300,11 +427,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -316,19 +581,37 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -336,28 +619,96 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -365,11 +716,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -432,22 +785,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:6b:b2:ef:b7:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6b:b2:ef:b7", "endpoint_id": 1, "available": true, @@ -480,22 +817,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:6b:b2:ef:b7:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:6b:b2:ef:b7", "endpoint_id": 1, "available": true, @@ -548,22 +869,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6b:b2:ef:b7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6b:b2:ef:b7", "endpoint_id": 1, "available": true, @@ -592,22 +897,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6b:b2:ef:b7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6b:b2:ef:b7", "endpoint_id": 1, "available": true, @@ -636,22 +925,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:6b:b2:ef:b7:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:6b:b2:ef:b7", "endpoint_id": 1, "available": true, @@ -688,22 +961,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:6b:b2:ef:b7:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:6b:b2:ef:b7", "endpoint_id": 1, "available": true, @@ -736,22 +993,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:6b:b2:ef:b7:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:6b:b2:ef:b7", "endpoint_id": 1, "available": true, @@ -783,22 +1024,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:6b:b2:ef:b7:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:6b:b2:ef:b7", "endpoint_id": 1, "available": true, @@ -831,22 +1056,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:6b:b2:ef:b7:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:6b:b2:ef:b7", "endpoint_id": 1, "available": true, @@ -881,22 +1090,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:6b:b2:ef:b7:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6b:b2:ef:b7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-gwkzibhs-ts004f.json b/tests/data/devices/tz3000-gwkzibhs-ts004f.json index 87979080f..7d881cf57 100644 --- a/tests/data/devices/tz3000-gwkzibhs-ts004f.json +++ b/tests/data/devices/tz3000-gwkzibhs-ts004f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e5:79:a6:00", "nwk": "0x4108", "manufacturer": "_TZ3000_gwkzibhs", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,12 +87,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -109,23 +117,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -133,21 +150,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "TS004X_cluster", + "bind": "SUCCESS", "attributes": [ { "id": "0x8004", @@ -160,16 +181,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -182,11 +206,13 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -252,22 +278,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:e5:79:a6:00:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e5:79:a6:00", "endpoint_id": 1, "available": true, @@ -300,22 +310,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e5:79:a6:00:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e5:79:a6:00", "endpoint_id": 1, "available": true, @@ -344,22 +338,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e5:79:a6:00:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e5:79:a6:00", "endpoint_id": 1, "available": true, @@ -388,22 +366,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:e5:79:a6:00:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:e5:79:a6:00", "endpoint_id": 1, "available": true, @@ -440,22 +402,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e5:79:a6:00:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e5:79:a6:00", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-hafsqare-ts0011.json b/tests/data/devices/tz3000-hafsqare-ts0011.json index 3f8cb08b4..250e99490 100644 --- a/tests/data/devices/tz3000-hafsqare-ts0011.json +++ b/tests/data/devices/tz3000-hafsqare-ts0011.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:bd:23:09:5e", "nwk": "0xDAA8", "manufacturer": "_TZ3000_hafsqare", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,21 +87,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -112,7 +117,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -133,6 +144,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -197,22 +209,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:bd:23:09:5e:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bd:23:09:5e", "endpoint_id": 1, "available": true, @@ -245,22 +241,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:bd:23:09:5e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bd:23:09:5e", "endpoint_id": 1, "available": true, @@ -289,22 +269,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:bd:23:09:5e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bd:23:09:5e", "endpoint_id": 1, "available": true, @@ -335,22 +299,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:bd:23:09:5e:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:bd:23:09:5e", "endpoint_id": 1, "available": true, @@ -379,22 +327,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:bd:23:09:5e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bd:23:09:5e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-idhkkbqj-ts0012.json b/tests/data/devices/tz3000-idhkkbqj-ts0012.json index f4722340e..324e4d851 100644 --- a/tests/data/devices/tz3000-idhkkbqj-ts0012.json +++ b/tests/data/devices/tz3000-idhkkbqj-ts0012.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b1:1b:a9:d3", "nwk": "0x6A19", "manufacturer": "_TZ3000_idhkkbqj", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,16 +87,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -113,7 +117,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -140,6 +150,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -161,16 +172,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -182,7 +196,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -264,22 +284,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:b1:1b:a9:d3:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:b1:1b:a9:d3", "endpoint_id": 1, "available": true, @@ -330,22 +334,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:b1:1b:a9:d3:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:b1:1b:a9:d3", "endpoint_id": 2, "available": true, @@ -398,22 +386,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b1:1b:a9:d3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:1b:a9:d3", "endpoint_id": 1, "available": true, @@ -442,22 +414,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b1:1b:a9:d3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:1b:a9:d3", "endpoint_id": 1, "available": true, @@ -488,22 +444,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:b1:1b:a9:d3:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:1b:a9:d3", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-isw9u95y-ts0201.json b/tests/data/devices/tz3000-isw9u95y-ts0201.json index dc31c3151..813e31b26 100644 --- a/tests/data/devices/tz3000-isw9u95y-ts0201.json +++ b/tests/data/devices/tz3000-isw9u95y-ts0201.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ca:ae:e5:84", "nwk": "0x2D2E", "manufacturer": "_TZ3000_isw9u95y", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,54 +93,83 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -172,6 +209,7 @@ { "cluster_id": "0xe002", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -179,11 +217,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -252,22 +292,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:ca:ae:e5:84:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:ae:e5:84", "endpoint_id": 1, "available": true, @@ -297,22 +321,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:ca:ae:e5:84:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:ae:e5:84", "endpoint_id": 1, "available": true, @@ -345,22 +353,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ca:ae:e5:84:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:ae:e5:84", "endpoint_id": 1, "available": true, @@ -389,22 +381,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ca:ae:e5:84:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:ae:e5:84", "endpoint_id": 1, "available": true, @@ -433,22 +409,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:ca:ae:e5:84:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:ca:ae:e5:84", "endpoint_id": 1, "available": true, @@ -483,22 +443,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:ca:ae:e5:84:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:ca:ae:e5:84", "endpoint_id": 1, "available": true, @@ -527,22 +471,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:ca:ae:e5:84:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:ca:ae:e5:84", "endpoint_id": 1, "available": true, @@ -571,22 +499,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:ca:ae:e5:84:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:ca:ae:e5:84", "endpoint_id": 1, "available": true, @@ -617,22 +529,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ca:ae:e5:84:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:ae:e5:84", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-itnrsufe-ts0201.json b/tests/data/devices/tz3000-itnrsufe-ts0201.json index 9a12bf234..0d536c2ee 100644 --- a/tests/data/devices/tz3000-itnrsufe-ts0201.json +++ b/tests/data/devices/tz3000-itnrsufe-ts0201.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "a4:c1:38:fe:e0:5d:44:91", "nwk": "0xEB7A", "manufacturer": "_TZ3000_itnrsufe", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 156 + "value": 156, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,42 +93,64 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2794 + "value": 2794, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 3430 + "value": 3430, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe002", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -128,16 +158,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -205,22 +238,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "a4:c1:38:fe:e0:5d:44:91:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:fe:e0:5d:44:91", "endpoint_id": 1, "available": true, @@ -253,22 +270,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "a4:c1:38:fe:e0:5d:44:91:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:fe:e0:5d:44:91", "endpoint_id": 1, "available": true, @@ -297,22 +298,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "a4:c1:38:fe:e0:5d:44:91:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:fe:e0:5d:44:91", "endpoint_id": 1, "available": true, @@ -341,22 +326,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "a4:c1:38:fe:e0:5d:44:91:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "a4:c1:38:fe:e0:5d:44:91", "endpoint_id": 1, "available": true, @@ -391,22 +360,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "a4:c1:38:fe:e0:5d:44:91:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "a4:c1:38:fe:e0:5d:44:91", "endpoint_id": 1, "available": true, @@ -435,22 +388,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "a4:c1:38:fe:e0:5d:44:91:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "a4:c1:38:fe:e0:5d:44:91", "endpoint_id": 1, "available": true, @@ -481,22 +418,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "a4:c1:38:fe:e0:5d:44:91:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:fe:e0:5d:44:91", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-j1xl73iw-ts130f.json b/tests/data/devices/tz3000-j1xl73iw-ts130f.json index 7cffd8474..c5a5f0665 100644 --- a/tests/data/devices/tz3000-j1xl73iw-ts130f.json +++ b/tests/data/devices/tz3000-j1xl73iw-ts130f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e2:fe:70:54", "nwk": "0x8B1B", "manufacturer": "_TZ3000_j1xl73iw", @@ -44,21 +44,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -70,7 +74,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -83,6 +93,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0xf001", @@ -106,13 +117,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -173,6 +196,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -187,11 +211,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -213,22 +239,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -241,6 +276,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0xf001", @@ -264,13 +300,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -331,6 +379,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -354,6 +403,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -433,22 +483,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:e2:fe:70:54:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:e2:fe:70:54", "endpoint_id": 1, "available": true, @@ -481,22 +515,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 2, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "2:0x0102", - "unique_id": "ab:cd:ef:12:e2:fe:70:54:2:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:e2:fe:70:54", "endpoint_id": 2, "available": true, @@ -531,22 +549,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e2:fe:70:54:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e2:fe:70:54", "endpoint_id": 1, "available": true, @@ -575,22 +577,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e2:fe:70:54:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e2:fe:70:54", "endpoint_id": 1, "available": true, @@ -621,22 +607,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e2:fe:70:54:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e2:fe:70:54", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-ja5osu5g-ts004f.json b/tests/data/devices/tz3000-ja5osu5g-ts004f.json index 808507a60..a09ed5f07 100644 --- a/tests/data/devices/tz3000-ja5osu5g-ts004f.json +++ b/tests/data/devices/tz3000-ja5osu5g-ts004f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a9:50:bd:12", "nwk": "0x15CB", "manufacturer": "_TZ3000_ja5osu5g", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,12 +87,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 176 + "value": 176, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -109,28 +117,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29 + "value": 29, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -138,16 +156,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "TS004X_cluster", + "bind": "SUCCESS", "attributes": [ { "id": "0x8004", @@ -160,16 +181,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -182,11 +206,13 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -252,22 +278,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:a9:50:bd:12:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:50:bd:12", "endpoint_id": 1, "available": true, @@ -300,22 +310,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a9:50:bd:12:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:50:bd:12", "endpoint_id": 1, "available": true, @@ -344,22 +338,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a9:50:bd:12:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:50:bd:12", "endpoint_id": 1, "available": true, @@ -388,22 +366,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:a9:50:bd:12:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:a9:50:bd:12", "endpoint_id": 1, "available": true, @@ -440,22 +402,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a9:50:bd:12:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:50:bd:12", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-kjfzuycl-ts004f.json b/tests/data/devices/tz3000-kjfzuycl-ts004f.json index c2e05004c..74db36058 100644 --- a/tests/data/devices/tz3000-kjfzuycl-ts004f.json +++ b/tests/data/devices/tz3000-kjfzuycl-ts004f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "38:5b:44:ff:fe:36:af:0f", "nwk": "0x0880", "manufacturer": "_TZ3000_kjfzuycl", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,28 +93,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -114,31 +132,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "TS004X_cluster", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -151,11 +175,13 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -221,22 +247,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "38:5b:44:ff:fe:36:af:0f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "38:5b:44:ff:fe:36:af:0f", "endpoint_id": 1, "available": true, @@ -269,22 +279,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "38:5b:44:ff:fe:36:af:0f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "38:5b:44:ff:fe:36:af:0f", "endpoint_id": 1, "available": true, @@ -313,22 +307,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "38:5b:44:ff:fe:36:af:0f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "38:5b:44:ff:fe:36:af:0f", "endpoint_id": 1, "available": true, @@ -357,22 +335,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "38:5b:44:ff:fe:36:af:0f:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "38:5b:44:ff:fe:36:af:0f", "endpoint_id": 1, "available": true, @@ -409,22 +371,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "38:5b:44:ff:fe:36:af:0f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "38:5b:44:ff:fe:36:af:0f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-kmsbwdol-ts130f.json b/tests/data/devices/tz3000-kmsbwdol-ts130f.json index 070244a04..86ab200c2 100644 --- a/tests/data/devices/tz3000-kmsbwdol-ts130f.json +++ b/tests/data/devices/tz3000-kmsbwdol-ts130f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:8d:b7:7a:50", "nwk": "0x7224", "manufacturer": "_TZ3000_kmsbwdol", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -74,6 +76,7 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -86,6 +89,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -103,7 +107,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -122,6 +132,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -145,13 +156,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -194,6 +217,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -201,11 +225,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -220,22 +246,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -248,18 +283,38 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0009", + "name": "current_position_tilt_percentage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -276,6 +331,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -355,22 +411,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:8d:b7:7a:50:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:8d:b7:7a:50", "endpoint_id": 1, "available": true, @@ -403,22 +443,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 2, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "2:0x0102", - "unique_id": "ab:cd:ef:12:8d:b7:7a:50:2:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:8d:b7:7a:50", "endpoint_id": 2, "available": true, @@ -453,22 +477,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8d:b7:7a:50:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:b7:7a:50", "endpoint_id": 1, "available": true, @@ -497,22 +505,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8d:b7:7a:50:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:b7:7a:50", "endpoint_id": 1, "available": true, @@ -541,22 +533,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 2, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "2:0x0102", - "unique_id": "ab:cd:ef:12:8d:b7:7a:50:2:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:8d:b7:7a:50", "endpoint_id": 2, "available": true, @@ -587,22 +563,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:8d:b7:7a:50:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:b7:7a:50", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-kqvb5akv-ts0001.json b/tests/data/devices/tz3000-kqvb5akv-ts0001.json index 398a41669..09963f0f7 100644 --- a/tests/data/devices/tz3000-kqvb5akv-ts0001.json +++ b/tests/data/devices/tz3000-kqvb5akv-ts0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:c3:82:cb:22", "nwk": "0xDB0A", "manufacturer": "_TZ3000_kqvb5akv", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -88,7 +93,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -113,54 +124,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 154 + "value": 154, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -178,7 +238,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -196,7 +262,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -215,24 +287,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -256,31 +347,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 30 + "value": 30, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -304,19 +425,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -328,7 +575,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -352,13 +605,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 245 + "value": 245, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -382,19 +647,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 231 + "value": 231, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -418,30 +701,50 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -456,11 +759,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -483,6 +788,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -553,22 +859,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:c3:82:cb:22:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c3:82:cb:22", "endpoint_id": 1, "available": true, @@ -601,22 +891,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:c3:82:cb:22:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:c3:82:cb:22", "endpoint_id": 1, "available": true, @@ -669,22 +943,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c3:82:cb:22:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c3:82:cb:22", "endpoint_id": 1, "available": true, @@ -713,22 +971,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c3:82:cb:22:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c3:82:cb:22", "endpoint_id": 1, "available": true, @@ -757,22 +999,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "CustomMetering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:c3:82:cb:22:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:c3:82:cb:22", "endpoint_id": 1, "available": true, @@ -809,22 +1035,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:c3:82:cb:22:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:c3:82:cb:22", "endpoint_id": 1, "available": true, @@ -857,22 +1067,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:c3:82:cb:22:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:c3:82:cb:22", "endpoint_id": 1, "available": true, @@ -905,22 +1099,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:c3:82:cb:22:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:c3:82:cb:22", "endpoint_id": 1, "available": true, @@ -955,22 +1133,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:c3:82:cb:22:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c3:82:cb:22", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-lepzuhto-ts011f.json b/tests/data/devices/tz3000-lepzuhto-ts011f.json index dcfae2b34..42a6c26f1 100644 --- a/tests/data/devices/tz3000-lepzuhto-ts011f.json +++ b/tests/data/devices/tz3000-lepzuhto-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:1f:e8:29:50", "nwk": "0x76C5", "manufacturer": "_TZ3000_lepzuhto", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -64,21 +65,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -90,7 +95,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -109,48 +120,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 5954 + "value": 5954, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -168,7 +234,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -186,7 +258,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -205,24 +283,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -246,31 +343,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 198 + "value": 198, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -278,11 +405,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -294,19 +559,37 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1049 + "value": 1049, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -314,28 +597,96 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 238 + "value": 238, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -343,11 +694,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -363,6 +716,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -434,22 +788,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:1f:e8:29:50:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1f:e8:29:50", "endpoint_id": 1, "available": true, @@ -482,22 +820,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1f:e8:29:50:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1f:e8:29:50", "endpoint_id": 1, "available": true, @@ -526,22 +848,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1f:e8:29:50:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1f:e8:29:50", "endpoint_id": 1, "available": true, @@ -570,22 +876,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "TuyaZBMeteringCluster", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:1f:e8:29:50:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:1f:e8:29:50", "endpoint_id": 1, "available": true, @@ -622,22 +912,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:1f:e8:29:50:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:1f:e8:29:50", "endpoint_id": 1, "available": true, @@ -670,22 +944,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:1f:e8:29:50:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:1f:e8:29:50", "endpoint_id": 1, "available": true, @@ -717,22 +975,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:1f:e8:29:50:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:1f:e8:29:50", "endpoint_id": 1, "available": true, @@ -765,22 +1007,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:1f:e8:29:50:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:1f:e8:29:50", "endpoint_id": 1, "available": true, @@ -815,22 +1041,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:1f:e8:29:50:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:1f:e8:29:50", "endpoint_id": 1, "available": true, @@ -859,22 +1069,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:1f:e8:29:50:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1f:e8:29:50", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-lf56vpxj-ts0202.json b/tests/data/devices/tz3000-lf56vpxj-ts0202.json index a421e3e0e..242874af0 100644 --- a/tests/data/devices/tz3000-lf56vpxj-ts0202.json +++ b/tests/data/devices/tz3000-lf56vpxj-ts0202.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:95:6b:8f:d1", "nwk": "0xEB95", "manufacturer": "_TZ3000_lf56vpxj", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,44 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -101,21 +130,25 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -175,22 +208,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:95:6b:8f:d1:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:95:6b:8f:d1", "endpoint_id": 1, "available": true, @@ -218,22 +235,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:95:6b:8f:d1:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:95:6b:8f:d1", "endpoint_id": 1, "available": true, @@ -263,22 +264,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:95:6b:8f:d1:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:95:6b:8f:d1", "endpoint_id": 1, "available": true, @@ -311,22 +296,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:95:6b:8f:d1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:95:6b:8f:d1", "endpoint_id": 1, "available": true, @@ -355,22 +324,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:95:6b:8f:d1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:95:6b:8f:d1", "endpoint_id": 1, "available": true, @@ -399,22 +352,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:95:6b:8f:d1:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:95:6b:8f:d1", "endpoint_id": 1, "available": true, @@ -450,22 +387,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:95:6b:8f:d1:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:95:6b:8f:d1", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-llfaquvp-ts0012.json b/tests/data/devices/tz3000-llfaquvp-ts0012.json index 9d9646238..561131f67 100644 --- a/tests/data/devices/tz3000-llfaquvp-ts0012.json +++ b/tests/data/devices/tz3000-llfaquvp-ts0012.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:fa:98:ca:b8", "nwk": "0xDFF7", "manufacturer": "_TZ3000_llfaquvp", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,21 +87,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -112,7 +117,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -137,11 +148,13 @@ { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -156,11 +169,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -175,16 +190,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -202,7 +220,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -221,6 +245,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -300,22 +325,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:fa:98:ca:b8:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:98:ca:b8", "endpoint_id": 1, "available": true, @@ -348,22 +357,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:fa:98:ca:b8:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:fa:98:ca:b8", "endpoint_id": 1, "available": true, @@ -414,22 +407,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:fa:98:ca:b8:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:fa:98:ca:b8", "endpoint_id": 2, "available": true, @@ -482,22 +459,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fa:98:ca:b8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:98:ca:b8", "endpoint_id": 1, "available": true, @@ -526,22 +487,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fa:98:ca:b8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:98:ca:b8", "endpoint_id": 1, "available": true, @@ -572,22 +517,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:fa:98:ca:b8:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:98:ca:b8", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-lotmgthb-ts011f.json b/tests/data/devices/tz3000-lotmgthb-ts011f.json index 915500b3f..925ec8726 100644 --- a/tests/data/devices/tz3000-lotmgthb-ts011f.json +++ b/tests/data/devices/tz3000-lotmgthb-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e0:b1:51:a5", "nwk": "0xE571", "manufacturer": "_TZ3000_lotmgthb", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,21 +87,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -112,7 +117,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -131,48 +142,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 71 + "value": 71, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -190,7 +256,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -208,7 +280,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -227,24 +305,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -268,31 +365,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -300,11 +427,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -316,19 +581,37 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -336,28 +619,96 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 125 + "value": 125, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -365,11 +716,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -432,22 +785,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:e0:b1:51:a5:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:b1:51:a5", "endpoint_id": 1, "available": true, @@ -480,22 +817,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e0:b1:51:a5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:b1:51:a5", "endpoint_id": 1, "available": true, @@ -524,22 +845,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e0:b1:51:a5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:b1:51:a5", "endpoint_id": 1, "available": true, @@ -568,22 +873,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:e0:b1:51:a5:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:e0:b1:51:a5", "endpoint_id": 1, "available": true, @@ -620,22 +909,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:e0:b1:51:a5:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:e0:b1:51:a5", "endpoint_id": 1, "available": true, @@ -668,22 +941,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:e0:b1:51:a5:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:e0:b1:51:a5", "endpoint_id": 1, "available": true, @@ -715,22 +972,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:e0:b1:51:a5:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:e0:b1:51:a5", "endpoint_id": 1, "available": true, @@ -763,22 +1004,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:e0:b1:51:a5:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:e0:b1:51:a5", "endpoint_id": 1, "available": true, @@ -813,22 +1038,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:e0:b1:51:a5:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e0:b1:51:a5", "endpoint_id": 1, "available": true, @@ -857,22 +1066,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e0:b1:51:a5:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:b1:51:a5", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-lrgccsxm-ts0013.json b/tests/data/devices/tz3000-lrgccsxm-ts0013.json index e19a477e9..5f4e776f7 100644 --- a/tests/data/devices/tz3000-lrgccsxm-ts0013.json +++ b/tests/data/devices/tz3000-lrgccsxm-ts0013.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:67:c9:96:f3", "nwk": "0xEF03", "manufacturer": "_TZ3000_lrgccsxm", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -97,11 +108,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -116,27 +129,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -159,27 +182,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -268,22 +301,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:67:c9:96:f3:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:67:c9:96:f3", "endpoint_id": 1, "available": true, @@ -316,22 +333,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:67:c9:96:f3:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:67:c9:96:f3", "endpoint_id": 1, "available": true, @@ -382,22 +383,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:67:c9:96:f3:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:67:c9:96:f3", "endpoint_id": 2, "available": true, @@ -448,22 +433,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:67:c9:96:f3:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:67:c9:96:f3", "endpoint_id": 3, "available": true, @@ -516,22 +485,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:67:c9:96:f3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:67:c9:96:f3", "endpoint_id": 1, "available": true, @@ -560,22 +513,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:67:c9:96:f3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:67:c9:96:f3", "endpoint_id": 1, "available": true, @@ -606,22 +543,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:67:c9:96:f3:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:67:c9:96:f3", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-ltiqubue-ts130f.json b/tests/data/devices/tz3000-ltiqubue-ts130f.json index 6c9d030dc..a5acf7b80 100644 --- a/tests/data/devices/tz3000-ltiqubue-ts130f.json +++ b/tests/data/devices/tz3000-ltiqubue-ts130f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:43:3b:68:f1", "nwk": "0x96A6", "manufacturer": "_TZ3000_ltiqubue", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,31 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0009", + "name": "current_position_tilt_percentage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -109,6 +139,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -167,22 +198,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:43:3b:68:f1:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:43:3b:68:f1", "endpoint_id": 1, "available": true, @@ -215,22 +230,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:43:3b:68:f1:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:43:3b:68:f1", "endpoint_id": 1, "available": true, @@ -265,22 +264,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:43:3b:68:f1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:43:3b:68:f1", "endpoint_id": 1, "available": true, @@ -309,22 +292,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:43:3b:68:f1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:43:3b:68:f1", "endpoint_id": 1, "available": true, @@ -353,22 +320,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:43:3b:68:f1:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:43:3b:68:f1", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-mg4dy6z6-ts0202.json b/tests/data/devices/tz3000-mg4dy6z6-ts0202.json index 8a253b688..1cd8520cc 100644 --- a/tests/data/devices/tz3000-mg4dy6z6-ts0202.json +++ b/tests/data/devices/tz3000-mg4dy6z6-ts0202.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:cd:66:75:56", "nwk": "0x3312", "manufacturer": "_TZ3000_mg4dy6z6", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -144,6 +160,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -156,16 +173,19 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -225,22 +245,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:cd:66:75:56:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cd:66:75:56", "endpoint_id": 1, "available": true, @@ -268,22 +272,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:cd:66:75:56:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cd:66:75:56", "endpoint_id": 1, "available": true, @@ -313,22 +301,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:cd:66:75:56:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cd:66:75:56", "endpoint_id": 1, "available": true, @@ -361,22 +333,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cd:66:75:56:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cd:66:75:56", "endpoint_id": 1, "available": true, @@ -405,22 +361,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cd:66:75:56:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cd:66:75:56", "endpoint_id": 1, "available": true, @@ -449,22 +389,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:cd:66:75:56:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:cd:66:75:56", "endpoint_id": 1, "available": true, @@ -501,22 +425,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:cd:66:75:56:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cd:66:75:56", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-mgusv51k-ts0052.json b/tests/data/devices/tz3000-mgusv51k-ts0052.json index 682098100..508ed2fb7 100644 --- a/tests/data/devices/tz3000-mgusv51k-ts0052.json +++ b/tests/data/devices/tz3000-mgusv51k-ts0052.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:77:a4:24:d4", "nwk": "0x3A98", "manufacturer": "_TZ3000_mgusv51k", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -88,7 +93,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -107,12 +118,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 127 + "value": 127, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -167,11 +185,13 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -179,11 +199,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -206,6 +228,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -275,22 +298,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:77:a4:24:d4:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:77:a4:24:d4", "endpoint_id": 1, "available": true, @@ -323,36 +330,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:77:a4:24:d4:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:77:a4:24:d4:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:77:a4:24:d4", "endpoint_id": 1, "available": true, @@ -406,22 +383,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:77:a4:24:d4:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:77:a4:24:d4", "endpoint_id": 1, "available": true, @@ -455,22 +416,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:77:a4:24:d4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:77:a4:24:d4", "endpoint_id": 1, "available": true, @@ -499,22 +444,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:77:a4:24:d4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:77:a4:24:d4", "endpoint_id": 1, "available": true, @@ -545,22 +474,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:77:a4:24:d4:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:77:a4:24:d4", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-mkhkxx1p-ts0001.json b/tests/data/devices/tz3000-mkhkxx1p-ts0001.json index fc43631ef..2e2dd38de 100644 --- a/tests/data/devices/tz3000-mkhkxx1p-ts0001.json +++ b/tests/data/devices/tz3000-mkhkxx1p-ts0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:36:44:eb:16", "nwk": "0x45CD", "manufacturer": "_TZ3000_mkhkxx1p", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,21 +87,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -124,7 +129,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -149,54 +160,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -214,7 +274,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -232,7 +298,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -251,24 +323,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -292,31 +383,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -324,11 +445,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -340,7 +599,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -352,13 +617,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -366,28 +643,96 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 237 + "value": 237, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -402,11 +747,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -476,22 +823,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:36:44:eb:16:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:36:44:eb:16", "endpoint_id": 1, "available": true, @@ -524,22 +855,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:36:44:eb:16:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:36:44:eb:16", "endpoint_id": 1, "available": true, @@ -592,22 +907,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:36:44:eb:16:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:36:44:eb:16", "endpoint_id": 1, "available": true, @@ -636,22 +935,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:36:44:eb:16:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:36:44:eb:16", "endpoint_id": 1, "available": true, @@ -680,22 +963,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "CustomMetering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:36:44:eb:16:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:36:44:eb:16", "endpoint_id": 1, "available": true, @@ -732,22 +999,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:36:44:eb:16:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:36:44:eb:16", "endpoint_id": 1, "available": true, @@ -780,22 +1031,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:36:44:eb:16:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:36:44:eb:16", "endpoint_id": 1, "available": true, @@ -828,22 +1063,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:36:44:eb:16:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:36:44:eb:16", "endpoint_id": 1, "available": true, @@ -878,22 +1097,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:36:44:eb:16:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:36:44:eb:16", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-mugyhz0q-ts0207.json b/tests/data/devices/tz3000-mugyhz0q-ts0207.json index e5e98f55c..7b9979086 100644 --- a/tests/data/devices/tz3000-mugyhz0q-ts0207.json +++ b/tests/data/devices/tz3000-mugyhz0q-ts0207.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:22:d4:c0:9f", "nwk": "0x8930", "manufacturer": "_TZ3000_mugyhz0q", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -138,11 +154,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -207,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:22:d4:c0:9f:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:d4:c0:9f", "endpoint_id": 1, "available": true, @@ -252,22 +254,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:22:d4:c0:9f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:d4:c0:9f", "endpoint_id": 1, "available": true, @@ -300,22 +286,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:22:d4:c0:9f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:d4:c0:9f", "endpoint_id": 1, "available": true, @@ -344,22 +314,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:22:d4:c0:9f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:d4:c0:9f", "endpoint_id": 1, "available": true, @@ -388,22 +342,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:22:d4:c0:9f:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:22:d4:c0:9f", "endpoint_id": 1, "available": true, @@ -440,22 +378,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:22:d4:c0:9f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:d4:c0:9f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-mw1pqqqt-ts0003.json b/tests/data/devices/tz3000-mw1pqqqt-ts0003.json index 9d2891bcb..362b91d8a 100644 --- a/tests/data/devices/tz3000-mw1pqqqt-ts0003.json +++ b/tests/data/devices/tz3000-mw1pqqqt-ts0003.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:2c:e2:6d:88", "nwk": "0x56B5", "manufacturer": "_TZ3000_mw1pqqqt", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -88,21 +89,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -120,7 +125,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x8002", @@ -139,54 +150,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -204,7 +264,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -222,7 +288,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -241,24 +313,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -282,31 +373,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -330,19 +451,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -354,7 +601,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -378,13 +631,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -408,19 +673,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -444,24 +727,50 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -469,11 +778,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -495,16 +806,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -522,7 +836,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x8002", @@ -551,16 +871,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -578,7 +901,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x8002", @@ -608,6 +937,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -698,22 +1028,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:2c:e2:6d:88:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2c:e2:6d:88", "endpoint_id": 1, "available": true, @@ -746,22 +1060,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:2c:e2:6d:88:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:2c:e2:6d:88", "endpoint_id": 1, "available": true, @@ -812,22 +1110,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:2c:e2:6d:88:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:2c:e2:6d:88", "endpoint_id": 2, "available": true, @@ -878,22 +1160,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:2c:e2:6d:88:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:2c:e2:6d:88", "endpoint_id": 3, "available": true, @@ -946,22 +1212,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:2c:e2:6d:88:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:2c:e2:6d:88", "endpoint_id": 1, "available": true, @@ -994,22 +1244,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:2c:e2:6d:88:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:2c:e2:6d:88", "endpoint_id": 1, "available": true, @@ -1044,22 +1278,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2c:e2:6d:88:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2c:e2:6d:88", "endpoint_id": 1, "available": true, @@ -1088,22 +1306,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2c:e2:6d:88:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2c:e2:6d:88", "endpoint_id": 1, "available": true, @@ -1132,22 +1334,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "TuyaZBMeteringCluster", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:2c:e2:6d:88:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:2c:e2:6d:88", "endpoint_id": 1, "available": true, @@ -1184,22 +1370,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:2c:e2:6d:88:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:2c:e2:6d:88", "endpoint_id": 1, "available": true, @@ -1232,22 +1402,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:2c:e2:6d:88:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:2c:e2:6d:88", "endpoint_id": 1, "available": true, @@ -1280,22 +1434,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:2c:e2:6d:88:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:2c:e2:6d:88", "endpoint_id": 1, "available": true, @@ -1330,22 +1468,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:2c:e2:6d:88:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2c:e2:6d:88", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-npzfdcof-ts0001.json b/tests/data/devices/tz3000-npzfdcof-ts0001.json index 6b6d36c3f..24844a3a7 100644 --- a/tests/data/devices/tz3000-npzfdcof-ts0001.json +++ b/tests/data/devices/tz3000-npzfdcof-ts0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:37:97:29:ff", "nwk": "0xBDD4", "manufacturer": "_TZ3000_npzfdcof", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -98,6 +99,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -110,16 +112,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -131,7 +136,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -156,6 +167,7 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0020", @@ -167,43 +179,97 @@ "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -221,7 +287,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -239,7 +311,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -258,24 +336,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -299,31 +396,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -331,11 +458,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -347,7 +612,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -359,13 +630,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -373,28 +656,96 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -402,11 +753,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -469,22 +822,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:37:97:29:ff:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:37:97:29:ff", "endpoint_id": 1, "available": true, @@ -517,22 +854,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:37:97:29:ff:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:37:97:29:ff", "endpoint_id": 1, "available": true, @@ -585,22 +906,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:37:97:29:ff:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:37:97:29:ff", "endpoint_id": 1, "available": true, @@ -629,22 +934,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:37:97:29:ff:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:37:97:29:ff", "endpoint_id": 1, "available": true, @@ -673,22 +962,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:37:97:29:ff:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:37:97:29:ff", "endpoint_id": 1, "available": true, @@ -725,22 +998,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:37:97:29:ff:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:37:97:29:ff", "endpoint_id": 1, "available": true, @@ -773,22 +1030,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:37:97:29:ff:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:37:97:29:ff", "endpoint_id": 1, "available": true, @@ -821,22 +1062,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:37:97:29:ff:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:37:97:29:ff", "endpoint_id": 1, "available": true, @@ -871,22 +1096,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:37:97:29:ff:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:37:97:29:ff", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-o1jzcxou-ts011f.json b/tests/data/devices/tz3000-o1jzcxou-ts011f.json index 0fca0884a..3d3ff3a1d 100644 --- a/tests/data/devices/tz3000-o1jzcxou-ts011f.json +++ b/tests/data/devices/tz3000-o1jzcxou-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:8f:94:54:69", "nwk": "0x6D2B", "manufacturer": "_TZ3000_o1jzcxou", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -88,21 +89,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -114,7 +119,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -133,11 +144,13 @@ { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -145,11 +158,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -225,22 +240,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:8f:94:54:69:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8f:94:54:69", "endpoint_id": 1, "available": true, @@ -273,22 +272,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8f:94:54:69:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8f:94:54:69", "endpoint_id": 1, "available": true, @@ -317,22 +300,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8f:94:54:69:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8f:94:54:69", "endpoint_id": 1, "available": true, @@ -363,22 +330,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:8f:94:54:69:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:8f:94:54:69", "endpoint_id": 1, "available": true, @@ -407,22 +358,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:8f:94:54:69:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8f:94:54:69", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-o4mkahkc-ts0202.json b/tests/data/devices/tz3000-o4mkahkc-ts0202.json index eb98ce2be..24844fbe2 100644 --- a/tests/data/devices/tz3000-o4mkahkc-ts0202.json +++ b/tests/data/devices/tz3000-o4mkahkc-ts0202.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:33:39:10:3f", "nwk": "0xE80A", "manufacturer": "_TZ3000_o4mkahkc", @@ -44,17 +44,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -72,18 +80,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29 + "value": 29, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -131,6 +147,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -149,11 +166,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -166,6 +185,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -225,22 +245,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:33:39:10:3f:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:33:39:10:3f", "endpoint_id": 1, "available": true, @@ -268,22 +272,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:33:39:10:3f:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:33:39:10:3f", "endpoint_id": 1, "available": true, @@ -313,22 +301,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:33:39:10:3f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:33:39:10:3f", "endpoint_id": 1, "available": true, @@ -361,22 +333,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:33:39:10:3f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:33:39:10:3f", "endpoint_id": 1, "available": true, @@ -405,22 +361,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:33:39:10:3f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:33:39:10:3f", "endpoint_id": 1, "available": true, @@ -449,22 +389,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:33:39:10:3f:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:33:39:10:3f", "endpoint_id": 1, "available": true, @@ -501,22 +425,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:33:39:10:3f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:33:39:10:3f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-okaz9tjs-ts011f.json b/tests/data/devices/tz3000-okaz9tjs-ts011f.json index 20ab27e33..eaa93a9ba 100644 --- a/tests/data/devices/tz3000-okaz9tjs-ts011f.json +++ b/tests/data/devices/tz3000-okaz9tjs-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:44:63:a9:95", "nwk": "0x12C0", "manufacturer": "_TZ3000_okaz9tjs", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -64,21 +65,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -90,7 +95,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -109,53 +120,109 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -173,7 +240,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -191,7 +264,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -210,24 +289,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -251,31 +349,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -283,11 +411,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -299,7 +565,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -311,13 +583,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -325,33 +609,102 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 239 + "value": 239, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -414,22 +767,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:44:63:a9:95:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:63:a9:95", "endpoint_id": 1, "available": true, @@ -462,22 +799,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:44:63:a9:95:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:44:63:a9:95", "endpoint_id": 1, "available": true, @@ -513,22 +834,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:44:63:a9:95:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:63:a9:95", "endpoint_id": 1, "available": true, @@ -557,22 +862,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:44:63:a9:95:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:63:a9:95", "endpoint_id": 1, "available": true, @@ -601,22 +890,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "TuyaZBMeteringClusterWithUnit", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:44:63:a9:95:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:44:63:a9:95", "endpoint_id": 1, "available": true, @@ -653,22 +926,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:44:63:a9:95:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:44:63:a9:95", "endpoint_id": 1, "available": true, @@ -701,22 +958,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:44:63:a9:95:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:44:63:a9:95", "endpoint_id": 1, "available": true, @@ -749,22 +990,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:44:63:a9:95:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:44:63:a9:95", "endpoint_id": 1, "available": true, @@ -799,22 +1024,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:44:63:a9:95:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:44:63:a9:95", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-p26flek3-ts0001.json b/tests/data/devices/tz3000-p26flek3-ts0001.json index f6ff447a7..8e7b1de2b 100644 --- a/tests/data/devices/tz3000-p26flek3-ts0001.json +++ b/tests/data/devices/tz3000-p26flek3-ts0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:37:1f:21:53", "nwk": "0x73BD", "manufacturer": "_TZ3000_p26flek3", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -88,21 +89,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -126,7 +131,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -151,11 +162,13 @@ { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -170,11 +183,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -250,22 +265,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:37:1f:21:53:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:37:1f:21:53", "endpoint_id": 1, "available": true, @@ -298,22 +297,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:37:1f:21:53:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:37:1f:21:53", "endpoint_id": 1, "available": true, @@ -366,22 +349,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:37:1f:21:53:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:37:1f:21:53", "endpoint_id": 1, "available": true, @@ -414,22 +381,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:37:1f:21:53:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:37:1f:21:53", "endpoint_id": 1, "available": true, @@ -464,22 +415,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:37:1f:21:53:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:37:1f:21:53", "endpoint_id": 1, "available": true, @@ -508,22 +443,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:37:1f:21:53:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:37:1f:21:53", "endpoint_id": 1, "available": true, @@ -554,22 +473,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:37:1f:21:53:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:37:1f:21:53", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-pl5v1yyy-ts011f.json b/tests/data/devices/tz3000-pl5v1yyy-ts011f.json index 0a01344c5..fa204074e 100644 --- a/tests/data/devices/tz3000-pl5v1yyy-ts011f.json +++ b/tests/data/devices/tz3000-pl5v1yyy-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:89:87:b0:a2", "nwk": "0xB06A", "manufacturer": "_TZ3000_pl5v1yyy", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -88,7 +93,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -107,54 +118,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -172,7 +232,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -190,7 +256,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -209,24 +281,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -250,31 +341,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -298,19 +419,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -322,7 +569,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -346,13 +599,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -376,19 +641,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -412,24 +695,50 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -437,11 +746,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -463,16 +774,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -484,7 +798,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -503,6 +823,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -518,16 +839,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -539,7 +863,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -558,6 +888,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -573,16 +904,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -594,7 +928,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -613,6 +953,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -628,16 +969,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -649,7 +993,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -668,6 +1018,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -684,6 +1035,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -798,22 +1150,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:89:87:b0:a2:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:89:87:b0:a2", "endpoint_id": 1, "available": true, @@ -846,22 +1182,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:89:87:b0:a2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:89:87:b0:a2", "endpoint_id": 1, "available": true, @@ -890,22 +1210,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:89:87:b0:a2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:89:87:b0:a2", "endpoint_id": 1, "available": true, @@ -934,22 +1238,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:89:87:b0:a2:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:89:87:b0:a2", "endpoint_id": 1, "available": true, @@ -986,22 +1274,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:89:87:b0:a2:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:89:87:b0:a2", "endpoint_id": 1, "available": true, @@ -1034,22 +1306,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:89:87:b0:a2:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:89:87:b0:a2", "endpoint_id": 1, "available": true, @@ -1082,22 +1338,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:89:87:b0:a2:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:89:87:b0:a2", "endpoint_id": 1, "available": true, @@ -1132,22 +1372,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:89:87:b0:a2:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:89:87:b0:a2", "endpoint_id": 1, "available": true, @@ -1174,22 +1398,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:89:87:b0:a2:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:89:87:b0:a2", "endpoint_id": 2, "available": true, @@ -1216,22 +1424,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:89:87:b0:a2:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:89:87:b0:a2", "endpoint_id": 3, "available": true, @@ -1258,22 +1450,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "4:0x0006", - "unique_id": "ab:cd:ef:12:89:87:b0:a2:4:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:89:87:b0:a2", "endpoint_id": 4, "available": true, @@ -1300,22 +1476,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 5, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "5:0x0006", - "unique_id": "ab:cd:ef:12:89:87:b0:a2:5:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:89:87:b0:a2", "endpoint_id": 5, "available": true, @@ -1344,22 +1504,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:89:87:b0:a2:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:89:87:b0:a2", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-qa8s8vca-ts130f.json b/tests/data/devices/tz3000-qa8s8vca-ts130f.json index a7c048db0..f145324fd 100644 --- a/tests/data/devices/tz3000-qa8s8vca-ts130f.json +++ b/tests/data/devices/tz3000-qa8s8vca-ts130f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:fb:49:87:24", "nwk": "0x1021", "manufacturer": "_TZ3000_qa8s8vca", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,22 +63,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -90,6 +100,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -101,19 +112,32 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -121,11 +145,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -141,6 +167,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -208,22 +235,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:fb:49:87:24:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:fb:49:87:24", "endpoint_id": 1, "available": true, @@ -258,22 +269,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fb:49:87:24:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fb:49:87:24", "endpoint_id": 1, "available": true, @@ -302,22 +297,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fb:49:87:24:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fb:49:87:24", "endpoint_id": 1, "available": true, @@ -346,22 +325,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:fb:49:87:24:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:fb:49:87:24", "endpoint_id": 1, "available": true, @@ -392,22 +355,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:fb:49:87:24:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fb:49:87:24", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-qqdbccb3-ts130f.json b/tests/data/devices/tz3000-qqdbccb3-ts130f.json index 5de40b6cd..2bdf26992 100644 --- a/tests/data/devices/tz3000-qqdbccb3-ts130f.json +++ b/tests/data/devices/tz3000-qqdbccb3-ts130f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:5a:e5:28:64", "nwk": "0x87C1", "manufacturer": "_TZ3000_qqdbccb3", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,33 +63,49 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -97,6 +114,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -154,22 +172,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:5a:e5:28:64:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5a:e5:28:64", "endpoint_id": 1, "available": true, @@ -202,22 +204,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:5a:e5:28:64:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:5a:e5:28:64", "endpoint_id": 1, "available": true, @@ -252,22 +238,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5a:e5:28:64:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5a:e5:28:64", "endpoint_id": 1, "available": true, @@ -296,22 +266,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5a:e5:28:64:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5a:e5:28:64", "endpoint_id": 1, "available": true, @@ -340,22 +294,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:5a:e5:28:64:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:5a:e5:28:64", "endpoint_id": 1, "available": true, @@ -386,22 +324,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:5a:e5:28:64:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5a:e5:28:64", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-r6buo8ba-ts011f.json b/tests/data/devices/tz3000-r6buo8ba-ts011f.json index c92f57507..9ea478549 100644 --- a/tests/data/devices/tz3000-r6buo8ba-ts011f.json +++ b/tests/data/devices/tz3000-r6buo8ba-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d7:9b:67:b6", "nwk": "0xB8AC", "manufacturer": "_TZ3000_r6buo8ba", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,27 +69,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -101,54 +112,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 9536 + "value": 9536, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -166,7 +226,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -184,7 +250,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -203,24 +275,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -244,31 +335,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 1 + "value": 1, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -276,11 +397,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -292,7 +551,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -304,13 +569,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 45 + "value": 45, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -318,23 +595,90 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 245 + "value": 245, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -342,6 +686,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -411,22 +756,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:d7:9b:67:b6:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d7:9b:67:b6", "endpoint_id": 1, "available": true, @@ -459,22 +788,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d7:9b:67:b6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d7:9b:67:b6", "endpoint_id": 1, "available": true, @@ -503,22 +816,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d7:9b:67:b6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d7:9b:67:b6", "endpoint_id": 1, "available": true, @@ -547,22 +844,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "TuyaZBMeteringClusterWithUnit", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:d7:9b:67:b6:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:d7:9b:67:b6", "endpoint_id": 1, "available": true, @@ -597,22 +878,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:d7:9b:67:b6:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:d7:9b:67:b6", "endpoint_id": 1, "available": true, @@ -645,22 +910,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:d7:9b:67:b6:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:d7:9b:67:b6", "endpoint_id": 1, "available": true, @@ -693,22 +942,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:d7:9b:67:b6:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:d7:9b:67:b6", "endpoint_id": 1, "available": true, @@ -743,22 +976,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:d7:9b:67:b6:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:d7:9b:67:b6", "endpoint_id": 1, "available": true, @@ -787,22 +1004,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d7:9b:67:b6:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d7:9b:67:b6", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-rbl8c85w-ts0012.json b/tests/data/devices/tz3000-rbl8c85w-ts0012.json index d7dc14f72..af47baccd 100644 --- a/tests/data/devices/tz3000-rbl8c85w-ts0012.json +++ b/tests/data/devices/tz3000-rbl8c85w-ts0012.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ea:31:66:45", "nwk": "0xC257", "manufacturer": "_TZ3000_rbl8c85w", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -97,11 +108,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -123,27 +136,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -221,22 +244,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:ea:31:66:45:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ea:31:66:45", "endpoint_id": 1, "available": true, @@ -269,22 +276,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ea:31:66:45:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ea:31:66:45", "endpoint_id": 1, "available": true, @@ -335,22 +326,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:ea:31:66:45:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ea:31:66:45", "endpoint_id": 2, "available": true, @@ -403,22 +378,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ea:31:66:45:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ea:31:66:45", "endpoint_id": 1, "available": true, @@ -447,22 +406,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ea:31:66:45:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ea:31:66:45", "endpoint_id": 1, "available": true, @@ -493,22 +436,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ea:31:66:45:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ea:31:66:45", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-sgb0xhwn-ts011f.json b/tests/data/devices/tz3000-sgb0xhwn-ts011f.json index 518f0c663..dc4365b8e 100644 --- a/tests/data/devices/tz3000-sgb0xhwn-ts011f.json +++ b/tests/data/devices/tz3000-sgb0xhwn-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d4:a5:92:4b", "nwk": "0x21D6", "manufacturer": "_TZ3000_sgb0xhwn", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -64,21 +65,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -102,7 +107,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -127,54 +138,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -192,7 +252,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -210,7 +276,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -229,24 +301,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -270,31 +361,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -318,19 +439,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -342,7 +589,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -366,13 +619,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -396,19 +661,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -432,30 +715,50 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -463,11 +766,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -489,16 +794,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -522,7 +830,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -547,6 +861,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -563,6 +878,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -644,22 +960,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:d4:a5:92:4b:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d4:a5:92:4b", "endpoint_id": 1, "available": true, @@ -692,22 +992,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:d4:a5:92:4b:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:d4:a5:92:4b", "endpoint_id": 1, "available": true, @@ -740,22 +1024,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:d4:a5:92:4b:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:d4:a5:92:4b", "endpoint_id": 1, "available": true, @@ -790,22 +1058,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d4:a5:92:4b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d4:a5:92:4b", "endpoint_id": 1, "available": true, @@ -834,22 +1086,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d4:a5:92:4b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d4:a5:92:4b", "endpoint_id": 1, "available": true, @@ -878,22 +1114,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "TuyaZBMeteringCluster", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:d4:a5:92:4b:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:d4:a5:92:4b", "endpoint_id": 1, "available": true, @@ -930,22 +1150,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:d4:a5:92:4b:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:d4:a5:92:4b", "endpoint_id": 1, "available": true, @@ -978,22 +1182,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:d4:a5:92:4b:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:d4:a5:92:4b", "endpoint_id": 1, "available": true, @@ -1026,22 +1214,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:d4:a5:92:4b:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:d4:a5:92:4b", "endpoint_id": 1, "available": true, @@ -1076,22 +1248,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:d4:a5:92:4b:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:d4:a5:92:4b", "endpoint_id": 1, "available": true, @@ -1118,22 +1274,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:d4:a5:92:4b:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:d4:a5:92:4b", "endpoint_id": 1, "available": true, @@ -1166,22 +1306,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:d4:a5:92:4b:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:d4:a5:92:4b", "endpoint_id": 2, "available": true, @@ -1210,22 +1334,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d4:a5:92:4b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d4:a5:92:4b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-snq47izk-ts0013.json b/tests/data/devices/tz3000-snq47izk-ts0013.json index 2f2816c51..87b4bce0e 100644 --- a/tests/data/devices/tz3000-snq47izk-ts0013.json +++ b/tests/data/devices/tz3000-snq47izk-ts0013.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ce:9d:2a:9c", "nwk": "0x3FD3", "manufacturer": "_TZ3000_snq47izk", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -97,11 +108,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -116,27 +129,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -159,27 +182,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -268,22 +301,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:ce:9d:2a:9c:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:9d:2a:9c", "endpoint_id": 1, "available": true, @@ -316,22 +333,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ce:9d:2a:9c:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ce:9d:2a:9c", "endpoint_id": 1, "available": true, @@ -382,22 +383,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:ce:9d:2a:9c:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ce:9d:2a:9c", "endpoint_id": 2, "available": true, @@ -448,22 +433,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:ce:9d:2a:9c:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ce:9d:2a:9c", "endpoint_id": 3, "available": true, @@ -516,22 +485,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ce:9d:2a:9c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:9d:2a:9c", "endpoint_id": 1, "available": true, @@ -560,22 +513,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ce:9d:2a:9c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:9d:2a:9c", "endpoint_id": 1, "available": true, @@ -606,22 +543,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ce:9d:2a:9c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ce:9d:2a:9c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-tgddllx4-ts0001.json b/tests/data/devices/tz3000-tgddllx4-ts0001.json index 032dd84a1..2e778be86 100644 --- a/tests/data/devices/tz3000-tgddllx4-ts0001.json +++ b/tests/data/devices/tz3000-tgddllx4-ts0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:02:1f:a7:43", "nwk": "0x9F4A", "manufacturer": "_TZ3000_tgddllx4", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,54 +106,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -160,7 +220,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -178,7 +244,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -197,24 +269,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -238,31 +329,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -270,11 +391,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -286,7 +545,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -298,13 +563,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -312,23 +589,90 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 237 + "value": 237, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -388,22 +732,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:02:1f:a7:43:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:02:1f:a7:43", "endpoint_id": 1, "available": true, @@ -436,22 +764,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:02:1f:a7:43:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:02:1f:a7:43", "endpoint_id": 1, "available": true, @@ -504,22 +816,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:02:1f:a7:43:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:02:1f:a7:43", "endpoint_id": 1, "available": true, @@ -548,22 +844,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:02:1f:a7:43:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:02:1f:a7:43", "endpoint_id": 1, "available": true, @@ -592,22 +872,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "CustomMetering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:02:1f:a7:43:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:02:1f:a7:43", "endpoint_id": 1, "available": true, @@ -643,22 +907,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:02:1f:a7:43:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:02:1f:a7:43", "endpoint_id": 1, "available": true, @@ -691,22 +939,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:02:1f:a7:43:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:02:1f:a7:43", "endpoint_id": 1, "available": true, @@ -739,22 +971,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:02:1f:a7:43:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:02:1f:a7:43", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-tqlv4ug4-ts0001.json b/tests/data/devices/tz3000-tqlv4ug4-ts0001.json index 2a116d7b5..72533b03c 100644 --- a/tests/data/devices/tz3000-tqlv4ug4-ts0001.json +++ b/tests/data/devices/tz3000-tqlv4ug4-ts0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ab:aa:f0:9a", "nwk": "0xE4EB", "manufacturer": "_TZ3000_tqlv4ug4", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -88,21 +89,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -126,7 +131,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -151,54 +162,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -216,7 +276,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -234,7 +300,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -253,24 +325,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -294,31 +385,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -342,19 +463,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -366,7 +613,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -390,13 +643,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -420,19 +685,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -456,30 +739,50 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -494,11 +797,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -576,22 +881,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:ab:aa:f0:9a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ab:aa:f0:9a", "endpoint_id": 1, "available": true, @@ -624,22 +913,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ab:aa:f0:9a:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ab:aa:f0:9a", "endpoint_id": 1, "available": true, @@ -692,22 +965,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ab:aa:f0:9a:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ab:aa:f0:9a", "endpoint_id": 1, "available": true, @@ -740,22 +997,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ab:aa:f0:9a:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ab:aa:f0:9a", "endpoint_id": 1, "available": true, @@ -790,22 +1031,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ab:aa:f0:9a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ab:aa:f0:9a", "endpoint_id": 1, "available": true, @@ -834,22 +1059,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ab:aa:f0:9a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ab:aa:f0:9a", "endpoint_id": 1, "available": true, @@ -878,22 +1087,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "TuyaZBMeteringCluster", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:ab:aa:f0:9a:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:ab:aa:f0:9a", "endpoint_id": 1, "available": true, @@ -930,22 +1123,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:ab:aa:f0:9a:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:ab:aa:f0:9a", "endpoint_id": 1, "available": true, @@ -978,22 +1155,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:ab:aa:f0:9a:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:ab:aa:f0:9a", "endpoint_id": 1, "available": true, @@ -1026,22 +1187,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:ab:aa:f0:9a:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:ab:aa:f0:9a", "endpoint_id": 1, "available": true, @@ -1076,22 +1221,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ab:aa:f0:9a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ab:aa:f0:9a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-typdpbpg-ts011f.json b/tests/data/devices/tz3000-typdpbpg-ts011f.json index b954eaaf3..5e85fc4ae 100644 --- a/tests/data/devices/tz3000-typdpbpg-ts011f.json +++ b/tests/data/devices/tz3000-typdpbpg-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:fe:eb:bf:54", "nwk": "0xF95D", "manufacturer": "_TZ3000_typdpbpg", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -88,21 +89,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -126,7 +131,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -151,59 +162,109 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 387 + "value": 387, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -221,7 +282,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -239,7 +306,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -258,24 +331,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -299,31 +391,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 1 + "value": 1, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -347,19 +469,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -371,7 +619,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -395,13 +649,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 22 + "value": 22, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -425,19 +691,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 235 + "value": 235, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -461,35 +745,56 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1888", "endpoint_attribute": "tuya_manufacturer_specific_6280", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -497,6 +802,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -519,6 +825,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -590,22 +897,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:fe:eb:bf:54:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fe:eb:bf:54", "endpoint_id": 1, "available": true, @@ -638,22 +929,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:fe:eb:bf:54:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:fe:eb:bf:54", "endpoint_id": 1, "available": true, @@ -687,22 +962,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:fe:eb:bf:54:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:fe:eb:bf:54", "endpoint_id": 1, "available": true, @@ -735,22 +994,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:fe:eb:bf:54:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:fe:eb:bf:54", "endpoint_id": 1, "available": true, @@ -785,22 +1028,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fe:eb:bf:54:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fe:eb:bf:54", "endpoint_id": 1, "available": true, @@ -829,22 +1056,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fe:eb:bf:54:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fe:eb:bf:54", "endpoint_id": 1, "available": true, @@ -873,22 +1084,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "TuyaZBMeteringClusterWithUnit", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:fe:eb:bf:54:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:fe:eb:bf:54", "endpoint_id": 1, "available": true, @@ -925,22 +1120,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:fe:eb:bf:54:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:fe:eb:bf:54", "endpoint_id": 1, "available": true, @@ -973,22 +1152,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:fe:eb:bf:54:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:fe:eb:bf:54", "endpoint_id": 1, "available": true, @@ -1021,22 +1184,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:fe:eb:bf:54:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:fe:eb:bf:54", "endpoint_id": 1, "available": true, @@ -1071,22 +1218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:fe:eb:bf:54:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:fe:eb:bf:54", "endpoint_id": 1, "available": true, @@ -1113,22 +1244,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:fe:eb:bf:54:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:fe:eb:bf:54", "endpoint_id": 1, "available": true, @@ -1163,22 +1278,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:fe:eb:bf:54:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fe:eb:bf:54", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-u3oupgdy-ts0004.json b/tests/data/devices/tz3000-u3oupgdy-ts0004.json index fda0d3387..738e20e14 100644 --- a/tests/data/devices/tz3000-u3oupgdy-ts0004.json +++ b/tests/data/devices/tz3000-u3oupgdy-ts0004.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:64:23:80:ed", "nwk": "0xD5E1", "manufacturer": "_TZ3000_u3oupgdy", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -88,21 +89,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -126,7 +131,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -151,11 +162,13 @@ { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -170,11 +183,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -196,16 +211,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -229,7 +247,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -254,6 +278,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -269,16 +294,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -302,7 +330,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -327,6 +361,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -342,16 +377,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -375,7 +413,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -400,6 +444,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -416,6 +461,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -517,22 +563,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:64:23:80:ed:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:64:23:80:ed", "endpoint_id": 1, "available": true, @@ -565,22 +595,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:64:23:80:ed:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:64:23:80:ed", "endpoint_id": 1, "available": true, @@ -631,22 +645,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:64:23:80:ed:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:64:23:80:ed", "endpoint_id": 2, "available": true, @@ -697,22 +695,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:64:23:80:ed:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:64:23:80:ed", "endpoint_id": 3, "available": true, @@ -763,22 +745,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "4:0x0006", - "unique_id": "ab:cd:ef:12:64:23:80:ed:4:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:64:23:80:ed", "endpoint_id": 4, "available": true, @@ -831,22 +797,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:64:23:80:ed:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:64:23:80:ed", "endpoint_id": 1, "available": true, @@ -879,22 +829,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:64:23:80:ed:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:64:23:80:ed", "endpoint_id": 1, "available": true, @@ -929,22 +863,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:64:23:80:ed:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:64:23:80:ed", "endpoint_id": 1, "available": true, @@ -973,22 +891,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:64:23:80:ed:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:64:23:80:ed", "endpoint_id": 1, "available": true, @@ -1019,22 +921,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:64:23:80:ed:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:64:23:80:ed", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-u4kojtqz-ts0002.json b/tests/data/devices/tz3000-u4kojtqz-ts0002.json index 934d564e3..748ca3bb7 100644 --- a/tests/data/devices/tz3000-u4kojtqz-ts0002.json +++ b/tests/data/devices/tz3000-u4kojtqz-ts0002.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:26:0c:99:7b", "nwk": "0x89CD", "manufacturer": "_TZ3000_u4kojtqz", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -94,7 +99,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -113,16 +124,19 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -130,6 +144,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -151,26 +166,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -182,7 +202,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -201,16 +227,19 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -218,6 +247,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -302,22 +332,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:26:0c:99:7b:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:26:0c:99:7b", "endpoint_id": 1, "available": true, @@ -350,22 +364,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:26:0c:99:7b:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:26:0c:99:7b", "endpoint_id": 1, "available": true, @@ -416,22 +414,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:26:0c:99:7b:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:26:0c:99:7b", "endpoint_id": 2, "available": true, @@ -484,22 +466,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:26:0c:99:7b:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:26:0c:99:7b", "endpoint_id": 1, "available": true, @@ -533,22 +499,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:26:0c:99:7b:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:26:0c:99:7b", "endpoint_id": 2, "available": true, @@ -584,22 +534,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:26:0c:99:7b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:26:0c:99:7b", "endpoint_id": 1, "available": true, @@ -628,22 +562,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:26:0c:99:7b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:26:0c:99:7b", "endpoint_id": 1, "available": true, @@ -674,22 +592,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:26:0c:99:7b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:26:0c:99:7b", "endpoint_id": 1, "available": true, @@ -723,22 +625,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 2, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "2:0x0019_client", - "unique_id": "ab:cd:ef:12:26:0c:99:7b:2:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:26:0c:99:7b", "endpoint_id": 2, "available": true, diff --git a/tests/data/devices/tz3000-uwkja6z1-ts011f.json b/tests/data/devices/tz3000-uwkja6z1-ts011f.json index 2ca2350bc..ef1c96216 100644 --- a/tests/data/devices/tz3000-uwkja6z1-ts011f.json +++ b/tests/data/devices/tz3000-uwkja6z1-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:29:ef:78:8d", "nwk": "0x595D", "manufacturer": "_TZ3000_uwkja6z1", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,54 +106,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 318 + "value": 318, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -160,7 +220,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -178,7 +244,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -197,24 +269,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -238,31 +329,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -270,11 +391,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -286,7 +545,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -298,13 +563,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -312,28 +589,96 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 241 + "value": 241, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -341,11 +686,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -367,27 +714,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -400,54 +757,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 318 + "value": 318, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -465,7 +871,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -483,7 +895,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -502,24 +920,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -543,31 +980,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -575,11 +1042,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -591,7 +1196,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -603,13 +1214,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -617,28 +1240,96 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 241 + "value": 241, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -655,6 +1346,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -740,22 +1432,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:29:ef:78:8d:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:29:ef:78:8d", "endpoint_id": 1, "available": true, @@ -788,22 +1464,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:29:ef:78:8d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:29:ef:78:8d", "endpoint_id": 1, "available": true, @@ -832,22 +1492,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:29:ef:78:8d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:29:ef:78:8d", "endpoint_id": 1, "available": true, @@ -876,22 +1520,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:29:ef:78:8d:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:29:ef:78:8d", "endpoint_id": 1, "available": true, @@ -928,22 +1556,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:29:ef:78:8d:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:29:ef:78:8d", "endpoint_id": 1, "available": true, @@ -976,22 +1588,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:29:ef:78:8d:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:29:ef:78:8d", "endpoint_id": 1, "available": true, @@ -1024,22 +1620,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:29:ef:78:8d:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:29:ef:78:8d", "endpoint_id": 1, "available": true, @@ -1072,22 +1652,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 2, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "2:0x0702", - "unique_id": "ab:cd:ef:12:29:ef:78:8d:2:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:29:ef:78:8d", "endpoint_id": 2, "available": true, @@ -1124,22 +1688,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:29:ef:78:8d:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:29:ef:78:8d", "endpoint_id": 2, "available": true, @@ -1172,22 +1720,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:29:ef:78:8d:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:29:ef:78:8d", "endpoint_id": 2, "available": true, @@ -1220,22 +1752,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:29:ef:78:8d:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:29:ef:78:8d", "endpoint_id": 2, "available": true, @@ -1270,22 +1786,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:29:ef:78:8d:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:29:ef:78:8d", "endpoint_id": 1, "available": true, @@ -1312,22 +1812,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:29:ef:78:8d:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:29:ef:78:8d", "endpoint_id": 2, "available": true, @@ -1356,22 +1840,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:29:ef:78:8d:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:29:ef:78:8d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-vw8pawxa-ts130f.json b/tests/data/devices/tz3000-vw8pawxa-ts130f.json index c1256c8d5..19e1843cd 100644 --- a/tests/data/devices/tz3000-vw8pawxa-ts130f.json +++ b/tests/data/devices/tz3000-vw8pawxa-ts130f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:47:c9:40:68", "nwk": "0xBE40", "manufacturer": "_TZ3000_vw8pawxa", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,22 +63,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -90,6 +100,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -113,7 +124,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", @@ -125,7 +142,13 @@ "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0016", @@ -216,6 +239,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -223,11 +247,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -294,22 +320,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:47:c9:40:68:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:47:c9:40:68", "endpoint_id": 1, "available": true, @@ -344,22 +354,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:47:c9:40:68:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:47:c9:40:68", "endpoint_id": 1, "available": true, @@ -388,22 +382,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:47:c9:40:68:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:47:c9:40:68", "endpoint_id": 1, "available": true, @@ -434,22 +412,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:47:c9:40:68:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:47:c9:40:68", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-w0qqde0g-ts011f.json b/tests/data/devices/tz3000-w0qqde0g-ts011f.json index 51e0b3b76..4794cad55 100644 --- a/tests/data/devices/tz3000-w0qqde0g-ts011f.json +++ b/tests/data/devices/tz3000-w0qqde0g-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b6:0e:f6:2e", "nwk": "0x79E7", "manufacturer": "_TZ3000_w0qqde0g", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -88,21 +89,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -120,7 +125,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x8002", @@ -139,54 +150,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -204,7 +264,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -222,7 +288,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -241,24 +313,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -282,31 +373,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -314,11 +435,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -330,7 +589,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -342,13 +607,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -356,23 +633,90 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 208 + "value": 208, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -432,22 +776,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:b6:0e:f6:2e:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b6:0e:f6:2e", "endpoint_id": 1, "available": true, @@ -480,22 +808,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:b6:0e:f6:2e:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:b6:0e:f6:2e", "endpoint_id": 1, "available": true, @@ -528,22 +840,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:b6:0e:f6:2e:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:b6:0e:f6:2e", "endpoint_id": 1, "available": true, @@ -578,22 +874,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b6:0e:f6:2e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b6:0e:f6:2e", "endpoint_id": 1, "available": true, @@ -622,22 +902,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b6:0e:f6:2e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b6:0e:f6:2e", "endpoint_id": 1, "available": true, @@ -666,22 +930,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "TuyaZBMeteringClusterWithUnit", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:b6:0e:f6:2e:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:b6:0e:f6:2e", "endpoint_id": 1, "available": true, @@ -716,22 +964,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:b6:0e:f6:2e:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:b6:0e:f6:2e", "endpoint_id": 1, "available": true, @@ -764,22 +996,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:b6:0e:f6:2e:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:b6:0e:f6:2e", "endpoint_id": 1, "available": true, @@ -812,22 +1028,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:b6:0e:f6:2e:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:b6:0e:f6:2e", "endpoint_id": 1, "available": true, @@ -862,22 +1062,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:b6:0e:f6:2e:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:b6:0e:f6:2e", "endpoint_id": 1, "available": true, @@ -904,22 +1088,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:b6:0e:f6:2e:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:b6:0e:f6:2e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-wcgyhnp3-ts0222.json b/tests/data/devices/tz3000-wcgyhnp3-ts0222.json index 1bc066e18..d166e4cfa 100644 --- a/tests/data/devices/tz3000-wcgyhnp3-ts0222.json +++ b/tests/data/devices/tz3000-wcgyhnp3-ts0222.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f9:d0:9a:b8", "nwk": "0x47F7", "manufacturer": "_TZ3000_wcgyhnp3", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,54 +93,83 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 23011 + "value": 23011, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -174,16 +211,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -252,22 +292,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:f9:d0:9a:b8:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f9:d0:9a:b8", "endpoint_id": 1, "available": true, @@ -297,22 +321,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:f9:d0:9a:b8:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f9:d0:9a:b8", "endpoint_id": 1, "available": true, @@ -345,22 +353,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f9:d0:9a:b8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f9:d0:9a:b8", "endpoint_id": 1, "available": true, @@ -389,22 +381,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f9:d0:9a:b8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f9:d0:9a:b8", "endpoint_id": 1, "available": true, @@ -433,22 +409,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:f9:d0:9a:b8:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:f9:d0:9a:b8", "endpoint_id": 1, "available": true, @@ -483,22 +443,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:f9:d0:9a:b8:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:f9:d0:9a:b8", "endpoint_id": 1, "available": true, @@ -527,22 +471,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:f9:d0:9a:b8:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:f9:d0:9a:b8", "endpoint_id": 1, "available": true, @@ -571,22 +499,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:f9:d0:9a:b8:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:f9:d0:9a:b8", "endpoint_id": 1, "available": true, @@ -617,22 +529,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f9:d0:9a:b8:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f9:d0:9a:b8", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-wkai4ga5-ts0044.json b/tests/data/devices/tz3000-wkai4ga5-ts0044.json index 7bf4aea16..fb353189a 100644 --- a/tests/data/devices/tz3000-wkai4ga5-ts0044.json +++ b/tests/data/devices/tz3000-wkai4ga5-ts0044.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:03:34:3e:f1", "nwk": "0x884C", "manufacturer": "_TZ3000_wkai4ga5", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,25 +93,47 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -118,12 +148,52 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -138,12 +208,52 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -158,12 +268,52 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -247,22 +397,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:03:34:3e:f1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:34:3e:f1", "endpoint_id": 1, "available": true, @@ -291,22 +425,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:03:34:3e:f1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:34:3e:f1", "endpoint_id": 1, "available": true, @@ -335,22 +453,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:03:34:3e:f1:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:03:34:3e:f1", "endpoint_id": 1, "available": true, @@ -385,22 +487,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 2, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "2:0x0001", - "unique_id": "ab:cd:ef:12:03:34:3e:f1:2:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:03:34:3e:f1", "endpoint_id": 2, "available": true, @@ -434,22 +520,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 3, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "3:0x0001", - "unique_id": "ab:cd:ef:12:03:34:3e:f1:3:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:03:34:3e:f1", "endpoint_id": 3, "available": true, @@ -483,22 +553,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 4, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "4:0x0001", - "unique_id": "ab:cd:ef:12:03:34:3e:f1:4:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:03:34:3e:f1", "endpoint_id": 4, "available": true, @@ -534,22 +588,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:03:34:3e:f1:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:03:34:3e:f1", "endpoint_id": 1, "available": true, @@ -576,22 +614,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:03:34:3e:f1:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:03:34:3e:f1", "endpoint_id": 2, "available": true, @@ -618,22 +640,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:03:34:3e:f1:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:03:34:3e:f1", "endpoint_id": 3, "available": true, @@ -660,22 +666,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "4:0x0006", - "unique_id": "ab:cd:ef:12:03:34:3e:f1:4:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:03:34:3e:f1", "endpoint_id": 4, "available": true, @@ -704,22 +694,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:03:34:3e:f1:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:34:3e:f1", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-wkr3jqmr-ts0004.json b/tests/data/devices/tz3000-wkr3jqmr-ts0004.json index 198531709..e2cf8670e 100644 --- a/tests/data/devices/tz3000-wkr3jqmr-ts0004.json +++ b/tests/data/devices/tz3000-wkr3jqmr-ts0004.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:cf:6d:17:08", "nwk": "0x6CF1", "manufacturer": "_TZ3000_wkr3jqmr", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -136,21 +137,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -174,7 +179,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -199,11 +210,13 @@ { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -218,11 +231,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -237,16 +252,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -264,7 +282,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -289,6 +313,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -304,16 +329,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -331,7 +359,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -356,6 +390,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -371,16 +406,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -398,7 +436,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -423,6 +467,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -439,6 +484,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -540,22 +586,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:cf:6d:17:08:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cf:6d:17:08", "endpoint_id": 1, "available": true, @@ -588,22 +618,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:cf:6d:17:08:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:cf:6d:17:08", "endpoint_id": 1, "available": true, @@ -654,22 +668,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:cf:6d:17:08:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:cf:6d:17:08", "endpoint_id": 2, "available": true, @@ -720,22 +718,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:cf:6d:17:08:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:cf:6d:17:08", "endpoint_id": 3, "available": true, @@ -786,22 +768,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "4:0x0006", - "unique_id": "ab:cd:ef:12:cf:6d:17:08:4:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:cf:6d:17:08", "endpoint_id": 4, "available": true, @@ -854,22 +820,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:cf:6d:17:08:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:cf:6d:17:08", "endpoint_id": 1, "available": true, @@ -902,22 +852,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:cf:6d:17:08:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:cf:6d:17:08", "endpoint_id": 1, "available": true, @@ -952,22 +886,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cf:6d:17:08:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cf:6d:17:08", "endpoint_id": 1, "available": true, @@ -996,22 +914,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cf:6d:17:08:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cf:6d:17:08", "endpoint_id": 1, "available": true, @@ -1042,22 +944,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:cf:6d:17:08:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:cf:6d:17:08", "endpoint_id": 1, "available": true, @@ -1092,22 +978,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:cf:6d:17:08:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cf:6d:17:08", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-xa9g7rxs-ts1002.json b/tests/data/devices/tz3000-xa9g7rxs-ts1002.json index 0cd0e838f..30269f782 100644 --- a/tests/data/devices/tz3000-xa9g7rxs-ts1002.json +++ b/tests/data/devices/tz3000-xa9g7rxs-ts1002.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:66:b9:e7:ff", "nwk": "0xB0E5", "manufacturer": "_TZ3000_xa9g7rxs", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,28 +93,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -114,36 +132,43 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -156,11 +181,13 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -227,22 +254,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:66:b9:e7:ff:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:66:b9:e7:ff", "endpoint_id": 1, "available": true, @@ -275,22 +286,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:66:b9:e7:ff:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:66:b9:e7:ff", "endpoint_id": 1, "available": true, @@ -319,22 +314,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:66:b9:e7:ff:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:66:b9:e7:ff", "endpoint_id": 1, "available": true, @@ -363,22 +342,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:66:b9:e7:ff:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:66:b9:e7:ff", "endpoint_id": 1, "available": true, @@ -415,22 +378,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:66:b9:e7:ff:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:66:b9:e7:ff", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-xabckq1v-ts004f.json b/tests/data/devices/tz3000-xabckq1v-ts004f.json index b73413678..2ee7c4e56 100644 --- a/tests/data/devices/tz3000-xabckq1v-ts004f.json +++ b/tests/data/devices/tz3000-xabckq1v-ts004f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:df:1d:21:23", "nwk": "0xF631", "manufacturer": "_TZ3000_xabckq1v", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,12 +87,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -109,23 +117,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -133,36 +150,43 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -175,11 +199,13 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -194,7 +220,21 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -209,7 +249,21 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -224,7 +278,21 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -314,22 +382,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:df:1d:21:23:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:df:1d:21:23", "endpoint_id": 1, "available": true, @@ -362,22 +414,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:df:1d:21:23:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:df:1d:21:23", "endpoint_id": 1, "available": true, @@ -406,22 +442,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:df:1d:21:23:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:df:1d:21:23", "endpoint_id": 1, "available": true, @@ -450,22 +470,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:df:1d:21:23:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:df:1d:21:23", "endpoint_id": 1, "available": true, @@ -502,22 +506,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:df:1d:21:23:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:df:1d:21:23", "endpoint_id": 2, "available": true, @@ -544,22 +532,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:df:1d:21:23:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:df:1d:21:23", "endpoint_id": 3, "available": true, @@ -586,22 +558,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "4:0x0006", - "unique_id": "ab:cd:ef:12:df:1d:21:23:4:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:df:1d:21:23", "endpoint_id": 4, "available": true, @@ -630,22 +586,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:df:1d:21:23:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:df:1d:21:23", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-xkap8wtb-ts000f.json b/tests/data/devices/tz3000-xkap8wtb-ts000f.json index 5669dbc97..1163e32a7 100644 --- a/tests/data/devices/tz3000-xkap8wtb-ts000f.json +++ b/tests/data/devices/tz3000-xkap8wtb-ts000f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:07:f0:0f:c0", "nwk": "0x9B37", "manufacturer": "_TZ3000_xkap8wtb", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -88,7 +93,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -107,53 +118,109 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -171,7 +238,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -189,7 +262,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -208,24 +287,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -249,31 +347,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -281,11 +409,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -297,19 +563,37 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 66 + "value": 66, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -317,33 +601,102 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 231 + "value": 231, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1888", "endpoint_attribute": "tuya_manufacturer_specific_6280", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -351,6 +704,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -366,6 +720,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -437,22 +792,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:07:f0:0f:c0:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:07:f0:0f:c0", "endpoint_id": 1, "available": true, @@ -485,22 +824,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:07:f0:0f:c0:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:07:f0:0f:c0", "endpoint_id": 1, "available": true, @@ -553,22 +876,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:07:f0:0f:c0:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:07:f0:0f:c0", "endpoint_id": 1, "available": true, @@ -604,22 +911,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:07:f0:0f:c0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:07:f0:0f:c0", "endpoint_id": 1, "available": true, @@ -648,22 +939,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:07:f0:0f:c0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:07:f0:0f:c0", "endpoint_id": 1, "available": true, @@ -692,22 +967,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "TuyaZBMeteringCluster", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:07:f0:0f:c0:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:07:f0:0f:c0", "endpoint_id": 1, "available": true, @@ -744,22 +1003,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:07:f0:0f:c0:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:07:f0:0f:c0", "endpoint_id": 1, "available": true, @@ -792,22 +1035,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:07:f0:0f:c0:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:07:f0:0f:c0", "endpoint_id": 1, "available": true, @@ -839,22 +1066,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:07:f0:0f:c0:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:07:f0:0f:c0", "endpoint_id": 1, "available": true, @@ -887,22 +1098,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:07:f0:0f:c0:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:07:f0:0f:c0", "endpoint_id": 1, "available": true, @@ -937,22 +1132,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:07:f0:0f:c0:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:07:f0:0f:c0", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-xr3htd96-ts0201.json b/tests/data/devices/tz3000-xr3htd96-ts0201.json index e9e1cf39f..d3622e2af 100644 --- a/tests/data/devices/tz3000-xr3htd96-ts0201.json +++ b/tests/data/devices/tz3000-xr3htd96-ts0201.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:65:20:2c:b5", "nwk": "0xB370", "manufacturer": "_TZ3000_xr3htd96", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,36 +93,57 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2121 + "value": 2121, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5547 + "value": 5547, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -123,16 +152,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -192,22 +224,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:65:20:2c:b5:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:65:20:2c:b5", "endpoint_id": 1, "available": true, @@ -240,22 +256,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:65:20:2c:b5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:65:20:2c:b5", "endpoint_id": 1, "available": true, @@ -284,22 +284,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:65:20:2c:b5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:65:20:2c:b5", "endpoint_id": 1, "available": true, @@ -328,22 +312,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:65:20:2c:b5:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:65:20:2c:b5", "endpoint_id": 1, "available": true, @@ -378,22 +346,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:65:20:2c:b5:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:65:20:2c:b5", "endpoint_id": 1, "available": true, @@ -422,22 +374,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:65:20:2c:b5:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:65:20:2c:b5", "endpoint_id": 1, "available": true, @@ -468,22 +404,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:65:20:2c:b5:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:65:20:2c:b5", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-xxacnuab-ts0004.json b/tests/data/devices/tz3000-xxacnuab-ts0004.json index 1400d2ee0..bd0076f9a 100644 --- a/tests/data/devices/tz3000-xxacnuab-ts0004.json +++ b/tests/data/devices/tz3000-xxacnuab-ts0004.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:0b:b6:c8:60", "nwk": "0x5605", "manufacturer": "_TZ3000_xxacnuab", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -88,21 +89,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8000", @@ -120,7 +125,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -145,11 +156,13 @@ { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -164,11 +177,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -183,16 +198,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -216,7 +234,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -241,6 +265,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -256,16 +281,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -289,7 +317,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -314,6 +348,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -329,16 +364,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -362,7 +400,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -387,6 +431,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -403,6 +448,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -504,22 +550,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:0b:b6:c8:60:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0b:b6:c8:60", "endpoint_id": 1, "available": true, @@ -552,22 +582,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:0b:b6:c8:60:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:0b:b6:c8:60", "endpoint_id": 1, "available": true, @@ -618,22 +632,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:0b:b6:c8:60:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:0b:b6:c8:60", "endpoint_id": 2, "available": true, @@ -684,22 +682,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:0b:b6:c8:60:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:0b:b6:c8:60", "endpoint_id": 3, "available": true, @@ -750,22 +732,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "4:0x0006", - "unique_id": "ab:cd:ef:12:0b:b6:c8:60:4:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:0b:b6:c8:60", "endpoint_id": 4, "available": true, @@ -818,22 +784,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:0b:b6:c8:60:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:0b:b6:c8:60", "endpoint_id": 1, "available": true, @@ -868,22 +818,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0b:b6:c8:60:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0b:b6:c8:60", "endpoint_id": 1, "available": true, @@ -912,22 +846,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0b:b6:c8:60:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0b:b6:c8:60", "endpoint_id": 1, "available": true, @@ -958,22 +876,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:0b:b6:c8:60:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0b:b6:c8:60", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-ynmowqk2-ts011f.json b/tests/data/devices/tz3000-ynmowqk2-ts011f.json index 63236c0d9..1b264dfad 100644 --- a/tests/data/devices/tz3000-ynmowqk2-ts011f.json +++ b/tests/data/devices/tz3000-ynmowqk2-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:91:a9:a4:a5", "nwk": "0x5040", "manufacturer": "_TZ3000_ynmowqk2", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,21 +87,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -112,7 +117,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -131,48 +142,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -190,7 +256,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -208,7 +280,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -227,24 +305,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -268,31 +365,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -300,11 +427,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -316,7 +581,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -328,13 +599,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -342,28 +625,96 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 235 + "value": 235, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -371,11 +722,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -438,22 +791,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:91:a9:a4:a5:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:91:a9:a4:a5", "endpoint_id": 1, "available": true, @@ -486,22 +823,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:91:a9:a4:a5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:91:a9:a4:a5", "endpoint_id": 1, "available": true, @@ -530,22 +851,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:91:a9:a4:a5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:91:a9:a4:a5", "endpoint_id": 1, "available": true, @@ -574,22 +879,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:91:a9:a4:a5:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:91:a9:a4:a5", "endpoint_id": 1, "available": true, @@ -626,22 +915,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:91:a9:a4:a5:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:91:a9:a4:a5", "endpoint_id": 1, "available": true, @@ -674,22 +947,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:91:a9:a4:a5:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:91:a9:a4:a5", "endpoint_id": 1, "available": true, @@ -722,22 +979,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:91:a9:a4:a5:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:91:a9:a4:a5", "endpoint_id": 1, "available": true, @@ -772,22 +1013,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:91:a9:a4:a5:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:91:a9:a4:a5", "endpoint_id": 1, "available": true, @@ -816,22 +1041,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:91:a9:a4:a5:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:91:a9:a4:a5", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-zl1kmjqx-ty0201.json b/tests/data/devices/tz3000-zl1kmjqx-ty0201.json index 79b059376..a73b071fa 100644 --- a/tests/data/devices/tz3000-zl1kmjqx-ty0201.json +++ b/tests/data/devices/tz3000-zl1kmjqx-ty0201.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d2:4c:8b:b1", "nwk": "0x71DE", "manufacturer": "_TZ3000_zl1kmjqx", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -98,11 +100,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -115,6 +119,7 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -129,6 +134,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -186,22 +192,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:d2:4c:8b:b1:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:4c:8b:b1", "endpoint_id": 1, "available": true, @@ -234,22 +224,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d2:4c:8b:b1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:4c:8b:b1", "endpoint_id": 1, "available": true, @@ -278,22 +252,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d2:4c:8b:b1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:4c:8b:b1", "endpoint_id": 1, "available": true, @@ -322,22 +280,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:d2:4c:8b:b1:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:d2:4c:8b:b1", "endpoint_id": 1, "available": true, @@ -374,22 +316,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:d2:4c:8b:b1:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:d2:4c:8b:b1", "endpoint_id": 1, "available": true, @@ -420,22 +346,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d2:4c:8b:b1:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:4c:8b:b1", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-zl1kmjqx.json b/tests/data/devices/tz3000-zl1kmjqx.json index f8371bc76..7229f5f72 100644 --- a/tests/data/devices/tz3000-zl1kmjqx.json +++ b/tests/data/devices/tz3000-zl1kmjqx.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:bd:22:a3:f8", "nwk": "0xB22D", "manufacturer": "_TZ3000_zl1kmjqx", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -98,11 +100,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -115,6 +119,7 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -129,6 +134,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -193,22 +199,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:bd:22:a3:f8:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bd:22:a3:f8", "endpoint_id": 1, "available": true, @@ -241,22 +231,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:bd:22:a3:f8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bd:22:a3:f8", "endpoint_id": 1, "available": true, @@ -285,22 +259,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:bd:22:a3:f8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bd:22:a3:f8", "endpoint_id": 1, "available": true, @@ -329,22 +287,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:bd:22:a3:f8:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:bd:22:a3:f8", "endpoint_id": 1, "available": true, @@ -381,22 +323,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:bd:22:a3:f8:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:bd:22:a3:f8", "endpoint_id": 1, "available": true, @@ -425,22 +351,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:bd:22:a3:f8:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:bd:22:a3:f8", "endpoint_id": 1, "available": true, @@ -471,22 +381,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:bd:22:a3:f8:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bd:22:a3:f8", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-zv6x8bt2-ts011f.json b/tests/data/devices/tz3000-zv6x8bt2-ts011f.json index f64c38728..9da3964d0 100644 --- a/tests/data/devices/tz3000-zv6x8bt2-ts011f.json +++ b/tests/data/devices/tz3000-zv6x8bt2-ts011f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:85:03:69:d5", "nwk": "0xB25B", "manufacturer": "_TZ3000_zv6x8bt2", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -88,21 +89,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -126,7 +131,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -151,54 +162,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 167 + "value": 167, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -216,7 +276,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -234,7 +300,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -253,24 +325,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -294,31 +385,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 1415 + "value": 1415, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -342,19 +463,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -366,7 +613,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -390,13 +643,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 6076 + "value": 6076, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -420,19 +685,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 242 + "value": 242, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -456,30 +739,50 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -494,11 +797,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -521,6 +826,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -592,22 +898,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:85:03:69:d5:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:03:69:d5", "endpoint_id": 1, "available": true, @@ -640,22 +930,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:85:03:69:d5:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:85:03:69:d5", "endpoint_id": 1, "available": true, @@ -688,22 +962,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:85:03:69:d5:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:85:03:69:d5", "endpoint_id": 1, "available": true, @@ -738,22 +996,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:85:03:69:d5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:03:69:d5", "endpoint_id": 1, "available": true, @@ -782,22 +1024,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:85:03:69:d5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:03:69:d5", "endpoint_id": 1, "available": true, @@ -826,22 +1052,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "TuyaZBMeteringCluster", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:85:03:69:d5:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:85:03:69:d5", "endpoint_id": 1, "available": true, @@ -878,22 +1088,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:85:03:69:d5:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:85:03:69:d5", "endpoint_id": 1, "available": true, @@ -926,22 +1120,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:85:03:69:d5:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:85:03:69:d5", "endpoint_id": 1, "available": true, @@ -974,22 +1152,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:85:03:69:d5:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:85:03:69:d5", "endpoint_id": 1, "available": true, @@ -1024,22 +1186,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:85:03:69:d5:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:85:03:69:d5", "endpoint_id": 1, "available": true, @@ -1066,22 +1212,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:85:03:69:d5:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:85:03:69:d5", "endpoint_id": 1, "available": true, @@ -1116,22 +1246,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:85:03:69:d5:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:03:69:d5", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-zw7yf6yk-ts0001.json b/tests/data/devices/tz3000-zw7yf6yk-ts0001.json index 655cfb4a0..6da743033 100644 --- a/tests/data/devices/tz3000-zw7yf6yk-ts0001.json +++ b/tests/data/devices/tz3000-zw7yf6yk-ts0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:3f:75:01:c9", "nwk": "0x0DA7", "manufacturer": "_TZ3000_zw7yf6yk", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,27 +87,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -119,54 +130,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -184,7 +244,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -202,7 +268,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -221,24 +293,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -262,31 +353,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -294,11 +415,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -310,7 +569,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -322,13 +587,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -336,28 +613,96 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -365,11 +710,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -439,22 +786,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:3f:75:01:c9:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3f:75:01:c9", "endpoint_id": 1, "available": true, @@ -487,22 +818,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:3f:75:01:c9:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:3f:75:01:c9", "endpoint_id": 1, "available": true, @@ -555,22 +870,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3f:75:01:c9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3f:75:01:c9", "endpoint_id": 1, "available": true, @@ -599,22 +898,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3f:75:01:c9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3f:75:01:c9", "endpoint_id": 1, "available": true, @@ -643,22 +926,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:3f:75:01:c9:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:3f:75:01:c9", "endpoint_id": 1, "available": true, @@ -695,22 +962,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:3f:75:01:c9:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:3f:75:01:c9", "endpoint_id": 1, "available": true, @@ -743,22 +994,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:3f:75:01:c9:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:3f:75:01:c9", "endpoint_id": 1, "available": true, @@ -791,22 +1026,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:3f:75:01:c9:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:3f:75:01:c9", "endpoint_id": 1, "available": true, @@ -841,22 +1060,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:3f:75:01:c9:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3f:75:01:c9", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3002-vaq2bfcu-ts0726.json b/tests/data/devices/tz3002-vaq2bfcu-ts0726.json index 392f7f7b9..b62f62473 100644 --- a/tests/data/devices/tz3002-vaq2bfcu-ts0726.json +++ b/tests/data/devices/tz3002-vaq2bfcu-ts0726.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f0:bb:38:d7", "nwk": "0xE49C", "manufacturer": "_TZ3002_vaq2bfcu", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,11 +106,13 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -107,11 +120,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -133,22 +148,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -161,6 +185,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -176,22 +201,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -204,6 +238,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -219,22 +254,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -247,6 +291,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -262,22 +307,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -290,6 +344,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -305,16 +360,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -326,7 +384,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -345,6 +409,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -361,6 +426,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -484,22 +550,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:f0:bb:38:d7:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:bb:38:d7", "endpoint_id": 1, "available": true, @@ -532,22 +582,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f0:bb:38:d7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:bb:38:d7", "endpoint_id": 1, "available": true, @@ -576,22 +610,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f0:bb:38:d7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:bb:38:d7", "endpoint_id": 1, "available": true, @@ -622,22 +640,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:f0:bb:38:d7:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:f0:bb:38:d7", "endpoint_id": 1, "available": true, @@ -664,22 +666,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:f0:bb:38:d7:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:f0:bb:38:d7", "endpoint_id": 2, "available": true, @@ -706,22 +692,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:f0:bb:38:d7:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:f0:bb:38:d7", "endpoint_id": 3, "available": true, @@ -748,22 +718,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "4:0x0006", - "unique_id": "ab:cd:ef:12:f0:bb:38:d7:4:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:f0:bb:38:d7", "endpoint_id": 4, "available": true, @@ -790,22 +744,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 5, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "5:0x0006", - "unique_id": "ab:cd:ef:12:f0:bb:38:d7:5:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:f0:bb:38:d7", "endpoint_id": 5, "available": true, @@ -832,22 +770,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 6, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "6:0x0006", - "unique_id": "ab:cd:ef:12:f0:bb:38:d7:6:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:f0:bb:38:d7", "endpoint_id": 6, "available": true, @@ -876,22 +798,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f0:bb:38:d7:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:bb:38:d7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3002-zjuvw9zf-ts0726.json b/tests/data/devices/tz3002-zjuvw9zf-ts0726.json index 3ea756c7c..6be73435f 100644 --- a/tests/data/devices/tz3002-zjuvw9zf-ts0726.json +++ b/tests/data/devices/tz3002-zjuvw9zf-ts0726.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:50:fa:6e:0f", "nwk": "0xB0B2", "manufacturer": "_TZ3002_zjuvw9zf", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -88,7 +93,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -107,11 +118,13 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -119,11 +132,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -145,16 +160,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -166,7 +184,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -185,6 +209,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -201,6 +226,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -280,22 +306,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:50:fa:6e:0f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:50:fa:6e:0f", "endpoint_id": 1, "available": true, @@ -328,22 +338,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:50:fa:6e:0f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:50:fa:6e:0f", "endpoint_id": 1, "available": true, @@ -372,22 +366,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:50:fa:6e:0f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:50:fa:6e:0f", "endpoint_id": 1, "available": true, @@ -418,22 +396,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:50:fa:6e:0f:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:50:fa:6e:0f", "endpoint_id": 1, "available": true, @@ -460,22 +422,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:50:fa:6e:0f:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:50:fa:6e:0f", "endpoint_id": 2, "available": true, @@ -504,22 +450,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:50:fa:6e:0f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:50:fa:6e:0f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3040-bb6xaihh-ts0202.json b/tests/data/devices/tz3040-bb6xaihh-ts0202.json index 88bd1f36f..38771b4c3 100644 --- a/tests/data/devices/tz3040-bb6xaihh-ts0202.json +++ b/tests/data/devices/tz3040-bb6xaihh-ts0202.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d3:a3:07:1f", "nwk": "0xFC90", "manufacturer": "_TZ3040_bb6xaihh", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -98,16 +100,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0010", @@ -149,11 +154,13 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -172,11 +179,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -189,6 +198,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -250,22 +260,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:d3:a3:07:1f:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d3:a3:07:1f", "endpoint_id": 1, "available": true, @@ -293,22 +287,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:d3:a3:07:1f:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d3:a3:07:1f", "endpoint_id": 1, "available": true, @@ -338,22 +316,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:d3:a3:07:1f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d3:a3:07:1f", "endpoint_id": 1, "available": true, @@ -386,22 +348,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d3:a3:07:1f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d3:a3:07:1f", "endpoint_id": 1, "available": true, @@ -430,22 +376,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d3:a3:07:1f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d3:a3:07:1f", "endpoint_id": 1, "available": true, @@ -474,22 +404,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:d3:a3:07:1f:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:d3:a3:07:1f", "endpoint_id": 1, "available": true, @@ -528,22 +442,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d3:a3:07:1f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d3:a3:07:1f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-09hzmirw-ts0502b.json b/tests/data/devices/tz3210-09hzmirw-ts0502b.json index 7a8e3546e..7f92415ca 100644 --- a/tests/data/devices/tz3210-09hzmirw-ts0502b.json +++ b/tests/data/devices/tz3210-09hzmirw-ts0502b.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:93:d3:8d:53", "nwk": "0x7479", "manufacturer": "_TZ3210_09hzmirw", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 56 + "value": 56, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,19 +197,37 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500 + "value": 500, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -209,11 +246,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -221,11 +260,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -248,6 +289,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -318,22 +360,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:93:d3:8d:53:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:93:d3:8d:53", "endpoint_id": 1, "available": true, @@ -366,50 +392,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:93:d3:8d:53:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:93:d3:8d:53:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:93:d3:8d:53:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:93:d3:8d:53", "endpoint_id": 1, "available": true, @@ -464,22 +446,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:93:d3:8d:53:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:93:d3:8d:53", "endpoint_id": 1, "available": true, @@ -513,22 +479,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:93:d3:8d:53:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:93:d3:8d:53", "endpoint_id": 1, "available": true, @@ -557,22 +507,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:93:d3:8d:53:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:93:d3:8d:53", "endpoint_id": 1, "available": true, @@ -603,22 +537,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:93:d3:8d:53:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:93:d3:8d:53", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-0jxeoadc-ts0049.json b/tests/data/devices/tz3210-0jxeoadc-ts0049.json index a8dd3bf9f..e0cb2b1dd 100644 --- a/tests/data/devices/tz3210-0jxeoadc-ts0049.json +++ b/tests/data/devices/tz3210-0jxeoadc-ts0049.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f1:08:7a:54", "nwk": "0x0517", "manufacturer": "_TZ3210_0jxeoadc", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,6 +87,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -116,6 +118,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -128,6 +131,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef6f", @@ -142,11 +146,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -204,22 +210,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f1:08:7a:54:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f1:08:7a:54", "endpoint_id": 1, "available": true, @@ -253,22 +243,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f1:08:7a:54:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f1:08:7a:54", "endpoint_id": 1, "available": true, @@ -297,22 +271,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f1:08:7a:54:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f1:08:7a:54", "endpoint_id": 1, "available": true, @@ -341,22 +299,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:f1:08:7a:54:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:f1:08:7a:54", "endpoint_id": 1, "available": true, @@ -392,22 +334,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f1:08:7a:54:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f1:08:7a:54", "endpoint_id": 1, "available": true, @@ -438,22 +364,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:f1:08:7a:54:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:f1:08:7a:54", "endpoint_id": 1, "available": true, @@ -482,22 +392,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f1:08:7a:54:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f1:08:7a:54", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-3mpwqzuu-ts110e.json b/tests/data/devices/tz3210-3mpwqzuu-ts110e.json index 7e858cf20..71a560076 100644 --- a/tests/data/devices/tz3210-3mpwqzuu-ts110e.json +++ b/tests/data/devices/tz3210-3mpwqzuu-ts110e.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:01:e4:a9:87", "nwk": "0x68A5", "manufacturer": "_TZ3210_3mpwqzuu", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -88,7 +93,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -107,6 +118,7 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -118,7 +130,13 @@ "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -173,6 +191,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -180,11 +199,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -206,27 +227,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -245,12 +276,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -299,6 +337,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -315,6 +354,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -396,22 +436,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:01:e4:a9:87:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:01:e4:a9:87", "endpoint_id": 1, "available": true, @@ -444,36 +468,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:01:e4:a9:87:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:01:e4:a9:87:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:01:e4:a9:87", "endpoint_id": 1, "available": true, @@ -525,36 +519,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:01:e4:a9:87:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 2, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "2:0x0008", - "unique_id": "ab:cd:ef:12:01:e4:a9:87:2:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:01:e4:a9:87", "endpoint_id": 2, "available": true, @@ -608,22 +572,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:01:e4:a9:87:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:01:e4:a9:87", "endpoint_id": 1, "available": true, @@ -652,22 +600,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:01:e4:a9:87:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:01:e4:a9:87", "endpoint_id": 1, "available": true, @@ -698,22 +630,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:01:e4:a9:87:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:01:e4:a9:87", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-3ulg9kpo-ts0021.json b/tests/data/devices/tz3210-3ulg9kpo-ts0021.json index 80c3ba24e..21193455b 100644 --- a/tests/data/devices/tz3210-3ulg9kpo-ts0021.json +++ b/tests/data/devices/tz3210-3ulg9kpo-ts0021.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:97:dd:c8:ba", "nwk": "0x81A8", "manufacturer": "_TZ3210_3ulg9kpo", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,13 +93,20 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -131,6 +146,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "SUCCESS", "attributes": [] } ], @@ -138,11 +154,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -200,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:97:dd:c8:ba:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:97:dd:c8:ba", "endpoint_id": 1, "available": true, @@ -245,22 +247,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:97:dd:c8:ba:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:97:dd:c8:ba", "endpoint_id": 1, "available": true, @@ -289,22 +275,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:97:dd:c8:ba:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:97:dd:c8:ba", "endpoint_id": 1, "available": true, @@ -333,22 +303,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:97:dd:c8:ba:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:97:dd:c8:ba", "endpoint_id": 1, "available": true, @@ -385,22 +339,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:97:dd:c8:ba:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:97:dd:c8:ba", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-5rta89nj-ts0601.json b/tests/data/devices/tz3210-5rta89nj-ts0601.json index 3267ec31a..b8dd28966 100644 --- a/tests/data/devices/tz3210-5rta89nj-ts0601.json +++ b/tests/data/devices/tz3210-5rta89nj-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:be:aa:be:f4", "nwk": "0xB907", "manufacturer": "_TZ3210_5rta89nj", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0008", @@ -86,12 +87,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -109,18 +117,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -160,6 +176,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -167,11 +184,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -237,22 +256,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:be:aa:be:f4:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:be:aa:be:f4", "endpoint_id": 1, "available": true, @@ -282,22 +285,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:be:aa:be:f4:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:be:aa:be:f4", "endpoint_id": 1, "available": true, @@ -330,22 +317,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:be:aa:be:f4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:be:aa:be:f4", "endpoint_id": 1, "available": true, @@ -374,22 +345,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:be:aa:be:f4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:be:aa:be:f4", "endpoint_id": 1, "available": true, @@ -418,22 +373,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:be:aa:be:f4:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:be:aa:be:f4", "endpoint_id": 1, "available": true, @@ -470,22 +409,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:be:aa:be:f4:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:be:aa:be:f4", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-bfwvfyx1-ts0505b.json b/tests/data/devices/tz3210-bfwvfyx1-ts0505b.json index 2dbd6547f..5c5325f02 100644 --- a/tests/data/devices/tz3210-bfwvfyx1-ts0505b.json +++ b/tests/data/devices/tz3210-bfwvfyx1-ts0505b.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:98:c5:5e:60", "nwk": "0x0427", "manufacturer": "_TZ3210_bfwvfyx1", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,19 +197,37 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 270 + "value": 270, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -209,11 +246,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -221,11 +260,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -248,6 +289,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -318,22 +360,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:98:c5:5e:60:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:98:c5:5e:60", "endpoint_id": 1, "available": true, @@ -366,50 +392,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:98:c5:5e:60:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:98:c5:5e:60:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:98:c5:5e:60:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:98:c5:5e:60", "endpoint_id": 1, "available": true, @@ -468,22 +450,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:98:c5:5e:60:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:98:c5:5e:60", "endpoint_id": 1, "available": true, @@ -515,22 +481,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:98:c5:5e:60:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:98:c5:5e:60", "endpoint_id": 1, "available": true, @@ -564,22 +514,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:98:c5:5e:60:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:98:c5:5e:60", "endpoint_id": 1, "available": true, @@ -615,22 +549,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:98:c5:5e:60:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:98:c5:5e:60", "endpoint_id": 1, "available": true, @@ -659,22 +577,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:98:c5:5e:60:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:98:c5:5e:60", "endpoint_id": 1, "available": true, @@ -705,22 +607,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:98:c5:5e:60:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:98:c5:5e:60", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-comkuwws-ts0502b.json b/tests/data/devices/tz3210-comkuwws-ts0502b.json index 184dfc995..15a2c76ab 100644 --- a/tests/data/devices/tz3210-comkuwws-ts0502b.json +++ b/tests/data/devices/tz3210-comkuwws-ts0502b.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:03:2c:f4:f0", "nwk": "0x7BD6", "manufacturer": "_TZ3210_comkuwws", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 64 + "value": 64, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,19 +197,37 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500 + "value": 500, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -209,11 +246,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -221,11 +260,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -248,6 +289,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -318,22 +360,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:03:2c:f4:f0:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:2c:f4:f0", "endpoint_id": 1, "available": true, @@ -366,50 +392,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:03:2c:f4:f0:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:03:2c:f4:f0:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:03:2c:f4:f0:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:03:2c:f4:f0", "endpoint_id": 1, "available": true, @@ -464,22 +446,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:03:2c:f4:f0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:2c:f4:f0", "endpoint_id": 1, "available": true, @@ -508,22 +474,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:03:2c:f4:f0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:2c:f4:f0", "endpoint_id": 1, "available": true, @@ -554,22 +504,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:03:2c:f4:f0:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:03:2c:f4:f0", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-dwytrmda-ts130f.json b/tests/data/devices/tz3210-dwytrmda-ts130f.json index 5ca71c04f..93d6a0003 100644 --- a/tests/data/devices/tz3210-dwytrmda-ts130f.json +++ b/tests/data/devices/tz3210-dwytrmda-ts130f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:98:ad:85:85", "nwk": "0x67E9", "manufacturer": "_TZ3210_dwytrmda", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -92,16 +93,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -137,7 +141,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", @@ -149,7 +159,13 @@ "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0016", @@ -224,11 +240,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -275,6 +293,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -340,22 +359,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:98:ad:85:85:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:98:ad:85:85", "endpoint_id": 1, "available": true, @@ -390,22 +393,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:98:ad:85:85:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:98:ad:85:85", "endpoint_id": 1, "available": true, @@ -434,22 +421,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:98:ad:85:85:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:98:ad:85:85", "endpoint_id": 1, "available": true, @@ -480,22 +451,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:98:ad:85:85:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:98:ad:85:85", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-ehcanwyc-ts0502b.json b/tests/data/devices/tz3210-ehcanwyc-ts0502b.json index 7d1698a6d..4193f660f 100644 --- a/tests/data/devices/tz3210-ehcanwyc-ts0502b.json +++ b/tests/data/devices/tz3210-ehcanwyc-ts0502b.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d1:e8:f3:62", "nwk": "0xBF7B", "manufacturer": "_TZ3210_ehcanwyc", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,27 +87,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -119,12 +130,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -167,6 +185,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -202,19 +221,37 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 153 + "value": 153, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -233,11 +270,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -245,11 +284,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -272,6 +313,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -342,22 +384,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:d1:e8:f3:62:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:e8:f3:62", "endpoint_id": 1, "available": true, @@ -390,50 +416,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:d1:e8:f3:62:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:d1:e8:f3:62:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:d1:e8:f3:62:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:d1:e8:f3:62", "endpoint_id": 1, "available": true, @@ -488,22 +470,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d1:e8:f3:62:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:e8:f3:62", "endpoint_id": 1, "available": true, @@ -532,22 +498,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d1:e8:f3:62:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:e8:f3:62", "endpoint_id": 1, "available": true, @@ -578,22 +528,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d1:e8:f3:62:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:e8:f3:62", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-ekjc2rzh-ts0225.json b/tests/data/devices/tz3210-ekjc2rzh-ts0225.json index d66545e58..e7a701dad 100644 --- a/tests/data/devices/tz3210-ekjc2rzh-ts0225.json +++ b/tests/data/devices/tz3210-ekjc2rzh-ts0225.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b6:44:52:d2", "nwk": "0x7CC4", "manufacturer": "_TZ3210_ekjc2rzh", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -101,11 +103,13 @@ { "cluster_id": "0xe002", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -113,11 +117,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -182,22 +188,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:b6:44:52:d2:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b6:44:52:d2", "endpoint_id": 1, "available": true, @@ -227,22 +217,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b6:44:52:d2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b6:44:52:d2", "endpoint_id": 1, "available": true, @@ -271,22 +245,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b6:44:52:d2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b6:44:52:d2", "endpoint_id": 1, "available": true, @@ -317,22 +275,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:b6:44:52:d2:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b6:44:52:d2", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-hxtfthp5-ts0505b.json b/tests/data/devices/tz3210-hxtfthp5-ts0505b.json index aa5d8c469..e195f86e0 100644 --- a/tests/data/devices/tz3210-hxtfthp5-ts0505b.json +++ b/tests/data/devices/tz3210-hxtfthp5-ts0505b.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:99:d6:8f:73", "nwk": "0xC918", "manufacturer": "_TZ3210_hxtfthp5", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,7 +197,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 153 + "value": 153, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -196,13 +221,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -227,11 +264,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -239,11 +278,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -259,6 +300,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -329,22 +371,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:99:d6:8f:73:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:99:d6:8f:73", "endpoint_id": 1, "available": true, @@ -377,50 +403,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:99:d6:8f:73:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:99:d6:8f:73:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:99:d6:8f:73:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:99:d6:8f:73", "endpoint_id": 1, "available": true, @@ -479,22 +461,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:99:d6:8f:73:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:99:d6:8f:73", "endpoint_id": 1, "available": true, @@ -528,22 +494,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:99:d6:8f:73:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:99:d6:8f:73", "endpoint_id": 1, "available": true, @@ -572,22 +522,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:99:d6:8f:73:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:99:d6:8f:73", "endpoint_id": 1, "available": true, @@ -618,22 +552,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:99:d6:8f:73:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:99:d6:8f:73", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-j4pdtz9v-ts0001.json b/tests/data/devices/tz3210-j4pdtz9v-ts0001.json index 7f656cd2b..86ca2d6c8 100644 --- a/tests/data/devices/tz3210-j4pdtz9v-ts0001.json +++ b/tests/data/devices/tz3210-j4pdtz9v-ts0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:c8:12:1d:0b", "nwk": "0xB576", "manufacturer": "_TZ3210_j4pdtz9v", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,7 +87,20 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0033", "name": "battery_quantity", @@ -109,19 +123,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -134,6 +161,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "SUCCESS", "attributes": [ { "id": "0xef65", @@ -148,11 +176,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -217,22 +247,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:c8:12:1d:0b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c8:12:1d:0b", "endpoint_id": 1, "available": true, @@ -264,22 +278,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:c8:12:1d:0b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c8:12:1d:0b", "endpoint_id": 1, "available": true, @@ -311,22 +309,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:c8:12:1d:0b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c8:12:1d:0b", "endpoint_id": 1, "available": true, @@ -360,22 +342,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:c8:12:1d:0b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c8:12:1d:0b", "endpoint_id": 1, "available": true, @@ -408,22 +374,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:c8:12:1d:0b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c8:12:1d:0b", "endpoint_id": 1, "available": true, @@ -457,22 +407,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c8:12:1d:0b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c8:12:1d:0b", "endpoint_id": 1, "available": true, @@ -501,22 +435,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c8:12:1d:0b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c8:12:1d:0b", "endpoint_id": 1, "available": true, @@ -545,22 +463,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:c8:12:1d:0b:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:c8:12:1d:0b", "endpoint_id": 1, "available": true, @@ -598,22 +500,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:c8:12:1d:0b:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:c8:12:1d:0b", "endpoint_id": 1, "available": true, @@ -640,22 +526,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:c8:12:1d:0b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c8:12:1d:0b", "endpoint_id": 1, "available": true, @@ -690,22 +560,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:c8:12:1d:0b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c8:12:1d:0b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-jaap6jeb-ts0505b.json b/tests/data/devices/tz3210-jaap6jeb-ts0505b.json index 037550220..2952db2e1 100644 --- a/tests/data/devices/tz3210-jaap6jeb-ts0505b.json +++ b/tests/data/devices/tz3210-jaap6jeb-ts0505b.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "a4:c1:38:42:5d:80:e8:43", "nwk": "0xC1A4", "manufacturer": "_TZ3210_jaap6jeb", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -98,27 +99,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -131,12 +142,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -179,6 +197,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -214,7 +233,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 229 + "value": 229, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -232,13 +257,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -263,11 +300,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -275,11 +314,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -302,6 +343,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -372,22 +414,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "a4:c1:38:42:5d:80:e8:43:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:42:5d:80:e8:43", "endpoint_id": 1, "available": true, @@ -420,50 +446,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "a4:c1:38:42:5d:80:e8:43:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "a4:c1:38:42:5d:80:e8:43:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "a4:c1:38:42:5d:80:e8:43:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "a4:c1:38:42:5d:80:e8:43", "endpoint_id": 1, "available": true, @@ -522,22 +504,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "a4:c1:38:42:5d:80:e8:43:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:42:5d:80:e8:43", "endpoint_id": 1, "available": true, @@ -566,22 +532,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "a4:c1:38:42:5d:80:e8:43:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:42:5d:80:e8:43", "endpoint_id": 1, "available": true, @@ -612,22 +562,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "a4:c1:38:42:5d:80:e8:43:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:42:5d:80:e8:43", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-k1msuvg6-ts110e.json b/tests/data/devices/tz3210-k1msuvg6-ts110e.json index be85074d3..06e775a6e 100644 --- a/tests/data/devices/tz3210-k1msuvg6-ts110e.json +++ b/tests/data/devices/tz3210-k1msuvg6-ts110e.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:31:4b:13:3c", "nwk": "0x4475", "manufacturer": "_TZ3210_k1msuvg6", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -92,21 +93,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -118,7 +123,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -143,6 +154,7 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -160,7 +172,13 @@ "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -215,6 +233,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -222,11 +241,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -279,6 +300,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -347,22 +369,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:31:4b:13:3c:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:31:4b:13:3c", "endpoint_id": 1, "available": true, @@ -395,36 +401,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:31:4b:13:3c:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:31:4b:13:3c:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:31:4b:13:3c", "endpoint_id": 1, "available": true, @@ -478,22 +454,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:31:4b:13:3c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:31:4b:13:3c", "endpoint_id": 1, "available": true, @@ -522,22 +482,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:31:4b:13:3c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:31:4b:13:3c", "endpoint_id": 1, "available": true, @@ -568,22 +512,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:31:4b:13:3c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:31:4b:13:3c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-kjafhwd2-ts0210.json b/tests/data/devices/tz3210-kjafhwd2-ts0210.json index a3fbdb8c9..5d6c4af02 100644 --- a/tests/data/devices/tz3210-kjafhwd2-ts0210.json +++ b/tests/data/devices/tz3210-kjafhwd2-ts0210.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:3b:15:29:1f", "nwk": "0xBA4D", "manufacturer": "_TZ3210_kjafhwd2", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 32 + "value": 32, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,23 +93,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -141,6 +158,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -148,16 +166,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -176,11 +197,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -193,6 +216,7 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -256,22 +280,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:3b:15:29:1f:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3b:15:29:1f", "endpoint_id": 1, "available": true, @@ -299,22 +307,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:3b:15:29:1f:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3b:15:29:1f", "endpoint_id": 1, "available": true, @@ -344,22 +336,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3b:15:29:1f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3b:15:29:1f", "endpoint_id": 1, "available": true, @@ -388,22 +364,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3b:15:29:1f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3b:15:29:1f", "endpoint_id": 1, "available": true, @@ -432,22 +392,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:3b:15:29:1f:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:3b:15:29:1f", "endpoint_id": 1, "available": true, @@ -484,22 +428,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:3b:15:29:1f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3b:15:29:1f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-klv2wul0-ts0505b.json b/tests/data/devices/tz3210-klv2wul0-ts0505b.json index cd20ea023..4ec0c8748 100644 --- a/tests/data/devices/tz3210-klv2wul0-ts0505b.json +++ b/tests/data/devices/tz3210-klv2wul0-ts0505b.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:22:27:e7:71", "nwk": "0xC809", "manufacturer": "_TZ3210_klv2wul0", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,19 +197,37 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500 + "value": 500, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -209,11 +246,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -221,11 +260,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -248,6 +289,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -318,22 +360,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:22:27:e7:71:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:27:e7:71", "endpoint_id": 1, "available": true, @@ -366,50 +392,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:22:27:e7:71:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:22:27:e7:71:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:22:27:e7:71:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:22:27:e7:71", "endpoint_id": 1, "available": true, @@ -468,22 +450,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:22:27:e7:71:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:27:e7:71", "endpoint_id": 1, "available": true, @@ -512,22 +478,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:22:27:e7:71:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:27:e7:71", "endpoint_id": 1, "available": true, @@ -558,22 +508,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:22:27:e7:71:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:27:e7:71", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-ncw88jfq-ts0201.json b/tests/data/devices/tz3210-ncw88jfq-ts0201.json index 6864a14ee..306e94e5a 100644 --- a/tests/data/devices/tz3210-ncw88jfq-ts0201.json +++ b/tests/data/devices/tz3210-ncw88jfq-ts0201.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:94:03:d8:01", "nwk": "0xCAF3", "manufacturer": "_TZ3210_ncw88jfq", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,37 +93,58 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2140 + "value": 2140, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 3710 + "value": 3710, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -123,11 +152,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -193,22 +224,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:94:03:d8:01:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:94:03:d8:01", "endpoint_id": 1, "available": true, @@ -237,22 +252,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:94:03:d8:01:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:94:03:d8:01", "endpoint_id": 1, "available": true, @@ -281,22 +280,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:94:03:d8:01:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:94:03:d8:01", "endpoint_id": 1, "available": true, @@ -331,22 +314,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:94:03:d8:01:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:94:03:d8:01", "endpoint_id": 1, "available": true, @@ -375,22 +342,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:94:03:d8:01:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:94:03:d8:01", "endpoint_id": 1, "available": true, @@ -421,22 +372,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:94:03:d8:01:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:94:03:d8:01", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-qkj7rujp-ts0201.json b/tests/data/devices/tz3210-qkj7rujp-ts0201.json index d427c8b41..cfed9127a 100644 --- a/tests/data/devices/tz3210-qkj7rujp-ts0201.json +++ b/tests/data/devices/tz3210-qkj7rujp-ts0201.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:cc:9b:48:fa", "nwk": "0x3A33", "manufacturer": "_TZ3210_qkj7rujp", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,42 +93,64 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xe002", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -128,16 +158,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -205,22 +238,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cc:9b:48:fa:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cc:9b:48:fa", "endpoint_id": 1, "available": true, @@ -249,22 +266,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cc:9b:48:fa:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cc:9b:48:fa", "endpoint_id": 1, "available": true, @@ -293,22 +294,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:cc:9b:48:fa:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:cc:9b:48:fa", "endpoint_id": 1, "available": true, @@ -343,22 +328,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:cc:9b:48:fa:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:cc:9b:48:fa", "endpoint_id": 1, "available": true, @@ -387,22 +356,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:cc:9b:48:fa:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:cc:9b:48:fa", "endpoint_id": 1, "available": true, @@ -433,22 +386,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:cc:9b:48:fa:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cc:9b:48:fa", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-r5afgmkl-ts0505b.json b/tests/data/devices/tz3210-r5afgmkl-ts0505b.json index 3c1c879b5..63b593e09 100644 --- a/tests/data/devices/tz3210-r5afgmkl-ts0505b.json +++ b/tests/data/devices/tz3210-r5afgmkl-ts0505b.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ef:1c:e4:bc", "nwk": "0x62A8", "manufacturer": "_TZ3210_r5afgmkl", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,19 +197,37 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 153 + "value": 153, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 35848 + "value": 35848, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26214 + "value": 26214, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -209,16 +246,19 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -226,11 +266,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -301,22 +343,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:ef:1c:e4:bc:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ef:1c:e4:bc", "endpoint_id": 1, "available": true, @@ -349,50 +375,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ef:1c:e4:bc:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:ef:1c:e4:bc:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:ef:1c:e4:bc:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:ef:1c:e4:bc", "endpoint_id": 1, "available": true, @@ -451,22 +433,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:ef:1c:e4:bc:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:ef:1c:e4:bc", "endpoint_id": 1, "available": true, @@ -498,22 +464,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:ef:1c:e4:bc:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:ef:1c:e4:bc", "endpoint_id": 1, "available": true, @@ -545,22 +495,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:ef:1c:e4:bc:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:ef:1c:e4:bc", "endpoint_id": 1, "available": true, @@ -592,22 +526,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:ef:1c:e4:bc:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:ef:1c:e4:bc", "endpoint_id": 1, "available": true, @@ -639,22 +557,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:ef:1c:e4:bc:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:ef:1c:e4:bc", "endpoint_id": 1, "available": true, @@ -688,22 +590,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ef:1c:e4:bc:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ef:1c:e4:bc", "endpoint_id": 1, "available": true, @@ -739,22 +625,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ef:1c:e4:bc:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ef:1c:e4:bc", "endpoint_id": 1, "available": true, @@ -783,22 +653,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ef:1c:e4:bc:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ef:1c:e4:bc", "endpoint_id": 1, "available": true, @@ -829,22 +683,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ef:1c:e4:bc:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ef:1c:e4:bc", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-ru41azca-ts0049.json b/tests/data/devices/tz3210-ru41azca-ts0049.json index 52639b3dc..4e800d280 100644 --- a/tests/data/devices/tz3210-ru41azca-ts0049.json +++ b/tests/data/devices/tz3210-ru41azca-ts0049.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ff:97:55:6f", "nwk": "0x2377", "manufacturer": "_TZ3210_ru41azca", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,12 +87,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 100 + "value": 100, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -109,19 +117,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": true + "value": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -134,6 +155,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -141,11 +163,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -210,22 +234,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ff:97:55:6f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ff:97:55:6f", "endpoint_id": 1, "available": true, @@ -254,22 +262,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ff:97:55:6f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ff:97:55:6f", "endpoint_id": 1, "available": true, @@ -298,22 +290,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:ff:97:55:6f:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:ff:97:55:6f", "endpoint_id": 1, "available": true, @@ -351,22 +327,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ff:97:55:6f:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ff:97:55:6f", "endpoint_id": 1, "available": true, @@ -395,22 +355,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ff:97:55:6f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ff:97:55:6f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-sb8x2xci-ts0001.json b/tests/data/devices/tz3210-sb8x2xci-ts0001.json index 47449e1f3..8157efd3d 100644 --- a/tests/data/devices/tz3210-sb8x2xci-ts0001.json +++ b/tests/data/devices/tz3210-sb8x2xci-ts0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d2:fd:33:7c", "nwk": "0xE2E2", "manufacturer": "_TZ3210_sb8x2xci", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -88,7 +93,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -109,11 +120,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -136,6 +149,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -202,22 +216,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:d2:fd:33:7c:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:fd:33:7c", "endpoint_id": 1, "available": true, @@ -250,22 +248,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d2:fd:33:7c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:fd:33:7c", "endpoint_id": 1, "available": true, @@ -294,22 +276,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d2:fd:33:7c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:fd:33:7c", "endpoint_id": 1, "available": true, @@ -340,22 +306,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:d2:fd:33:7c:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:d2:fd:33:7c", "endpoint_id": 1, "available": true, @@ -384,22 +334,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d2:fd:33:7c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:fd:33:7c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-sixywxvy-ts0505b.json b/tests/data/devices/tz3210-sixywxvy-ts0505b.json index f1e1dc3f8..c04d2779f 100644 --- a/tests/data/devices/tz3210-sixywxvy-ts0505b.json +++ b/tests/data/devices/tz3210-sixywxvy-ts0505b.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:4e:e8:08:9c", "nwk": "0x7703", "manufacturer": "_TZ3210_sixywxvy", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,27 +87,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -119,12 +130,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -167,6 +185,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -202,7 +221,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 153 + "value": 153, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -220,13 +245,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 22740 + "value": 22740, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 8978 + "value": 8978, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -251,11 +288,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -263,11 +302,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -283,6 +324,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -353,22 +395,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:4e:e8:08:9c:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:e8:08:9c", "endpoint_id": 1, "available": true, @@ -401,50 +427,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:4e:e8:08:9c:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:4e:e8:08:9c:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:4e:e8:08:9c:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:4e:e8:08:9c", "endpoint_id": 1, "available": true, @@ -503,22 +485,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4e:e8:08:9c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:e8:08:9c", "endpoint_id": 1, "available": true, @@ -547,22 +513,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4e:e8:08:9c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:e8:08:9c", "endpoint_id": 1, "available": true, @@ -593,22 +543,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:4e:e8:08:9c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:e8:08:9c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-tgvtvdoc-ts0207.json b/tests/data/devices/tz3210-tgvtvdoc-ts0207.json index 96b18b1b7..69df2dc60 100644 --- a/tests/data/devices/tz3210-tgvtvdoc-ts0207.json +++ b/tests/data/devices/tz3210-tgvtvdoc-ts0207.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:9b:93:04:6b", "nwk": "0x6392", "manufacturer": "_TZ3210_tgvtvdoc", @@ -44,11 +44,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -85,16 +87,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -107,6 +112,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0010", @@ -146,6 +152,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -153,11 +160,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -225,22 +234,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:9b:93:04:6b:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9b:93:04:6b", "endpoint_id": 1, "available": true, @@ -268,22 +261,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:9b:93:04:6b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9b:93:04:6b", "endpoint_id": 1, "available": true, @@ -313,22 +290,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:9b:93:04:6b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9b:93:04:6b", "endpoint_id": 1, "available": true, @@ -357,22 +318,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:9b:93:04:6b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9b:93:04:6b", "endpoint_id": 1, "available": true, @@ -401,22 +346,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:9b:93:04:6b:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:9b:93:04:6b", "endpoint_id": 1, "available": true, @@ -453,22 +382,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:9b:93:04:6b:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:9b:93:04:6b", "endpoint_id": 1, "available": true, @@ -497,22 +410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:9b:93:04:6b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9b:93:04:6b", "endpoint_id": 1, "available": true, @@ -541,22 +438,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:9b:93:04:6b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9b:93:04:6b", "endpoint_id": 1, "available": true, @@ -585,22 +466,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:9b:93:04:6b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9b:93:04:6b", "endpoint_id": 1, "available": true, @@ -631,22 +496,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:9b:93:04:6b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9b:93:04:6b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-u1dreag7-ts0502b.json b/tests/data/devices/tz3210-u1dreag7-ts0502b.json index edc107e74..0eaae1d48 100644 --- a/tests/data/devices/tz3210-u1dreag7-ts0502b.json +++ b/tests/data/devices/tz3210-u1dreag7-ts0502b.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ec:f3:8b:8a", "nwk": "0x4159", "manufacturer": "_TZ3210_u1dreag7", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,7 +197,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 284 + "value": 284, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -196,13 +221,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -227,11 +264,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -239,11 +278,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -266,6 +307,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -336,22 +378,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:ec:f3:8b:8a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ec:f3:8b:8a", "endpoint_id": 1, "available": true, @@ -384,50 +410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ec:f3:8b:8a:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:ec:f3:8b:8a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:ec:f3:8b:8a:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:ec:f3:8b:8a", "endpoint_id": 1, "available": true, @@ -482,22 +464,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ec:f3:8b:8a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ec:f3:8b:8a", "endpoint_id": 1, "available": true, @@ -526,22 +492,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ec:f3:8b:8a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ec:f3:8b:8a", "endpoint_id": 1, "available": true, @@ -572,22 +522,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ec:f3:8b:8a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ec:f3:8b:8a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-ue9kyjnj-ts0502b.json b/tests/data/devices/tz3210-ue9kyjnj-ts0502b.json index 56072a4e0..c48b239a7 100644 --- a/tests/data/devices/tz3210-ue9kyjnj-ts0502b.json +++ b/tests/data/devices/tz3210-ue9kyjnj-ts0502b.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:1e:71:5f:57", "nwk": "0x8A21", "manufacturer": "_TZ3210_ue9kyjnj", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,19 +197,37 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 153 + "value": 153, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -209,11 +246,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -221,11 +260,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -248,6 +289,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -318,22 +360,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:1e:71:5f:57:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1e:71:5f:57", "endpoint_id": 1, "available": true, @@ -366,50 +392,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:1e:71:5f:57:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:1e:71:5f:57:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:1e:71:5f:57:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:1e:71:5f:57", "endpoint_id": 1, "available": true, @@ -464,22 +446,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:1e:71:5f:57:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:1e:71:5f:57", "endpoint_id": 1, "available": true, @@ -513,22 +479,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1e:71:5f:57:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1e:71:5f:57", "endpoint_id": 1, "available": true, @@ -557,22 +507,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1e:71:5f:57:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1e:71:5f:57", "endpoint_id": 1, "available": true, @@ -603,22 +537,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:1e:71:5f:57:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1e:71:5f:57", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-umi6vbsz-ts0505b.json b/tests/data/devices/tz3210-umi6vbsz-ts0505b.json index f57371ad2..84fbfb20a 100644 --- a/tests/data/devices/tz3210-umi6vbsz-ts0505b.json +++ b/tests/data/devices/tz3210-umi6vbsz-ts0505b.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:bf:34:ff:9a", "nwk": "0xA08A", "manufacturer": "_TZ3210_umi6vbsz", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 1 + "value": 1, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,7 +197,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 469 + "value": 469, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -196,13 +221,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -227,11 +264,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -239,11 +278,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -266,6 +307,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -336,22 +378,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:bf:34:ff:9a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:34:ff:9a", "endpoint_id": 1, "available": true, @@ -384,50 +410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:bf:34:ff:9a:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:bf:34:ff:9a:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:bf:34:ff:9a:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:bf:34:ff:9a", "endpoint_id": 1, "available": true, @@ -486,22 +468,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:bf:34:ff:9a:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:bf:34:ff:9a", "endpoint_id": 1, "available": true, @@ -535,22 +501,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:bf:34:ff:9a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:34:ff:9a", "endpoint_id": 1, "available": true, @@ -579,22 +529,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:bf:34:ff:9a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:34:ff:9a", "endpoint_id": 1, "available": true, @@ -625,22 +559,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:bf:34:ff:9a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:34:ff:9a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-up3pngle-ts0205.json b/tests/data/devices/tz3210-up3pngle-ts0205.json index 12a9d90ed..d49aad7c4 100644 --- a/tests/data/devices/tz3210-up3pngle-ts0205.json +++ b/tests/data/devices/tz3210-up3pngle-ts0205.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:6a:a7:51:ae", "nwk": "0x6A7E", "manufacturer": "_TZ3210_up3pngle", @@ -44,39 +44,56 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -116,6 +133,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "SUCCESS", "attributes": [] } ], @@ -123,16 +141,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -151,16 +172,19 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -224,22 +248,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:6a:a7:51:ae:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6a:a7:51:ae", "endpoint_id": 1, "available": true, @@ -267,22 +275,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:6a:a7:51:ae:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6a:a7:51:ae", "endpoint_id": 1, "available": true, @@ -312,22 +304,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6a:a7:51:ae:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6a:a7:51:ae", "endpoint_id": 1, "available": true, @@ -356,22 +332,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6a:a7:51:ae:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6a:a7:51:ae", "endpoint_id": 1, "available": true, @@ -400,22 +360,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:6a:a7:51:ae:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:6a:a7:51:ae", "endpoint_id": 1, "available": true, @@ -452,22 +396,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:6a:a7:51:ae:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6a:a7:51:ae", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-wuhzzfqg-ts0202.json b/tests/data/devices/tz3210-wuhzzfqg-ts0202.json index c2c8f80a1..98c236bfe 100644 --- a/tests/data/devices/tz3210-wuhzzfqg-ts0202.json +++ b/tests/data/devices/tz3210-wuhzzfqg-ts0202.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:6c:70:e7:59", "nwk": "0x3BE1", "manufacturer": "_TZ3210_wuhzzfqg", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,13 +93,20 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -131,6 +146,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -138,11 +154,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -164,12 +182,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -187,31 +212,51 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2217 + "value": 2217, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5508 + "value": 5508, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -228,12 +273,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -251,19 +303,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 9849 + "value": 9849, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -342,22 +407,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:6c:70:e7:59:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6c:70:e7:59", "endpoint_id": 1, "available": true, @@ -387,22 +436,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6c:70:e7:59:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6c:70:e7:59", "endpoint_id": 1, "available": true, @@ -431,22 +464,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6c:70:e7:59:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6c:70:e7:59", "endpoint_id": 1, "available": true, @@ -475,22 +492,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:6c:70:e7:59:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:6c:70:e7:59", "endpoint_id": 1, "available": true, @@ -525,22 +526,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 2, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "2:0x0001", - "unique_id": "ab:cd:ef:12:6c:70:e7:59:2:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:6c:70:e7:59", "endpoint_id": 2, "available": true, @@ -575,22 +560,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 2, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "2:0x0402", - "unique_id": "ab:cd:ef:12:6c:70:e7:59:2:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:6c:70:e7:59", "endpoint_id": 2, "available": true, @@ -619,22 +588,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 2, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "2:0x0405", - "unique_id": "ab:cd:ef:12:6c:70:e7:59:2:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:6c:70:e7:59", "endpoint_id": 2, "available": true, @@ -663,22 +616,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 3, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "3:0x0001", - "unique_id": "ab:cd:ef:12:6c:70:e7:59:3:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:6c:70:e7:59", "endpoint_id": 3, "available": true, @@ -713,22 +650,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 3, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "3:0x0400", - "unique_id": "ab:cd:ef:12:6c:70:e7:59:3:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:6c:70:e7:59", "endpoint_id": 3, "available": true, @@ -759,22 +680,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:6c:70:e7:59:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6c:70:e7:59", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3218-7fiyo3kv-ts000f.json b/tests/data/devices/tz3218-7fiyo3kv-ts000f.json index 7ea622558..3b4cbe5d4 100644 --- a/tests/data/devices/tz3218-7fiyo3kv-ts000f.json +++ b/tests/data/devices/tz3218-7fiyo3kv-ts000f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:6d:c3:60:d3", "nwk": "0x6671", "manufacturer": "_TZ3218_7fiyo3kv", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,16 +106,19 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -112,11 +126,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -139,6 +155,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -208,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:6d:c3:60:d3:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6d:c3:60:d3", "endpoint_id": 1, "available": true, @@ -256,22 +257,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:6d:c3:60:d3:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:6d:c3:60:d3", "endpoint_id": 1, "available": true, @@ -324,22 +309,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6d:c3:60:d3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6d:c3:60:d3", "endpoint_id": 1, "available": true, @@ -368,22 +337,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6d:c3:60:d3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6d:c3:60:d3", "endpoint_id": 1, "available": true, @@ -414,22 +367,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:6d:c3:60:d3:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6d:c3:60:d3", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3218-awarhusb-ts0225.json b/tests/data/devices/tz3218-awarhusb-ts0225.json index 86ca492ad..5c120bbfb 100644 --- a/tests/data/devices/tz3218-awarhusb-ts0225.json +++ b/tests/data/devices/tz3218-awarhusb-ts0225.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b1:73:0b:43", "nwk": "0xBD5B", "manufacturer": "_TZ3218_awarhusb", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -116,16 +121,19 @@ { "cluster_id": "0x4000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe002", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -133,11 +141,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -199,22 +209,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:b1:73:0b:43:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:73:0b:43", "endpoint_id": 1, "available": true, @@ -244,22 +238,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:b1:73:0b:43:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:73:0b:43", "endpoint_id": 1, "available": true, @@ -292,22 +270,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b1:73:0b:43:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:73:0b:43", "endpoint_id": 1, "available": true, @@ -336,22 +298,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b1:73:0b:43:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:73:0b:43", "endpoint_id": 1, "available": true, @@ -382,22 +328,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:b1:73:0b:43:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:73:0b:43", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3218-t9ynfz4x-ts0225.json b/tests/data/devices/tz3218-t9ynfz4x-ts0225.json index 52fb649e6..3e374cde6 100644 --- a/tests/data/devices/tz3218-t9ynfz4x-ts0225.json +++ b/tests/data/devices/tz3218-t9ynfz4x-ts0225.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e5:ee:a6:8a", "nwk": "0x40CF", "manufacturer": "_TZ3218_t9ynfz4x", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -116,16 +121,19 @@ { "cluster_id": "0x4000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe002", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -133,11 +141,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -206,22 +216,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:e5:ee:a6:8a:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e5:ee:a6:8a", "endpoint_id": 1, "available": true, @@ -251,22 +245,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:e5:ee:a6:8a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e5:ee:a6:8a", "endpoint_id": 1, "available": true, @@ -299,22 +277,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e5:ee:a6:8a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e5:ee:a6:8a", "endpoint_id": 1, "available": true, @@ -343,22 +305,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e5:ee:a6:8a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e5:ee:a6:8a", "endpoint_id": 1, "available": true, @@ -389,22 +335,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e5:ee:a6:8a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e5:ee:a6:8a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3218-ya5d6wth-ts000f.json b/tests/data/devices/tz3218-ya5d6wth-ts000f.json index 40c2aabe7..eabf5ff89 100644 --- a/tests/data/devices/tz3218-ya5d6wth-ts000f.json +++ b/tests/data/devices/tz3218-ya5d6wth-ts000f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e0:ea:fe:6c", "nwk": "0x7D97", "manufacturer": "_TZ3218_ya5d6wth", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,16 +106,19 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -112,11 +126,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -138,27 +154,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -171,6 +197,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -186,27 +213,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -219,6 +256,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -234,27 +272,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -267,6 +315,7 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -283,6 +332,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -388,22 +438,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:e0:ea:fe:6c:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:ea:fe:6c", "endpoint_id": 1, "available": true, @@ -436,22 +470,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:e0:ea:fe:6c:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e0:ea:fe:6c", "endpoint_id": 1, "available": true, @@ -502,22 +520,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:e0:ea:fe:6c:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e0:ea:fe:6c", "endpoint_id": 2, "available": true, @@ -568,22 +570,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:e0:ea:fe:6c:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e0:ea:fe:6c", "endpoint_id": 3, "available": true, @@ -634,22 +620,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "4:0x0006", - "unique_id": "ab:cd:ef:12:e0:ea:fe:6c:4:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e0:ea:fe:6c", "endpoint_id": 4, "available": true, @@ -702,22 +672,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e0:ea:fe:6c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:ea:fe:6c", "endpoint_id": 1, "available": true, @@ -746,22 +700,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e0:ea:fe:6c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:ea:fe:6c", "endpoint_id": 1, "available": true, @@ -792,22 +730,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e0:ea:fe:6c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:ea:fe:6c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3290-7v1k4vufotpowp9z-ts1201.json b/tests/data/devices/tz3290-7v1k4vufotpowp9z-ts1201.json index 65f94fd2c..826be06fe 100644 --- a/tests/data/devices/tz3290-7v1k4vufotpowp9z-ts1201.json +++ b/tests/data/devices/tz3290-7v1k4vufotpowp9z-ts1201.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:3e:18:f5:53", "nwk": "0x509B", "manufacturer": "_TZ3290_7v1k4vufotpowp9z", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,11 +106,13 @@ { "cluster_id": "0xe004", "endpoint_attribute": "zosung_ircontrol", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": "zosung_irtransmit", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -107,11 +120,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -134,6 +149,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -202,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:3e:18:f5:53:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3e:18:f5:53", "endpoint_id": 1, "available": true, @@ -250,22 +250,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3e:18:f5:53:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3e:18:f5:53", "endpoint_id": 1, "available": true, @@ -294,22 +278,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3e:18:f5:53:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3e:18:f5:53", "endpoint_id": 1, "available": true, @@ -340,22 +308,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:3e:18:f5:53:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:3e:18:f5:53", "endpoint_id": 1, "available": true, @@ -384,22 +336,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:3e:18:f5:53:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3e:18:f5:53", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3290-ot6ewjvmejq5ekhl-ts1201.json b/tests/data/devices/tz3290-ot6ewjvmejq5ekhl-ts1201.json index 6c2bd5cd4..d2f56ef88 100644 --- a/tests/data/devices/tz3290-ot6ewjvmejq5ekhl-ts1201.json +++ b/tests/data/devices/tz3290-ot6ewjvmejq5ekhl-ts1201.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:15:61:a8:f8", "nwk": "0x8AD7", "manufacturer": "_TZ3290_ot6ewjvmejq5ekhl", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 122 + "value": 122, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,34 +99,50 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 13 + "value": 13, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -131,11 +155,13 @@ { "cluster_id": "0xe004", "endpoint_attribute": "zosung_ircontrol", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": "zosung_irtransmit", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -143,11 +169,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -216,22 +244,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:15:61:a8:f8:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:15:61:a8:f8", "endpoint_id": 1, "available": true, @@ -264,22 +276,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:15:61:a8:f8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:15:61:a8:f8", "endpoint_id": 1, "available": true, @@ -308,22 +304,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:15:61:a8:f8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:15:61:a8:f8", "endpoint_id": 1, "available": true, @@ -352,22 +332,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:15:61:a8:f8:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:15:61:a8:f8", "endpoint_id": 1, "available": true, @@ -404,22 +368,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:15:61:a8:f8:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:15:61:a8:f8", "endpoint_id": 1, "available": true, @@ -448,22 +396,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:15:61:a8:f8:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:15:61:a8:f8", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz6210-duv6fhwt-ts0601.json b/tests/data/devices/tz6210-duv6fhwt-ts0601.json index e22c4430f..3a7466231 100644 --- a/tests/data/devices/tz6210-duv6fhwt-ts0601.json +++ b/tests/data/devices/tz6210-duv6fhwt-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:38:81:c4:0f", "nwk": "0x1E35", "manufacturer": "_TZ6210_duv6fhwt", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,11 +63,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -79,16 +82,19 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -96,11 +102,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -113,6 +121,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -173,22 +182,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:38:81:c4:0f:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:38:81:c4:0f", "endpoint_id": 1, "available": true, @@ -216,22 +209,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:38:81:c4:0f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:38:81:c4:0f", "endpoint_id": 1, "available": true, @@ -261,22 +238,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:38:81:c4:0f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:38:81:c4:0f", "endpoint_id": 1, "available": true, @@ -309,22 +270,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:38:81:c4:0f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:38:81:c4:0f", "endpoint_id": 1, "available": true, @@ -356,22 +301,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:38:81:c4:0f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:38:81:c4:0f", "endpoint_id": 1, "available": true, @@ -405,22 +334,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:38:81:c4:0f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:38:81:c4:0f", "endpoint_id": 1, "available": true, @@ -449,22 +362,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:38:81:c4:0f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:38:81:c4:0f", "endpoint_id": 1, "available": true, @@ -493,22 +390,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:38:81:c4:0f:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:38:81:c4:0f", "endpoint_id": 1, "available": true, @@ -539,22 +420,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:38:81:c4:0f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:38:81:c4:0f", "endpoint_id": 1, "available": true, @@ -589,22 +454,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:38:81:c4:0f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:38:81:c4:0f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tzb210-417ikxay-ts0505b.json b/tests/data/devices/tzb210-417ikxay-ts0505b.json index 08f893d13..80d7b25b1 100644 --- a/tests/data/devices/tzb210-417ikxay-ts0505b.json +++ b/tests/data/devices/tzb210-417ikxay-ts0505b.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:81:e7:c4:28", "nwk": "0x9A2E", "manufacturer": "_TZB210_417ikxay", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254 + "value": 254, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,7 +197,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 153 + "value": 153, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -196,13 +221,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4000", @@ -227,11 +264,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -239,11 +278,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -266,6 +307,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -336,22 +378,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:81:e7:c4:28:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:e7:c4:28", "endpoint_id": 1, "available": true, @@ -384,50 +410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:81:e7:c4:28:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:81:e7:c4:28:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:81:e7:c4:28:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:81:e7:c4:28", "endpoint_id": 1, "available": true, @@ -486,22 +468,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:81:e7:c4:28:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:81:e7:c4:28", "endpoint_id": 1, "available": true, @@ -535,22 +501,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:81:e7:c4:28:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:e7:c4:28", "endpoint_id": 1, "available": true, @@ -579,22 +529,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:81:e7:c4:28:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:e7:c4:28", "endpoint_id": 1, "available": true, @@ -625,22 +559,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:81:e7:c4:28:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:81:e7:c4:28", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-1n2zev06-ts0601.json b/tests/data/devices/tze200-1n2zev06-ts0601.json index 0c2c8e6e0..57c83c6d5 100644 --- a/tests/data/devices/tze200-1n2zev06-ts0601.json +++ b/tests/data/devices/tze200-1n2zev06-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:bf:76:9d:e2", "nwk": "0x6370", "manufacturer": "_TZE200_1n2zev06", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -74,6 +75,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -98,16 +100,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -126,6 +131,7 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0400", @@ -150,6 +156,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -157,11 +164,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -222,22 +231,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:bf:76:9d:e2:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:76:9d:e2", "endpoint_id": 1, "available": true, @@ -273,22 +266,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:bf:76:9d:e2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:76:9d:e2", "endpoint_id": 1, "available": true, @@ -317,22 +294,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:bf:76:9d:e2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:76:9d:e2", "endpoint_id": 1, "available": true, @@ -361,22 +322,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "TuyaValveWaterConsumedNoInstDemand", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:bf:76:9d:e2:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:bf:76:9d:e2", "endpoint_id": 1, "available": true, @@ -412,22 +357,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:bf:76:9d:e2:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:76:9d:e2", "endpoint_id": 1, "available": true, @@ -456,22 +385,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:bf:76:9d:e2:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:76:9d:e2", "endpoint_id": 1, "available": true, @@ -500,22 +413,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:bf:76:9d:e2:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:76:9d:e2", "endpoint_id": 1, "available": true, @@ -546,22 +443,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:bf:76:9d:e2:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:bf:76:9d:e2", "endpoint_id": 1, "available": true, @@ -590,22 +471,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:bf:76:9d:e2:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:76:9d:e2", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-2aaelwxk-ts0225.json b/tests/data/devices/tze200-2aaelwxk-ts0225.json index 273a15e61..5f91d8bae 100644 --- a/tests/data/devices/tze200-2aaelwxk-ts0225.json +++ b/tests/data/devices/tze200-2aaelwxk-ts0225.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:94:85:f7:5f", "nwk": "0x4375", "manufacturer": "_TZE200_2aaelwxk", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,11 +63,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -85,6 +88,7 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -103,6 +107,7 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -115,11 +120,13 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -135,6 +142,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -181,6 +189,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -221,6 +230,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -267,6 +277,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -307,6 +318,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -353,6 +365,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -393,6 +406,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -439,6 +453,7 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -479,6 +494,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -608,22 +624,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 1, "available": true, @@ -653,22 +653,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 1, "available": true, @@ -701,22 +685,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 1, "available": true, @@ -748,22 +716,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 1, "available": true, @@ -795,22 +747,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 1, "available": true, @@ -842,22 +778,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 1, "available": true, @@ -889,22 +809,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 1, "available": true, @@ -936,22 +840,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 1, "available": true, @@ -983,22 +871,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 1, "available": true, @@ -1030,22 +902,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 2, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "2:0x000d", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:2:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 2, "available": true, @@ -1077,22 +933,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 3, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "3:0x000d", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:3:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 3, "available": true, @@ -1124,22 +964,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 4, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "4:0x000d", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:4:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 4, "available": true, @@ -1171,22 +995,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 5, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "5:0x000d", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:5:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 5, "available": true, @@ -1218,22 +1026,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 6, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "6:0x000d", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:6:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 6, "available": true, @@ -1265,22 +1057,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 7, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "7:0x000d", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:7:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 7, "available": true, @@ -1312,22 +1088,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 8, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "8:0x000d", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:8:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 8, "available": true, @@ -1361,22 +1121,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 1, "available": true, @@ -1414,22 +1158,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 1, "available": true, @@ -1458,22 +1186,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 1, "available": true, @@ -1502,22 +1214,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 1, "available": true, @@ -1548,22 +1244,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:94:85:f7:5f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:94:85:f7:5f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-2ekuz3dz-ts0601.json b/tests/data/devices/tze200-2ekuz3dz-ts0601.json index 51d9b4ea9..42d79ffac 100644 --- a/tests/data/devices/tze200-2ekuz3dz-ts0601.json +++ b/tests/data/devices/tze200-2ekuz3dz-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b0:68:9a:0a", "nwk": "0x954E", "manufacturer": "_TZE200_2ekuz3dz", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -79,11 +83,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -99,6 +105,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -164,22 +171,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b0:68:9a:0a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b0:68:9a:0a", "endpoint_id": 1, "available": true, @@ -208,22 +199,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b0:68:9a:0a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b0:68:9a:0a", "endpoint_id": 1, "available": true, @@ -254,22 +229,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:b0:68:9a:0a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b0:68:9a:0a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-2gtsuokt-ts0601.json b/tests/data/devices/tze200-2gtsuokt-ts0601.json index 3b96f11a9..3b5b1bc40 100644 --- a/tests/data/devices/tze200-2gtsuokt-ts0601.json +++ b/tests/data/devices/tze200-2gtsuokt-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:7c:f3:f3:1d", "nwk": "0x5269", "manufacturer": "_TZE200_2gtsuokt", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -104,6 +105,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -122,6 +124,7 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -164,6 +167,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -171,11 +175,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -240,22 +246,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7c:f3:f3:1d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7c:f3:f3:1d", "endpoint_id": 1, "available": true, @@ -284,22 +274,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7c:f3:f3:1d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7c:f3:f3:1d", "endpoint_id": 1, "available": true, @@ -330,22 +304,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:7c:f3:f3:1d:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7c:f3:f3:1d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-2se8efxh-ts0601.json b/tests/data/devices/tze200-2se8efxh-ts0601.json index 521e6da7d..675d4cdf8 100644 --- a/tests/data/devices/tze200-2se8efxh-ts0601.json +++ b/tests/data/devices/tze200-2se8efxh-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b1:bb:ba:02", "nwk": "0x3C40", "manufacturer": "_TZE200_2se8efxh", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -92,26 +94,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0408", "endpoint_attribute": "soil_moisture", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -119,11 +126,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -191,22 +200,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b1:bb:ba:02:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:bb:ba:02", "endpoint_id": 1, "available": true, @@ -235,22 +228,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b1:bb:ba:02:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:bb:ba:02", "endpoint_id": 1, "available": true, @@ -279,22 +256,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:b1:bb:ba:02:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:b1:bb:ba:02", "endpoint_id": 1, "available": true, @@ -330,22 +291,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:b1:bb:ba:02:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:b1:bb:ba:02", "endpoint_id": 1, "available": true, @@ -374,22 +319,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SoilMoistureClusterHandler", - "generic_id": "cluster_handler_0x0408", - "endpoint_id": 1, - "cluster": { - "id": 1032, - "name": "Soil Moisture Measurement", - "type": "server" - }, - "id": "1:0x0408", - "unique_id": "ab:cd:ef:12:b1:bb:ba:02:1:0x0408", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:b1:bb:ba:02", "endpoint_id": 1, "available": true, @@ -420,22 +349,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:b1:bb:ba:02:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:bb:ba:02", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-3t91nb6k-ts0601.json b/tests/data/devices/tze200-3t91nb6k-ts0601.json index 7ad134b11..219542e9c 100644 --- a/tests/data/devices/tze200-3t91nb6k-ts0601.json +++ b/tests/data/devices/tze200-3t91nb6k-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ee:04:18:fc", "nwk": "0xC46E", "manufacturer": "_TZE200_3t91nb6k", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ee:04:18:fc:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ee:04:18:fc", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ee:04:18:fc:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ee:04:18:fc", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ee:04:18:fc:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ee:04:18:fc", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-3towulqd-ts0601.json b/tests/data/devices/tze200-3towulqd-ts0601.json index e0248831d..56e8a4c94 100644 --- a/tests/data/devices/tze200-3towulqd-ts0601.json +++ b/tests/data/devices/tze200-3towulqd-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:02:44:6a:44", "nwk": "0x4571", "manufacturer": "_TZE200_3towulqd", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -98,6 +100,7 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -116,6 +119,7 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -128,11 +132,13 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef0a", @@ -153,11 +159,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -224,22 +232,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:02:44:6a:44:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:02:44:6a:44", "endpoint_id": 1, "available": true, @@ -267,22 +259,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:02:44:6a:44:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:02:44:6a:44", "endpoint_id": 1, "available": true, @@ -312,22 +288,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:02:44:6a:44:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:02:44:6a:44", "endpoint_id": 1, "available": true, @@ -361,22 +321,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:02:44:6a:44:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:02:44:6a:44", "endpoint_id": 1, "available": true, @@ -410,22 +354,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:02:44:6a:44:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:02:44:6a:44", "endpoint_id": 1, "available": true, @@ -460,22 +388,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:02:44:6a:44:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:02:44:6a:44", "endpoint_id": 1, "available": true, @@ -504,22 +416,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:02:44:6a:44:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:02:44:6a:44", "endpoint_id": 1, "available": true, @@ -548,22 +444,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:02:44:6a:44:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:02:44:6a:44", "endpoint_id": 1, "available": true, @@ -599,22 +479,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:02:44:6a:44:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:02:44:6a:44", "endpoint_id": 1, "available": true, @@ -645,22 +509,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:02:44:6a:44:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:02:44:6a:44", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-3ylew7b4-ts0601.json b/tests/data/devices/tze200-3ylew7b4-ts0601.json index 4ce18560c..8772dca9b 100644 --- a/tests/data/devices/tze200-3ylew7b4-ts0601.json +++ b/tests/data/devices/tze200-3ylew7b4-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d2:40:50:25", "nwk": "0x46C0", "manufacturer": "_TZE200_3ylew7b4", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -154,22 +160,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d2:40:50:25:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:40:50:25", "endpoint_id": 1, "available": true, @@ -198,22 +188,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d2:40:50:25:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:40:50:25", "endpoint_id": 1, "available": true, @@ -244,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d2:40:50:25:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:40:50:25", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-4utwozi2-ts0601.json b/tests/data/devices/tze200-4utwozi2-ts0601.json index 22a18af02..99cb6b356 100644 --- a/tests/data/devices/tze200-4utwozi2-ts0601.json +++ b/tests/data/devices/tze200-4utwozi2-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ed:f9:81:44", "nwk": "0xF615", "manufacturer": "_TZE200_4utwozi2", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -132,6 +136,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -139,11 +144,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -209,22 +216,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:ed:f9:81:44:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ed:f9:81:44", "endpoint_id": 1, "available": true, @@ -254,22 +245,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:ed:f9:81:44:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:ed:f9:81:44", "endpoint_id": 1, "available": true, @@ -333,22 +308,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:ed:f9:81:44:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ed:f9:81:44", "endpoint_id": 1, "available": true, @@ -382,22 +341,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ed:f9:81:44:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ed:f9:81:44", "endpoint_id": 1, "available": true, @@ -426,22 +369,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ed:f9:81:44:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ed:f9:81:44", "endpoint_id": 1, "available": true, @@ -470,22 +397,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:ed:f9:81:44:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:ed:f9:81:44", "endpoint_id": 1, "available": true, @@ -516,22 +427,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:ed:f9:81:44:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ed:f9:81:44", "endpoint_id": 1, "available": true, @@ -564,22 +459,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:ed:f9:81:44:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ed:f9:81:44", "endpoint_id": 1, "available": true, @@ -612,22 +491,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:ed:f9:81:44:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ed:f9:81:44", "endpoint_id": 1, "available": true, @@ -662,22 +525,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ed:f9:81:44:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ed:f9:81:44", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-4wxtg5y9-ts0601.json b/tests/data/devices/tze200-4wxtg5y9-ts0601.json index 1e5f679df..1d4430e3f 100644 --- a/tests/data/devices/tze200-4wxtg5y9-ts0601.json +++ b/tests/data/devices/tze200-4wxtg5y9-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:8b:f7:e2:fc", "nwk": "0x25E6", "manufacturer": "_TZE200_4wxtg5y9", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -104,16 +105,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -121,11 +125,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -141,6 +147,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -206,22 +213,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8b:f7:e2:fc:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8b:f7:e2:fc", "endpoint_id": 1, "available": true, @@ -250,22 +241,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8b:f7:e2:fc:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8b:f7:e2:fc", "endpoint_id": 1, "available": true, @@ -296,22 +271,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:8b:f7:e2:fc:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8b:f7:e2:fc", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-68nvbio9-ts0601.json b/tests/data/devices/tze200-68nvbio9-ts0601.json index 4dce27436..c71063a83 100644 --- a/tests/data/devices/tze200-68nvbio9-ts0601.json +++ b/tests/data/devices/tze200-68nvbio9-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:2e:21:db:80", "nwk": "0xAE0B", "manufacturer": "_TZE200_68nvbio9", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -158,16 +159,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -179,13 +183,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100 + "value": 100, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -228,6 +244,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -235,11 +252,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -305,22 +324,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:2e:21:db:80:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:2e:21:db:80", "endpoint_id": 1, "available": true, @@ -355,22 +358,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2e:21:db:80:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2e:21:db:80", "endpoint_id": 1, "available": true, @@ -399,22 +386,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2e:21:db:80:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2e:21:db:80", "endpoint_id": 1, "available": true, @@ -445,22 +416,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:2e:21:db:80:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2e:21:db:80", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-6rdj8dzm-ts0601.json b/tests/data/devices/tze200-6rdj8dzm-ts0601.json index 0d2c8ed45..865dd1dee 100644 --- a/tests/data/devices/tze200-6rdj8dzm-ts0601.json +++ b/tests/data/devices/tze200-6rdj8dzm-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:00:a8:b8:ca", "nwk": "0xE5AF", "manufacturer": "_TZE200_6rdj8dzm", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -132,6 +136,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -139,11 +144,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -202,22 +209,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:00:a8:b8:ca:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:00:a8:b8:ca", "endpoint_id": 1, "available": true, @@ -247,22 +238,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:00:a8:b8:ca:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:00:a8:b8:ca", "endpoint_id": 1, "available": true, @@ -326,22 +301,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:00:a8:b8:ca:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:00:a8:b8:ca", "endpoint_id": 1, "available": true, @@ -375,22 +334,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:00:a8:b8:ca:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:00:a8:b8:ca", "endpoint_id": 1, "available": true, @@ -419,22 +362,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:00:a8:b8:ca:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:00:a8:b8:ca", "endpoint_id": 1, "available": true, @@ -463,22 +390,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:00:a8:b8:ca:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:00:a8:b8:ca", "endpoint_id": 1, "available": true, @@ -509,22 +420,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:00:a8:b8:ca:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:00:a8:b8:ca", "endpoint_id": 1, "available": true, @@ -557,22 +452,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:00:a8:b8:ca:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:00:a8:b8:ca", "endpoint_id": 1, "available": true, @@ -605,22 +484,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:00:a8:b8:ca:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:00:a8:b8:ca", "endpoint_id": 1, "available": true, @@ -655,22 +518,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:00:a8:b8:ca:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:00:a8:b8:ca", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-7bztmfm1-ts0601.json b/tests/data/devices/tze200-7bztmfm1-ts0601.json index 546a27e3c..5c59897b6 100644 --- a/tests/data/devices/tze200-7bztmfm1-ts0601.json +++ b/tests/data/devices/tze200-7bztmfm1-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:c2:d5:da:b7", "nwk": "0x1FFA", "manufacturer": "_TZE200_7bztmfm1", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,46 +69,55 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x040d", "endpoint_attribute": "carbon_dioxide_concentration", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042a", "endpoint_attribute": "pm25", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042b", "endpoint_attribute": "formaldehyde_concentration", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042e", "endpoint_attribute": "voc_level", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -115,11 +125,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -142,6 +154,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -213,22 +226,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c2:d5:da:b7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c2:d5:da:b7", "endpoint_id": 1, "available": true, @@ -257,22 +254,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c2:d5:da:b7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c2:d5:da:b7", "endpoint_id": 1, "available": true, @@ -301,22 +282,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:c2:d5:da:b7:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:c2:d5:da:b7", "endpoint_id": 1, "available": true, @@ -345,22 +310,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:c2:d5:da:b7:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:c2:d5:da:b7", "endpoint_id": 1, "available": true, @@ -389,22 +338,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "CarbonDioxideConcentrationClusterHandler", - "generic_id": "cluster_handler_0x040d", - "endpoint_id": 1, - "cluster": { - "id": 1037, - "name": "Carbon Dioxide (CO\u2082) Concentration", - "type": "server" - }, - "id": "1:0x040d", - "unique_id": "ab:cd:ef:12:c2:d5:da:b7:1:0x040d", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:c2:d5:da:b7", "endpoint_id": 1, "available": true, @@ -433,22 +366,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PM25ClusterHandler", - "generic_id": "cluster_handler_0x042a", - "endpoint_id": 1, - "cluster": { - "id": 1066, - "name": "PM2.5", - "type": "server" - }, - "id": "1:0x042a", - "unique_id": "ab:cd:ef:12:c2:d5:da:b7:1:0x042a", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:c2:d5:da:b7", "endpoint_id": 1, "available": true, @@ -477,22 +394,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "FormaldehydeConcentrationClusterHandler", - "generic_id": "cluster_handler_0x042b", - "endpoint_id": 1, - "cluster": { - "id": 1067, - "name": "Formaldehyde Concentration", - "type": "server" - }, - "id": "1:0x042b", - "unique_id": "ab:cd:ef:12:c2:d5:da:b7:1:0x042b", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:c2:d5:da:b7", "endpoint_id": 1, "available": true, @@ -521,22 +422,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0x042e", - "endpoint_id": 1, - "cluster": { - "id": 1070, - "name": "VOC Level", - "type": "server" - }, - "id": "1:0x042e", - "unique_id": "ab:cd:ef:12:c2:d5:da:b7:1:0x042e", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c2:d5:da:b7", "endpoint_id": 1, "available": true, @@ -567,22 +452,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:c2:d5:da:b7:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c2:d5:da:b7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-7ytb3h8u-ts0601.json b/tests/data/devices/tze200-7ytb3h8u-ts0601.json index 8b0995fa4..5fb3ccf80 100644 --- a/tests/data/devices/tze200-7ytb3h8u-ts0601.json +++ b/tests/data/devices/tze200-7ytb3h8u-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a1:d9:6c:74", "nwk": "0xBAE5", "manufacturer": "_TZE200_7ytb3h8u", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -98,16 +100,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -120,6 +125,7 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -150,6 +156,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef67", @@ -206,11 +213,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -278,22 +287,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a1:d9:6c:74:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a1:d9:6c:74", "endpoint_id": 1, "available": true, @@ -325,22 +318,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a1:d9:6c:74:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a1:d9:6c:74", "endpoint_id": 1, "available": true, @@ -372,22 +349,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a1:d9:6c:74:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a1:d9:6c:74", "endpoint_id": 1, "available": true, @@ -421,22 +382,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a1:d9:6c:74:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a1:d9:6c:74", "endpoint_id": 1, "available": true, @@ -468,22 +413,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a1:d9:6c:74:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a1:d9:6c:74", "endpoint_id": 1, "available": true, @@ -519,22 +448,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a1:d9:6c:74:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a1:d9:6c:74", "endpoint_id": 1, "available": true, @@ -563,22 +476,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a1:d9:6c:74:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a1:d9:6c:74", "endpoint_id": 1, "available": true, @@ -607,22 +504,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:a1:d9:6c:74:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:a1:d9:6c:74", "endpoint_id": 1, "available": true, @@ -658,22 +539,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "TuyaValveWaterConsumedNoInstDemand", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:a1:d9:6c:74:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:a1:d9:6c:74", "endpoint_id": 1, "available": true, @@ -709,22 +574,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a1:d9:6c:74:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a1:d9:6c:74", "endpoint_id": 1, "available": true, @@ -753,22 +602,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a1:d9:6c:74:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a1:d9:6c:74", "endpoint_id": 1, "available": true, @@ -797,22 +630,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a1:d9:6c:74:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a1:d9:6c:74", "endpoint_id": 1, "available": true, @@ -843,22 +660,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:a1:d9:6c:74:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:a1:d9:6c:74", "endpoint_id": 1, "available": true, @@ -887,22 +688,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a1:d9:6c:74:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a1:d9:6c:74", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-81isopgh-ts0601.json b/tests/data/devices/tze200-81isopgh-ts0601.json index 3ba0259f1..9f188ad12 100644 --- a/tests/data/devices/tze200-81isopgh-ts0601.json +++ b/tests/data/devices/tze200-81isopgh-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:df:e1:f9:56", "nwk": "0xBE36", "manufacturer": "_TZE200_81isopgh", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -116,6 +117,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0052", @@ -152,16 +154,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -186,6 +191,7 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0020", @@ -222,6 +228,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -236,11 +243,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -308,22 +317,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:df:e1:f9:56:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:df:e1:f9:56", "endpoint_id": 1, "available": true, @@ -359,22 +352,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:df:e1:f9:56:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:df:e1:f9:56", "endpoint_id": 1, "available": true, @@ -403,22 +380,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:df:e1:f9:56:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:df:e1:f9:56", "endpoint_id": 1, "available": true, @@ -447,22 +408,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:df:e1:f9:56:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:df:e1:f9:56", "endpoint_id": 1, "available": true, @@ -498,22 +443,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "TuyaValveWaterConsumedNoInstDemand", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:df:e1:f9:56:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:df:e1:f9:56", "endpoint_id": 1, "available": true, @@ -549,22 +478,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:df:e1:f9:56:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:df:e1:f9:56", "endpoint_id": 1, "available": true, @@ -593,22 +506,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:df:e1:f9:56:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:df:e1:f9:56", "endpoint_id": 1, "available": true, @@ -637,22 +534,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:df:e1:f9:56:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:df:e1:f9:56", "endpoint_id": 1, "available": true, @@ -683,22 +564,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:df:e1:f9:56:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:df:e1:f9:56", "endpoint_id": 1, "available": true, @@ -727,22 +592,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:df:e1:f9:56:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:df:e1:f9:56", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-86nbew0j-ts0601.json b/tests/data/devices/tze200-86nbew0j-ts0601.json index 73d282c8a..a1f3bd21e 100644 --- a/tests/data/devices/tze200-86nbew0j-ts0601.json +++ b/tests/data/devices/tze200-86nbew0j-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:0d:c5:16:fc", "nwk": "0x0B79", "manufacturer": "_TZE200_86nbew0j", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -147,22 +153,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0d:c5:16:fc:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0d:c5:16:fc", "endpoint_id": 1, "available": true, @@ -191,22 +181,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0d:c5:16:fc:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0d:c5:16:fc", "endpoint_id": 1, "available": true, @@ -237,22 +211,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:0d:c5:16:fc:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0d:c5:16:fc", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-8whfphjv-ts0601.json b/tests/data/devices/tze200-8whfphjv-ts0601.json index ccfb5e3a2..fec297793 100644 --- a/tests/data/devices/tze200-8whfphjv-ts0601.json +++ b/tests/data/devices/tze200-8whfphjv-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f9:05:90:9e", "nwk": "0xD7FA", "manufacturer": "_TZE200_8whfphjv", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -154,22 +160,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f9:05:90:9e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f9:05:90:9e", "endpoint_id": 1, "available": true, @@ -198,22 +188,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f9:05:90:9e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f9:05:90:9e", "endpoint_id": 1, "available": true, @@ -244,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f9:05:90:9e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f9:05:90:9e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-9caxna4s-ts0301.json b/tests/data/devices/tze200-9caxna4s-ts0301.json index b07332bd9..b0e92383f 100644 --- a/tests/data/devices/tze200-9caxna4s-ts0301.json +++ b/tests/data/devices/tze200-9caxna4s-ts0301.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "e8:e0:7e:ff:fe:4a:9c:f1", "nwk": "0x3B28", "manufacturer": "_TZE200_9caxna4s", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 70 + "value": 70, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,28 +93,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -118,13 +136,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -167,6 +197,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -174,11 +205,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -246,22 +279,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "e8:e0:7e:ff:fe:4a:9c:f1:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "e8:e0:7e:ff:fe:4a:9c:f1", "endpoint_id": 1, "available": true, @@ -294,22 +311,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "e8:e0:7e:ff:fe:4a:9c:f1:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "e8:e0:7e:ff:fe:4a:9c:f1", "endpoint_id": 1, "available": true, @@ -344,22 +345,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "e8:e0:7e:ff:fe:4a:9c:f1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "e8:e0:7e:ff:fe:4a:9c:f1", "endpoint_id": 1, "available": true, @@ -388,22 +373,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "e8:e0:7e:ff:fe:4a:9c:f1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "e8:e0:7e:ff:fe:4a:9c:f1", "endpoint_id": 1, "available": true, @@ -432,22 +401,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "e8:e0:7e:ff:fe:4a:9c:f1:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "e8:e0:7e:ff:fe:4a:9c:f1", "endpoint_id": 1, "available": true, @@ -482,22 +435,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "e8:e0:7e:ff:fe:4a:9c:f1:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "e8:e0:7e:ff:fe:4a:9c:f1", "endpoint_id": 1, "available": true, @@ -528,22 +465,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "e8:e0:7e:ff:fe:4a:9c:f1:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "e8:e0:7e:ff:fe:4a:9c:f1", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-9xfjixap-ts0601.json b/tests/data/devices/tze200-9xfjixap-ts0601.json index d3f961990..2252817b6 100644 --- a/tests/data/devices/tze200-9xfjixap-ts0601.json +++ b/tests/data/devices/tze200-9xfjixap-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ec:e3:cc:ac", "nwk": "0x4D03", "manufacturer": "_TZE200_9xfjixap", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -132,6 +136,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -139,11 +144,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -209,22 +216,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:ec:e3:cc:ac:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ec:e3:cc:ac", "endpoint_id": 1, "available": true, @@ -254,22 +245,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:ec:e3:cc:ac:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:ec:e3:cc:ac", "endpoint_id": 1, "available": true, @@ -333,22 +308,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:ec:e3:cc:ac:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ec:e3:cc:ac", "endpoint_id": 1, "available": true, @@ -382,22 +341,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ec:e3:cc:ac:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ec:e3:cc:ac", "endpoint_id": 1, "available": true, @@ -426,22 +369,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ec:e3:cc:ac:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ec:e3:cc:ac", "endpoint_id": 1, "available": true, @@ -470,22 +397,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:ec:e3:cc:ac:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:ec:e3:cc:ac", "endpoint_id": 1, "available": true, @@ -516,22 +427,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:ec:e3:cc:ac:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ec:e3:cc:ac", "endpoint_id": 1, "available": true, @@ -564,22 +459,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:ec:e3:cc:ac:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ec:e3:cc:ac", "endpoint_id": 1, "available": true, @@ -612,22 +491,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:ec:e3:cc:ac:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ec:e3:cc:ac", "endpoint_id": 1, "available": true, @@ -662,22 +525,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ec:e3:cc:ac:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ec:e3:cc:ac", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-a0syesf5-ts0601.json b/tests/data/devices/tze200-a0syesf5-ts0601.json index 6bb73a8a7..bea579d97 100644 --- a/tests/data/devices/tze200-a0syesf5-ts0601.json +++ b/tests/data/devices/tze200-a0syesf5-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:68:ad:a9:bd", "nwk": "0xAA9B", "manufacturer": "_TZE200_a0syesf5", @@ -44,27 +44,37 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -77,18 +87,26 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 2 + "value": 2, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -96,11 +114,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -167,36 +187,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:68:ad:a9:bd:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:68:ad:a9:bd:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:68:ad:a9:bd", "endpoint_id": 1, "available": true, @@ -250,22 +240,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:68:ad:a9:bd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:68:ad:a9:bd", "endpoint_id": 1, "available": true, @@ -294,22 +268,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:68:ad:a9:bd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:68:ad:a9:bd", "endpoint_id": 1, "available": true, @@ -340,22 +298,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:68:ad:a9:bd:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:68:ad:a9:bd", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-a1dia7ml-ts0601.json b/tests/data/devices/tze200-a1dia7ml-ts0601.json index 23323b792..6b6924e42 100644 --- a/tests/data/devices/tze200-a1dia7ml-ts0601.json +++ b/tests/data/devices/tze200-a1dia7ml-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b7:bf:3b:5a", "nwk": "0xE9D3", "manufacturer": "_TZE200_a1dia7ml", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -147,22 +153,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b7:bf:3b:5a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b7:bf:3b:5a", "endpoint_id": 1, "available": true, @@ -191,22 +181,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b7:bf:3b:5a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b7:bf:3b:5a", "endpoint_id": 1, "available": true, @@ -237,22 +211,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:b7:bf:3b:5a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b7:bf:3b:5a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-a7sghmms-ts0601.json b/tests/data/devices/tze200-a7sghmms-ts0601.json index 9d2cd95cc..7a383e5d2 100644 --- a/tests/data/devices/tze200-a7sghmms-ts0601.json +++ b/tests/data/devices/tze200-a7sghmms-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b5:0f:0b:2f", "nwk": "0x5C8B", "manufacturer": "_TZE200_a7sghmms", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -98,16 +100,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -120,6 +125,7 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -150,6 +156,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef67", @@ -212,11 +219,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -284,22 +293,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:b5:0f:0b:2f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b5:0f:0b:2f", "endpoint_id": 1, "available": true, @@ -331,22 +324,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:b5:0f:0b:2f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b5:0f:0b:2f", "endpoint_id": 1, "available": true, @@ -378,22 +355,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:b5:0f:0b:2f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b5:0f:0b:2f", "endpoint_id": 1, "available": true, @@ -427,22 +388,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:b5:0f:0b:2f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b5:0f:0b:2f", "endpoint_id": 1, "available": true, @@ -474,22 +419,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:b5:0f:0b:2f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b5:0f:0b:2f", "endpoint_id": 1, "available": true, @@ -525,22 +454,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b5:0f:0b:2f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b5:0f:0b:2f", "endpoint_id": 1, "available": true, @@ -569,22 +482,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b5:0f:0b:2f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b5:0f:0b:2f", "endpoint_id": 1, "available": true, @@ -613,22 +510,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:b5:0f:0b:2f:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:b5:0f:0b:2f", "endpoint_id": 1, "available": true, @@ -664,22 +545,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "TuyaValveWaterConsumedNoInstDemand", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:b5:0f:0b:2f:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:b5:0f:0b:2f", "endpoint_id": 1, "available": true, @@ -715,22 +580,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:b5:0f:0b:2f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b5:0f:0b:2f", "endpoint_id": 1, "available": true, @@ -759,22 +608,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:b5:0f:0b:2f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b5:0f:0b:2f", "endpoint_id": 1, "available": true, @@ -803,22 +636,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:b5:0f:0b:2f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b5:0f:0b:2f", "endpoint_id": 1, "available": true, @@ -849,22 +666,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:b5:0f:0b:2f:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:b5:0f:0b:2f", "endpoint_id": 1, "available": true, @@ -893,22 +694,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:b5:0f:0b:2f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b5:0f:0b:2f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-abatw3kj-ts0601.json b/tests/data/devices/tze200-abatw3kj-ts0601.json index fa22a96c7..2d711deb0 100644 --- a/tests/data/devices/tze200-abatw3kj-ts0601.json +++ b/tests/data/devices/tze200-abatw3kj-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d4:15:fd:b1", "nwk": "0xA1E3", "manufacturer": "_TZE200_abatw3kj", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d4:15:fd:b1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d4:15:fd:b1", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d4:15:fd:b1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d4:15:fd:b1", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d4:15:fd:b1:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d4:15:fd:b1", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-agumlajc-ts0601.json b/tests/data/devices/tze200-agumlajc-ts0601.json index 175bd3cf9..a5f14fc10 100644 --- a/tests/data/devices/tze200-agumlajc-ts0601.json +++ b/tests/data/devices/tze200-agumlajc-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:fb:2b:64:9f", "nwk": "0x11AB", "manufacturer": "_TZE200_agumlajc", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -116,11 +117,13 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffe", @@ -133,6 +136,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -140,11 +144,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -202,22 +208,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fb:2b:64:9f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fb:2b:64:9f", "endpoint_id": 1, "available": true, @@ -246,22 +236,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fb:2b:64:9f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fb:2b:64:9f", "endpoint_id": 1, "available": true, @@ -292,22 +266,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:fb:2b:64:9f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fb:2b:64:9f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-akjefhj5-ts0601.json b/tests/data/devices/tze200-akjefhj5-ts0601.json index 5f91cc524..2e53aedb2 100644 --- a/tests/data/devices/tze200-akjefhj5-ts0601.json +++ b/tests/data/devices/tze200-akjefhj5-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:90:46:3c:81", "nwk": "0x6FFA", "manufacturer": "_TZE200_akjefhj5", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -147,22 +153,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:90:46:3c:81:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:90:46:3c:81", "endpoint_id": 1, "available": true, @@ -191,22 +181,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:90:46:3c:81:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:90:46:3c:81", "endpoint_id": 1, "available": true, @@ -237,22 +211,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:90:46:3c:81:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:90:46:3c:81", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-aoclfnxz-ts0601.json b/tests/data/devices/tze200-aoclfnxz-ts0601.json index ea76a87e3..fa4de09aa 100644 --- a/tests/data/devices/tze200-aoclfnxz-ts0601.json +++ b/tests/data/devices/tze200-aoclfnxz-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:33:78:02:42", "nwk": "0xE6E0", "manufacturer": "_TZE200_aoclfnxz", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -113,7 +117,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2150 + "value": 2150, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0018", @@ -143,31 +153,61 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1800 + "value": 1800, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0025", @@ -179,37 +219,68 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -222,6 +293,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -229,11 +301,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -293,22 +367,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:33:78:02:42:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:33:78:02:42", "endpoint_id": 1, "available": true, @@ -372,22 +430,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:33:78:02:42:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:33:78:02:42", "endpoint_id": 1, "available": true, @@ -424,22 +466,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:33:78:02:42:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:33:78:02:42", "endpoint_id": 1, "available": true, @@ -468,22 +494,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:33:78:02:42:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:33:78:02:42", "endpoint_id": 1, "available": true, @@ -512,22 +522,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:33:78:02:42:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:33:78:02:42", "endpoint_id": 1, "available": true, @@ -556,22 +550,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:33:78:02:42:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:33:78:02:42", "endpoint_id": 1, "available": true, @@ -600,22 +578,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:33:78:02:42:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:33:78:02:42", "endpoint_id": 1, "available": true, @@ -646,22 +608,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:33:78:02:42:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:33:78:02:42", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-b6wax7g0-ts0601.json b/tests/data/devices/tze200-b6wax7g0-ts0601.json index 4cd9993d5..d9a131924 100644 --- a/tests/data/devices/tze200-b6wax7g0-ts0601.json +++ b/tests/data/devices/tze200-b6wax7g0-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:6b:27:4c:e0", "nwk": "0x6725", "manufacturer": "_TZE200_b6wax7g0", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,7 +63,20 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0033", "name": "battery_quantity", @@ -80,27 +94,56 @@ "name": "battery_size", "zcl_type": "enum8", "value": 3 + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x001b", @@ -118,7 +161,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 1600 + "value": 1600, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0016", @@ -126,29 +175,125 @@ "zcl_type": "int16", "value": 3000 }, + { + "id": "0x0002", + "name": "occupancy", + "zcl_type": "map8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0011", + "name": "occupied_cooling_setpoint", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1400 + "value": 1400, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, + { + "id": "0x0007", + "name": "pi_cooling_demand", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } + }, + { + "id": "0x0008", + "name": "pi_heating_demand", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 1 + "value": 1, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0013", + "name": "unoccupied_cooling_setpoint", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, + { + "id": "0x0014", + "name": "unoccupied_heating_setpoint", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x4004", @@ -161,11 +306,13 @@ { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "SUCCESS", "attributes": [ { "id": "0x026c", @@ -204,11 +351,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -273,22 +422,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "MoesThermostatNew", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:6b:27:4c:e0:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:6b:27:4c:e0", "endpoint_id": 1, "available": true, @@ -358,22 +491,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "MoesThermostatNew", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:6b:27:4c:e0:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:6b:27:4c:e0", "endpoint_id": 1, "available": true, @@ -407,22 +524,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6b:27:4c:e0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6b:27:4c:e0", "endpoint_id": 1, "available": true, @@ -451,22 +552,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6b:27:4c:e0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6b:27:4c:e0", "endpoint_id": 1, "available": true, @@ -495,22 +580,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:6b:27:4c:e0:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:6b:27:4c:e0", "endpoint_id": 1, "available": true, @@ -546,22 +615,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "MoesThermostatNew", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:6b:27:4c:e0:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:6b:27:4c:e0", "endpoint_id": 1, "available": true, @@ -590,22 +643,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "MoesThermostatNew", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:6b:27:4c:e0:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:6b:27:4c:e0", "endpoint_id": 1, "available": true, @@ -634,22 +671,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "MoesThermostatNew", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:6b:27:4c:e0:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:6b:27:4c:e0", "endpoint_id": 1, "available": true, @@ -678,22 +699,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "MoesThermostatNew", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:6b:27:4c:e0:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:6b:27:4c:e0", "endpoint_id": 1, "available": true, @@ -724,22 +729,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:6b:27:4c:e0:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:6b:27:4c:e0", "endpoint_id": 1, "available": true, @@ -768,22 +757,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:6b:27:4c:e0:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6b:27:4c:e0", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-bcusnqt8-ts0601.json b/tests/data/devices/tze200-bcusnqt8-ts0601.json index e07237ce7..e0ceabc99 100644 --- a/tests/data/devices/tze200-bcusnqt8-ts0601.json +++ b/tests/data/devices/tze200-bcusnqt8-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:88:c9:0a:e7", "nwk": "0xBE6A", "manufacturer": "_TZE200_bcusnqt8", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -147,22 +153,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:88:c9:0a:e7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:88:c9:0a:e7", "endpoint_id": 1, "available": true, @@ -191,22 +181,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:88:c9:0a:e7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:88:c9:0a:e7", "endpoint_id": 1, "available": true, @@ -237,22 +211,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:88:c9:0a:e7:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:88:c9:0a:e7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-bkkmqmyo-ts0601.json b/tests/data/devices/tze200-bkkmqmyo-ts0601.json index 0113f2e77..a094a3396 100644 --- a/tests/data/devices/tze200-bkkmqmyo-ts0601.json +++ b/tests/data/devices/tze200-bkkmqmyo-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ab:88:33:32", "nwk": "0x37E6", "manufacturer": "_TZE200_bkkmqmyo", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,64 +87,115 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 1396.8 + "value": 1396.8, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 1253.2 + "value": 1253.2, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -161,7 +213,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -179,7 +237,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -198,24 +262,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5000 + "value": 5000, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -239,31 +322,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 8 + "value": 8, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -287,19 +400,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -311,7 +550,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -335,7 +580,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -347,7 +598,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -371,19 +628,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -407,19 +682,37 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0305", @@ -432,6 +725,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "SUCCESS", "attributes": [ { "id": "0x0201", @@ -488,11 +782,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -514,12 +810,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -579,22 +882,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ab:88:33:32:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ab:88:33:32", "endpoint_id": 1, "available": true, @@ -623,22 +910,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ab:88:33:32:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ab:88:33:32", "endpoint_id": 1, "available": true, @@ -667,22 +938,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "TuyaElectricalMeasurement", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:ab:88:33:32:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:ab:88:33:32", "endpoint_id": 1, "available": true, @@ -717,22 +972,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "TuyaElectricalMeasurement", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:ab:88:33:32:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:ab:88:33:32", "endpoint_id": 1, "available": true, @@ -767,22 +1006,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:ab:88:33:32:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:ab:88:33:32", "endpoint_id": 1, "available": true, @@ -815,22 +1038,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:ab:88:33:32:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:ab:88:33:32", "endpoint_id": 1, "available": true, @@ -863,22 +1070,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:ab:88:33:32:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:ab:88:33:32", "endpoint_id": 1, "available": true, @@ -912,22 +1103,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 16, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "16:0x0006", - "unique_id": "ab:cd:ef:12:ab:88:33:32:16:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ab:88:33:32", "endpoint_id": 16, "available": true, @@ -956,22 +1131,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ab:88:33:32:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ab:88:33:32", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-bvrlmajk-ts0601.json b/tests/data/devices/tze200-bvrlmajk-ts0601.json index 74273100a..ed2a6258a 100644 --- a/tests/data/devices/tze200-bvrlmajk-ts0601.json +++ b/tests/data/devices/tze200-bvrlmajk-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:25:62:e5:8a", "nwk": "0xB59B", "manufacturer": "_TZE200_bvrlmajk", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -147,22 +153,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:25:62:e5:8a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:25:62:e5:8a", "endpoint_id": 1, "available": true, @@ -191,22 +181,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:25:62:e5:8a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:25:62:e5:8a", "endpoint_id": 1, "available": true, @@ -237,22 +211,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:25:62:e5:8a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:25:62:e5:8a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-byzdayie-ts0601.json b/tests/data/devices/tze200-byzdayie-ts0601.json index dbf576e1b..e1264d306 100644 --- a/tests/data/devices/tze200-byzdayie-ts0601.json +++ b/tests/data/devices/tze200-byzdayie-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d9:70:11:36", "nwk": "0x6F79", "manufacturer": "_TZE200_byzdayie", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -152,6 +153,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -164,6 +166,7 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -182,12 +185,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -200,54 +210,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 8994.84 + "value": 8994.84, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -265,7 +324,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -283,7 +348,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -302,24 +373,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -343,31 +433,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 184.8 + "value": 184.8, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -375,11 +495,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -391,7 +649,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -403,13 +667,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1499 + "value": 1499, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -417,23 +693,90 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 229.7 + "value": 229.7, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -441,11 +784,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -513,22 +858,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d9:70:11:36:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:70:11:36", "endpoint_id": 1, "available": true, @@ -557,22 +886,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d9:70:11:36:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:70:11:36", "endpoint_id": 1, "available": true, @@ -601,22 +914,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:d9:70:11:36:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:d9:70:11:36", "endpoint_id": 1, "available": true, @@ -651,22 +948,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:d9:70:11:36:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:d9:70:11:36", "endpoint_id": 1, "available": true, @@ -699,22 +980,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:d9:70:11:36:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:d9:70:11:36", "endpoint_id": 1, "available": true, @@ -747,22 +1012,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:d9:70:11:36:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:d9:70:11:36", "endpoint_id": 1, "available": true, @@ -797,22 +1046,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d9:70:11:36:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:70:11:36", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-c88teujp-ts0601.json b/tests/data/devices/tze200-c88teujp-ts0601.json index 5d6c9b523..19cdc726d 100644 --- a/tests/data/devices/tze200-c88teujp-ts0601.json +++ b/tests/data/devices/tze200-c88teujp-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f0:e2:89:82", "nwk": "0xDF16", "manufacturer": "_TZE200_c88teujp", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -156,6 +160,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef6a", @@ -206,11 +211,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -276,22 +283,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f0:e2:89:82:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:e2:89:82", "endpoint_id": 1, "available": true, @@ -321,22 +312,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2NoSchedule", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:f0:e2:89:82:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:f0:e2:89:82", "endpoint_id": 1, "available": true, @@ -400,22 +375,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f0:e2:89:82:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:e2:89:82", "endpoint_id": 1, "available": true, @@ -449,22 +408,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f0:e2:89:82:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:e2:89:82", "endpoint_id": 1, "available": true, @@ -493,22 +436,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f0:e2:89:82:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:e2:89:82", "endpoint_id": 1, "available": true, @@ -537,22 +464,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2NoSchedule", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:f0:e2:89:82:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:f0:e2:89:82", "endpoint_id": 1, "available": true, @@ -581,22 +492,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f0:e2:89:82:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:e2:89:82", "endpoint_id": 1, "available": true, @@ -627,22 +522,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f0:e2:89:82:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:e2:89:82", "endpoint_id": 1, "available": true, @@ -675,22 +554,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f0:e2:89:82:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:e2:89:82", "endpoint_id": 1, "available": true, @@ -723,22 +586,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f0:e2:89:82:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:e2:89:82", "endpoint_id": 1, "available": true, @@ -771,22 +618,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f0:e2:89:82:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:e2:89:82", "endpoint_id": 1, "available": true, @@ -819,22 +650,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f0:e2:89:82:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:e2:89:82", "endpoint_id": 1, "available": true, @@ -867,22 +682,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f0:e2:89:82:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:e2:89:82", "endpoint_id": 1, "available": true, @@ -917,22 +716,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f0:e2:89:82:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:e2:89:82", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-cirvgep4-ts0601.json b/tests/data/devices/tze200-cirvgep4-ts0601.json index 5221fa671..777b4b7cb 100644 --- a/tests/data/devices/tze200-cirvgep4-ts0601.json +++ b/tests/data/devices/tze200-cirvgep4-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:3d:fa:1c:a8", "nwk": "0xC5AC", "manufacturer": "_TZE200_cirvgep4", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -92,6 +94,7 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -104,6 +107,7 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -116,6 +120,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -130,11 +135,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -200,22 +207,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:3d:fa:1c:a8:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3d:fa:1c:a8", "endpoint_id": 1, "available": true, @@ -249,22 +240,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3d:fa:1c:a8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3d:fa:1c:a8", "endpoint_id": 1, "available": true, @@ -293,22 +268,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3d:fa:1c:a8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3d:fa:1c:a8", "endpoint_id": 1, "available": true, @@ -337,22 +296,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:3d:fa:1c:a8:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:3d:fa:1c:a8", "endpoint_id": 1, "available": true, @@ -388,22 +331,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:3d:fa:1c:a8:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:3d:fa:1c:a8", "endpoint_id": 1, "available": true, @@ -432,22 +359,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:3d:fa:1c:a8:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:3d:fa:1c:a8", "endpoint_id": 1, "available": true, @@ -478,22 +389,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:3d:fa:1c:a8:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3d:fa:1c:a8", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-cpbo62rn-ts0601.json b/tests/data/devices/tze200-cpbo62rn-ts0601.json index 530b22508..663a92d78 100644 --- a/tests/data/devices/tze200-cpbo62rn-ts0601.json +++ b/tests/data/devices/tze200-cpbo62rn-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b3:c5:e5:3a", "nwk": "0xB9A4", "manufacturer": "_TZE200_cpbo62rn", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,28 +69,50 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 44 + "value": 44, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0009", + "name": "current_position_tilt_percentage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -97,11 +120,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -160,22 +185,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:b3:c5:e5:3a:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:b3:c5:e5:3a", "endpoint_id": 1, "available": true, @@ -210,22 +219,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b3:c5:e5:3a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b3:c5:e5:3a", "endpoint_id": 1, "available": true, @@ -254,22 +247,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b3:c5:e5:3a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b3:c5:e5:3a", "endpoint_id": 1, "available": true, @@ -298,22 +275,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:b3:c5:e5:3a:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:b3:c5:e5:3a", "endpoint_id": 1, "available": true, @@ -344,22 +305,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:b3:c5:e5:3a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b3:c5:e5:3a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-cpmgn2cf-ts0601.json b/tests/data/devices/tze200-cpmgn2cf-ts0601.json index 06b2abfa6..1993500bb 100644 --- a/tests/data/devices/tze200-cpmgn2cf-ts0601.json +++ b/tests/data/devices/tze200-cpmgn2cf-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e8:32:c6:e4", "nwk": "0xECD7", "manufacturer": "_TZE200_cpmgn2cf", @@ -44,17 +44,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -72,28 +80,51 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -129,7 +160,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -165,31 +202,61 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0025", @@ -201,37 +268,68 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -244,6 +342,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -251,11 +350,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -270,12 +371,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -298,6 +406,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -333,7 +442,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0068", @@ -362,6 +477,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -397,7 +513,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0068", @@ -426,6 +548,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -461,7 +584,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0068", @@ -490,12 +619,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -518,6 +654,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -553,7 +690,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0068", @@ -582,6 +725,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -617,7 +761,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0068", @@ -646,6 +796,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -681,7 +832,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0068", @@ -710,6 +867,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -745,7 +903,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0068", @@ -774,6 +938,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -809,7 +974,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0068", @@ -965,22 +1136,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e8:32:c6:e4:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e8:32:c6:e4", "endpoint_id": 1, "available": true, @@ -1051,22 +1206,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e8:32:c6:e4:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e8:32:c6:e4", "endpoint_id": 1, "available": true, @@ -1098,22 +1237,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 10, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "10:0x000d", - "unique_id": "ab:cd:ef:12:e8:32:c6:e4:10:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:e8:32:c6:e4", "endpoint_id": 10, "available": true, @@ -1145,22 +1268,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 11, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "11:0x000d", - "unique_id": "ab:cd:ef:12:e8:32:c6:e4:11:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:e8:32:c6:e4", "endpoint_id": 11, "available": true, @@ -1192,22 +1299,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 3, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "3:0x000d", - "unique_id": "ab:cd:ef:12:e8:32:c6:e4:3:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:e8:32:c6:e4", "endpoint_id": 3, "available": true, @@ -1239,22 +1330,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 4, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "4:0x000d", - "unique_id": "ab:cd:ef:12:e8:32:c6:e4:4:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:e8:32:c6:e4", "endpoint_id": 4, "available": true, @@ -1286,22 +1361,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 5, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "5:0x000d", - "unique_id": "ab:cd:ef:12:e8:32:c6:e4:5:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:e8:32:c6:e4", "endpoint_id": 5, "available": true, @@ -1333,22 +1392,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 7, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "7:0x000d", - "unique_id": "ab:cd:ef:12:e8:32:c6:e4:7:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:e8:32:c6:e4", "endpoint_id": 7, "available": true, @@ -1380,22 +1423,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 8, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "8:0x000d", - "unique_id": "ab:cd:ef:12:e8:32:c6:e4:8:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:e8:32:c6:e4", "endpoint_id": 8, "available": true, @@ -1427,22 +1454,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 9, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "9:0x000d", - "unique_id": "ab:cd:ef:12:e8:32:c6:e4:9:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:e8:32:c6:e4", "endpoint_id": 9, "available": true, @@ -1476,22 +1487,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:e8:32:c6:e4:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e8:32:c6:e4", "endpoint_id": 1, "available": true, @@ -1528,22 +1523,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e8:32:c6:e4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e8:32:c6:e4", "endpoint_id": 1, "available": true, @@ -1572,22 +1551,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e8:32:c6:e4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e8:32:c6:e4", "endpoint_id": 1, "available": true, @@ -1616,22 +1579,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:e8:32:c6:e4:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:e8:32:c6:e4", "endpoint_id": 1, "available": true, @@ -1665,22 +1612,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e8:32:c6:e4:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e8:32:c6:e4", "endpoint_id": 1, "available": true, @@ -1709,22 +1640,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e8:32:c6:e4:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e8:32:c6:e4", "endpoint_id": 1, "available": true, @@ -1753,22 +1668,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e8:32:c6:e4:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e8:32:c6:e4", "endpoint_id": 1, "available": true, @@ -1799,22 +1698,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:e8:32:c6:e4:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e8:32:c6:e4", "endpoint_id": 1, "available": true, @@ -1843,22 +1726,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e8:32:c6:e4:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e8:32:c6:e4", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-crq3r3la-ck-bl702-mws-01-7016.json b/tests/data/devices/tze200-crq3r3la-ck-bl702-mws-01-7016.json index e1cc5c66b..6d8096599 100644 --- a/tests/data/devices/tze200-crq3r3la-ck-bl702-mws-01-7016.json +++ b/tests/data/devices/tze200-crq3r3la-ck-bl702-mws-01-7016.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:36:6f:df:00", "nwk": "0xA02D", "manufacturer": "_TZE200_crq3r3la", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -95,6 +100,7 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -107,6 +113,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0010", @@ -146,26 +153,31 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe002", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xee00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -173,6 +185,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -244,22 +257,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:36:6f:df:00:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:36:6f:df:00", "endpoint_id": 1, "available": true, @@ -287,22 +284,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:36:6f:df:00:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:36:6f:df:00", "endpoint_id": 1, "available": true, @@ -332,22 +313,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:36:6f:df:00:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:36:6f:df:00", "endpoint_id": 1, "available": true, @@ -380,22 +345,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:36:6f:df:00:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:36:6f:df:00", "endpoint_id": 1, "available": true, @@ -427,22 +376,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:36:6f:df:00:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:36:6f:df:00", "endpoint_id": 1, "available": true, @@ -474,22 +407,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:36:6f:df:00:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:36:6f:df:00", "endpoint_id": 1, "available": true, @@ -521,22 +438,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:36:6f:df:00:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:36:6f:df:00", "endpoint_id": 1, "available": true, @@ -568,22 +469,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:36:6f:df:00:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:36:6f:df:00", "endpoint_id": 1, "available": true, @@ -615,22 +500,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:36:6f:df:00:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:36:6f:df:00", "endpoint_id": 1, "available": true, @@ -662,22 +531,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:36:6f:df:00:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:36:6f:df:00", "endpoint_id": 1, "available": true, @@ -711,22 +564,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:36:6f:df:00:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:36:6f:df:00", "endpoint_id": 1, "available": true, @@ -764,22 +601,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:36:6f:df:00:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:36:6f:df:00", "endpoint_id": 1, "available": true, @@ -808,22 +629,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:36:6f:df:00:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:36:6f:df:00", "endpoint_id": 1, "available": true, @@ -852,22 +657,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:36:6f:df:00:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:36:6f:df:00", "endpoint_id": 1, "available": true, @@ -898,22 +687,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:36:6f:df:00:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:36:6f:df:00", "endpoint_id": 1, "available": true, @@ -948,22 +721,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:36:6f:df:00:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:36:6f:df:00", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-dwcarsat-ts0601.json b/tests/data/devices/tze200-dwcarsat-ts0601.json index e8399460a..81fb55ff7 100644 --- a/tests/data/devices/tze200-dwcarsat-ts0601.json +++ b/tests/data/devices/tze200-dwcarsat-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:11:fa:9c:20", "nwk": "0x2C73", "manufacturer": "_TZE200_dwcarsat", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -74,16 +75,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -102,6 +106,7 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -114,6 +119,7 @@ { "cluster_id": "0x040d", "endpoint_attribute": "carbon_dioxide_concentration", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -144,11 +150,13 @@ { "cluster_id": "0x042a", "endpoint_attribute": "pm25", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042b", "endpoint_attribute": "formaldehyde_concentration", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -185,6 +193,7 @@ { "cluster_id": "0x042e", "endpoint_attribute": "voc_level", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -215,6 +224,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -222,11 +232,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -242,6 +254,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -313,22 +326,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:11:fa:9c:20:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:11:fa:9c:20", "endpoint_id": 1, "available": true, @@ -357,22 +354,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:11:fa:9c:20:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:11:fa:9c:20", "endpoint_id": 1, "available": true, @@ -401,22 +382,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:11:fa:9c:20:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:11:fa:9c:20", "endpoint_id": 1, "available": true, @@ -445,22 +410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:11:fa:9c:20:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:11:fa:9c:20", "endpoint_id": 1, "available": true, @@ -489,22 +438,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "CarbonDioxideConcentrationClusterHandler", - "generic_id": "cluster_handler_0x040d", - "endpoint_id": 1, - "cluster": { - "id": 1037, - "name": "Carbon Dioxide (CO\u2082) Concentration", - "type": "server" - }, - "id": "1:0x040d", - "unique_id": "ab:cd:ef:12:11:fa:9c:20:1:0x040d", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:11:fa:9c:20", "endpoint_id": 1, "available": true, @@ -533,22 +466,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PM25ClusterHandler", - "generic_id": "cluster_handler_0x042a", - "endpoint_id": 1, - "cluster": { - "id": 1066, - "name": "PM2.5", - "type": "server" - }, - "id": "1:0x042a", - "unique_id": "ab:cd:ef:12:11:fa:9c:20:1:0x042a", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:11:fa:9c:20", "endpoint_id": 1, "available": true, @@ -577,22 +494,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "FormaldehydeConcentrationClusterHandler", - "generic_id": "cluster_handler_0x042b", - "endpoint_id": 1, - "cluster": { - "id": 1067, - "name": "Formaldehyde Concentration", - "type": "server" - }, - "id": "1:0x042b", - "unique_id": "ab:cd:ef:12:11:fa:9c:20:1:0x042b", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:11:fa:9c:20", "endpoint_id": 1, "available": true, @@ -621,22 +522,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0x042e", - "endpoint_id": 1, - "cluster": { - "id": 1070, - "name": "VOC Level", - "type": "server" - }, - "id": "1:0x042e", - "unique_id": "ab:cd:ef:12:11:fa:9c:20:1:0x042e", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:11:fa:9c:20", "endpoint_id": 1, "available": true, @@ -667,22 +552,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:11:fa:9c:20:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:11:fa:9c:20", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-e5hpkc6d-ts0601.json b/tests/data/devices/tze200-e5hpkc6d-ts0601.json index f1edd03a3..634e1f7c1 100644 --- a/tests/data/devices/tze200-e5hpkc6d-ts0601.json +++ b/tests/data/devices/tze200-e5hpkc6d-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:0f:8f:90:d6", "nwk": "0xDA91", "manufacturer": "_TZE200_e5hpkc6d", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -154,22 +160,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0f:8f:90:d6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0f:8f:90:d6", "endpoint_id": 1, "available": true, @@ -198,22 +188,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0f:8f:90:d6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0f:8f:90:d6", "endpoint_id": 1, "available": true, @@ -244,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:0f:8f:90:d6:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0f:8f:90:d6", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-eevqq1uv-ts0601.json b/tests/data/devices/tze200-eevqq1uv-ts0601.json index 9687d1c57..0b048eb14 100644 --- a/tests/data/devices/tze200-eevqq1uv-ts0601.json +++ b/tests/data/devices/tze200-eevqq1uv-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e7:77:2b:fd", "nwk": "0x4C47", "manufacturer": "_TZE200_eevqq1uv", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -154,22 +160,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e7:77:2b:fd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:77:2b:fd", "endpoint_id": 1, "available": true, @@ -198,22 +188,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e7:77:2b:fd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:77:2b:fd", "endpoint_id": 1, "available": true, @@ -244,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e7:77:2b:fd:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:77:2b:fd", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-ewxhg6o9-ts0601.json b/tests/data/devices/tze200-ewxhg6o9-ts0601.json index ace580e50..3671d2812 100644 --- a/tests/data/devices/tze200-ewxhg6o9-ts0601.json +++ b/tests/data/devices/tze200-ewxhg6o9-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:5e:6a:9a:13", "nwk": "0xA759", "manufacturer": "_TZE200_ewxhg6o9", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -92,22 +93,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -120,54 +130,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 433.85 + "value": 433.85, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -185,7 +244,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -203,7 +268,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -222,24 +293,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -263,31 +353,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 52.8 + "value": 52.8, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -295,11 +415,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -311,7 +569,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -323,13 +587,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 466 + "value": 466, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -337,23 +613,90 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 238.1 + "value": 238.1, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -361,11 +704,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -451,22 +796,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5e:6a:9a:13:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5e:6a:9a:13", "endpoint_id": 1, "available": true, @@ -495,22 +824,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5e:6a:9a:13:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5e:6a:9a:13", "endpoint_id": 1, "available": true, @@ -539,22 +852,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:5e:6a:9a:13:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:5e:6a:9a:13", "endpoint_id": 1, "available": true, @@ -589,22 +886,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:5e:6a:9a:13:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:5e:6a:9a:13", "endpoint_id": 1, "available": true, @@ -637,22 +918,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:5e:6a:9a:13:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:5e:6a:9a:13", "endpoint_id": 1, "available": true, @@ -685,22 +950,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:5e:6a:9a:13:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:5e:6a:9a:13", "endpoint_id": 1, "available": true, @@ -735,22 +984,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:5e:6a:9a:13:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5e:6a:9a:13", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-f1pvdgoh-ts0601.json b/tests/data/devices/tze200-f1pvdgoh-ts0601.json index 179a10b45..bcb4c6c5a 100644 --- a/tests/data/devices/tze200-f1pvdgoh-ts0601.json +++ b/tests/data/devices/tze200-f1pvdgoh-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:6f:fa:d5:b9", "nwk": "0xB27C", "manufacturer": "_TZE200_f1pvdgoh", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -147,22 +153,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6f:fa:d5:b9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6f:fa:d5:b9", "endpoint_id": 1, "available": true, @@ -191,22 +181,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6f:fa:d5:b9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6f:fa:d5:b9", "endpoint_id": 1, "available": true, @@ -237,22 +211,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:6f:fa:d5:b9:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6f:fa:d5:b9", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-fvldku9h-ts0601.json b/tests/data/devices/tze200-fvldku9h-ts0601.json index 778989b50..b6d774895 100644 --- a/tests/data/devices/tze200-fvldku9h-ts0601.json +++ b/tests/data/devices/tze200-fvldku9h-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f6:ec:90:fb", "nwk": "0x4092", "manufacturer": "_TZE200_fvldku9h", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -154,22 +160,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f6:ec:90:fb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f6:ec:90:fb", "endpoint_id": 1, "available": true, @@ -198,22 +188,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f6:ec:90:fb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f6:ec:90:fb", "endpoint_id": 1, "available": true, @@ -244,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f6:ec:90:fb:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f6:ec:90:fb", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-g9a3awaj-ts0601.json b/tests/data/devices/tze200-g9a3awaj-ts0601.json index 745b4d5f6..fec9c9cfc 100644 --- a/tests/data/devices/tze200-g9a3awaj-ts0601.json +++ b/tests/data/devices/tze200-g9a3awaj-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:5c:5d:1b:5a", "nwk": "0x8453", "manufacturer": "_TZE200_g9a3awaj", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -80,16 +81,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -125,7 +129,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -161,31 +171,61 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0025", @@ -197,13 +237,25 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -215,25 +267,44 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -246,6 +317,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -253,11 +325,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -324,22 +398,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:5d:1b:5a:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:5d:1b:5a", "endpoint_id": 1, "available": true, @@ -403,22 +461,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5c:5d:1b:5a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5c:5d:1b:5a", "endpoint_id": 1, "available": true, @@ -447,22 +489,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5c:5d:1b:5a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5c:5d:1b:5a", "endpoint_id": 1, "available": true, @@ -491,22 +517,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:5d:1b:5a:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:5d:1b:5a", "endpoint_id": 1, "available": true, @@ -535,22 +545,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:5c:5d:1b:5a:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:5c:5d:1b:5a", "endpoint_id": 1, "available": true, @@ -581,22 +575,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:5c:5d:1b:5a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5c:5d:1b:5a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-gaj531w3-ts0601.json b/tests/data/devices/tze200-gaj531w3-ts0601.json index e879f46d2..e07b3ff73 100644 --- a/tests/data/devices/tze200-gaj531w3-ts0601.json +++ b/tests/data/devices/tze200-gaj531w3-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:30:0c:e3:f9", "nwk": "0x3F77", "manufacturer": "_TZE200_gaj531w3", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -89,13 +93,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -138,6 +154,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "SUCCESS", "attributes": [] } ], @@ -145,11 +162,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -207,22 +226,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:30:0c:e3:f9:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:30:0c:e3:f9", "endpoint_id": 1, "available": true, @@ -257,22 +260,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:30:0c:e3:f9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:30:0c:e3:f9", "endpoint_id": 1, "available": true, @@ -301,22 +288,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:30:0c:e3:f9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:30:0c:e3:f9", "endpoint_id": 1, "available": true, @@ -347,22 +318,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:30:0c:e3:f9:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:30:0c:e3:f9", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-gjldowol-ts0601.json b/tests/data/devices/tze200-gjldowol-ts0601.json index 46d8912e9..039f996da 100644 --- a/tests/data/devices/tze200-gjldowol-ts0601.json +++ b/tests/data/devices/tze200-gjldowol-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:c3:87:c2:4d", "nwk": "0x594E", "manufacturer": "_TZE200_gjldowol", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -86,6 +88,7 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -98,11 +101,13 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -110,11 +115,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -180,22 +187,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:c3:87:c2:4d:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:c3:87:c2:4d", "endpoint_id": 1, "available": true, @@ -225,22 +216,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:c3:87:c2:4d:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c3:87:c2:4d", "endpoint_id": 1, "available": true, @@ -272,22 +247,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:c3:87:c2:4d:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c3:87:c2:4d", "endpoint_id": 1, "available": true, @@ -321,22 +280,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:c3:87:c2:4d:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c3:87:c2:4d", "endpoint_id": 1, "available": true, @@ -371,22 +314,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c3:87:c2:4d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c3:87:c2:4d", "endpoint_id": 1, "available": true, @@ -415,22 +342,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c3:87:c2:4d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c3:87:c2:4d", "endpoint_id": 1, "available": true, @@ -459,22 +370,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:c3:87:c2:4d:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:c3:87:c2:4d", "endpoint_id": 1, "available": true, @@ -510,22 +405,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:c3:87:c2:4d:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:c3:87:c2:4d", "endpoint_id": 1, "available": true, @@ -556,22 +435,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:c3:87:c2:4d:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c3:87:c2:4d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-gkfbdvyx-ts0601.json b/tests/data/devices/tze200-gkfbdvyx-ts0601.json index 3629d5547..a9525f320 100644 --- a/tests/data/devices/tze200-gkfbdvyx-ts0601.json +++ b/tests/data/devices/tze200-gkfbdvyx-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:5a:b5:b3:b3", "nwk": "0x7E1C", "manufacturer": "_TZE200_gkfbdvyx", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -84,11 +88,13 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -146,22 +152,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:5a:b5:b3:b3:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:5a:b5:b3:b3", "endpoint_id": 1, "available": true, @@ -191,22 +181,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:5a:b5:b3:b3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5a:b5:b3:b3", "endpoint_id": 1, "available": true, @@ -238,22 +212,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:5a:b5:b3:b3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5a:b5:b3:b3", "endpoint_id": 1, "available": true, @@ -285,22 +243,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:5a:b5:b3:b3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5a:b5:b3:b3", "endpoint_id": 1, "available": true, @@ -332,22 +274,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:5a:b5:b3:b3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5a:b5:b3:b3", "endpoint_id": 1, "available": true, @@ -379,22 +305,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:5a:b5:b3:b3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5a:b5:b3:b3", "endpoint_id": 1, "available": true, @@ -428,22 +338,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5a:b5:b3:b3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5a:b5:b3:b3", "endpoint_id": 1, "available": true, @@ -472,22 +366,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5a:b5:b3:b3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5a:b5:b3:b3", "endpoint_id": 1, "available": true, @@ -516,22 +394,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:5a:b5:b3:b3:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:5a:b5:b3:b3", "endpoint_id": 1, "available": true, @@ -560,22 +422,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:5a:b5:b3:b3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5a:b5:b3:b3", "endpoint_id": 1, "available": true, @@ -606,22 +452,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:5a:b5:b3:b3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5a:b5:b3:b3", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-gubdgai2-ts0601.json b/tests/data/devices/tze200-gubdgai2-ts0601.json index e9bf3014b..71e546b3e 100644 --- a/tests/data/devices/tze200-gubdgai2-ts0601.json +++ b/tests/data/devices/tze200-gubdgai2-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e5:a7:00:54", "nwk": "0x5989", "manufacturer": "_TZE200_gubdgai2", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -80,28 +81,50 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 90 + "value": 90, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0009", + "name": "current_position_tilt_percentage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -109,11 +132,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -172,22 +197,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:e5:a7:00:54:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:e5:a7:00:54", "endpoint_id": 1, "available": true, @@ -222,22 +231,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e5:a7:00:54:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e5:a7:00:54", "endpoint_id": 1, "available": true, @@ -266,22 +259,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e5:a7:00:54:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e5:a7:00:54", "endpoint_id": 1, "available": true, @@ -310,22 +287,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:e5:a7:00:54:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:e5:a7:00:54", "endpoint_id": 1, "available": true, @@ -356,22 +317,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e5:a7:00:54:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e5:a7:00:54", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-guvc7pdy-ts0601.json b/tests/data/devices/tze200-guvc7pdy-ts0601.json index a1bfdff8c..723d30872 100644 --- a/tests/data/devices/tze200-guvc7pdy-ts0601.json +++ b/tests/data/devices/tze200-guvc7pdy-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:93:c9:f7:0f", "nwk": "0x88D1", "manufacturer": "_TZE200_guvc7pdy", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:93:c9:f7:0f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:93:c9:f7:0f", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:93:c9:f7:0f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:93:c9:f7:0f", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:93:c9:f7:0f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:93:c9:f7:0f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-h4cgnbzg-ts0601.json b/tests/data/devices/tze200-h4cgnbzg-ts0601.json index e4bf1c5fa..58713d793 100644 --- a/tests/data/devices/tze200-h4cgnbzg-ts0601.json +++ b/tests/data/devices/tze200-h4cgnbzg-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d1:91:b1:8f", "nwk": "0xC179", "manufacturer": "_TZE200_h4cgnbzg", @@ -44,6 +44,7 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -128,6 +129,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef6a", @@ -236,22 +238,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d1:91:b1:8f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:91:b1:8f", "endpoint_id": 1, "available": true, @@ -281,22 +267,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2NoSchedule", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:d1:91:b1:8f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:d1:91:b1:8f", "endpoint_id": 1, "available": true, @@ -360,22 +330,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d1:91:b1:8f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:91:b1:8f", "endpoint_id": 1, "available": true, @@ -409,22 +363,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2NoSchedule", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:d1:91:b1:8f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:d1:91:b1:8f", "endpoint_id": 1, "available": true, @@ -453,22 +391,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d1:91:b1:8f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:91:b1:8f", "endpoint_id": 1, "available": true, @@ -499,22 +421,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d1:91:b1:8f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:91:b1:8f", "endpoint_id": 1, "available": true, @@ -547,22 +453,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d1:91:b1:8f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:91:b1:8f", "endpoint_id": 1, "available": true, @@ -595,22 +485,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d1:91:b1:8f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:91:b1:8f", "endpoint_id": 1, "available": true, @@ -643,22 +517,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d1:91:b1:8f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:91:b1:8f", "endpoint_id": 1, "available": true, @@ -691,22 +549,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d1:91:b1:8f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:91:b1:8f", "endpoint_id": 1, "available": true, @@ -739,22 +581,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d1:91:b1:8f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:91:b1:8f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-hhrtiq0x-ts0601.json b/tests/data/devices/tze200-hhrtiq0x-ts0601.json index 3f3a3b482..aa034ba3a 100644 --- a/tests/data/devices/tze200-hhrtiq0x-ts0601.json +++ b/tests/data/devices/tze200-hhrtiq0x-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:9a:53:ef:5b", "nwk": "0x9F96", "manufacturer": "_TZE200_hhrtiq0x", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 10 + "value": 10, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -92,22 +100,37 @@ "name": "battery_size", "zcl_type": "enum8", "value": 3 + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x001b", @@ -119,13 +142,73 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2370 + "value": 2370, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, + { + "id": "0x0002", + "name": "occupancy", + "zcl_type": "map8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0011", + "name": "occupied_cooling_setpoint", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 700 + "value": 700, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, + { + "id": "0x0007", + "name": "pi_cooling_demand", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } + }, + { + "id": "0x0008", + "name": "pi_heating_demand", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0025", @@ -137,25 +220,68 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 1 + "value": 1, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0013", + "name": "unoccupied_cooling_setpoint", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, + { + "id": "0x0014", + "name": "unoccupied_heating_setpoint", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -168,6 +294,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -175,11 +302,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -247,22 +376,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:9a:53:ef:5b:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:9a:53:ef:5b", "endpoint_id": 1, "available": true, @@ -326,22 +439,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:9a:53:ef:5b:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9a:53:ef:5b", "endpoint_id": 1, "available": true, @@ -378,22 +475,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:9a:53:ef:5b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9a:53:ef:5b", "endpoint_id": 1, "available": true, @@ -422,22 +503,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:9a:53:ef:5b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9a:53:ef:5b", "endpoint_id": 1, "available": true, @@ -466,22 +531,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:9a:53:ef:5b:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:9a:53:ef:5b", "endpoint_id": 1, "available": true, @@ -517,22 +566,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:9a:53:ef:5b:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:9a:53:ef:5b", "endpoint_id": 1, "available": true, @@ -561,22 +594,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:9a:53:ef:5b:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:9a:53:ef:5b", "endpoint_id": 1, "available": true, @@ -605,22 +622,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:9a:53:ef:5b:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:9a:53:ef:5b", "endpoint_id": 1, "available": true, @@ -649,22 +650,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:9a:53:ef:5b:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:9a:53:ef:5b", "endpoint_id": 1, "available": true, @@ -695,22 +680,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:9a:53:ef:5b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9a:53:ef:5b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-hl0ss9oa-ts0225.json b/tests/data/devices/tze200-hl0ss9oa-ts0225.json index 831dd2464..5f59a23ad 100644 --- a/tests/data/devices/tze200-hl0ss9oa-ts0225.json +++ b/tests/data/devices/tze200-hl0ss9oa-ts0225.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ea:02:c4:e2", "nwk": "0xEC5D", "manufacturer": "_TZE200_hl0ss9oa", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,11 +63,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -84,7 +87,13 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 30648 + "value": 30648, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0xfffe", @@ -97,6 +106,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -136,21 +146,25 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe002", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xee00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -167,6 +181,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -233,22 +248,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:ea:02:c4:e2:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ea:02:c4:e2", "endpoint_id": 1, "available": true, @@ -278,22 +277,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:ea:02:c4:e2:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ea:02:c4:e2", "endpoint_id": 1, "available": true, @@ -326,22 +309,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ea:02:c4:e2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ea:02:c4:e2", "endpoint_id": 1, "available": true, @@ -370,22 +337,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ea:02:c4:e2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ea:02:c4:e2", "endpoint_id": 1, "available": true, @@ -414,22 +365,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:ea:02:c4:e2:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:ea:02:c4:e2", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-hr0tdd47-ts0601.json b/tests/data/devices/tze200-hr0tdd47-ts0601.json index 53742dc6f..72e8d68ba 100644 --- a/tests/data/devices/tze200-hr0tdd47-ts0601.json +++ b/tests/data/devices/tze200-hr0tdd47-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:22:50:2b:09", "nwk": "0x38BA", "manufacturer": "_TZE200_hr0tdd47", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -92,16 +94,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -114,6 +119,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -121,11 +127,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -192,22 +200,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:22:50:2b:09:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:50:2b:09", "endpoint_id": 1, "available": true, @@ -237,22 +229,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:22:50:2b:09:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:50:2b:09", "endpoint_id": 1, "available": true, @@ -281,22 +257,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:22:50:2b:09:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:50:2b:09", "endpoint_id": 1, "available": true, @@ -325,22 +285,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:22:50:2b:09:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:22:50:2b:09", "endpoint_id": 1, "available": true, @@ -376,22 +320,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:22:50:2b:09:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:50:2b:09", "endpoint_id": 1, "available": true, @@ -420,22 +348,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:22:50:2b:09:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:50:2b:09", "endpoint_id": 1, "available": true, @@ -466,22 +378,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:22:50:2b:09:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:50:2b:09", "endpoint_id": 1, "available": true, @@ -516,22 +412,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:22:50:2b:09:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:50:2b:09", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-iba1ckek-ts0601.json b/tests/data/devices/tze200-iba1ckek-ts0601.json index 93718ad55..5dd75f56d 100644 --- a/tests/data/devices/tze200-iba1ckek-ts0601.json +++ b/tests/data/devices/tze200-iba1ckek-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:7c:6f:df:00", "nwk": "0x9EA5", "manufacturer": "_TZE200_iba1ckek", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -186,22 +202,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:7c:6f:df:00:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7c:6f:df:00", "endpoint_id": 1, "available": true, @@ -231,22 +231,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:7c:6f:df:00:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7c:6f:df:00", "endpoint_id": 1, "available": true, @@ -279,22 +263,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7c:6f:df:00:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7c:6f:df:00", "endpoint_id": 1, "available": true, @@ -323,22 +291,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7c:6f:df:00:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7c:6f:df:00", "endpoint_id": 1, "available": true, @@ -367,22 +319,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:7c:6f:df:00:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:7c:6f:df:00", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-icka1clh-ts0601.json b/tests/data/devices/tze200-icka1clh-ts0601.json index c9978c75a..0fd468e42 100644 --- a/tests/data/devices/tze200-icka1clh-ts0601.json +++ b/tests/data/devices/tze200-icka1clh-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:8b:0c:ae:49", "nwk": "0xAC3C", "manufacturer": "_TZE200_icka1clh", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -89,13 +93,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -138,6 +154,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "SUCCESS", "attributes": [] } ], @@ -145,11 +162,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -207,22 +226,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:8b:0c:ae:49:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:8b:0c:ae:49", "endpoint_id": 1, "available": true, @@ -257,22 +260,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8b:0c:ae:49:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8b:0c:ae:49", "endpoint_id": 1, "available": true, @@ -301,22 +288,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8b:0c:ae:49:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8b:0c:ae:49", "endpoint_id": 1, "available": true, @@ -347,22 +318,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:8b:0c:ae:49:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8b:0c:ae:49", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-ijey4q29-ts0601.json b/tests/data/devices/tze200-ijey4q29-ts0601.json index a47cda707..e546000c7 100644 --- a/tests/data/devices/tze200-ijey4q29-ts0601.json +++ b/tests/data/devices/tze200-ijey4q29-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:4e:54:99:b8", "nwk": "0x6D0B", "manufacturer": "_TZE200_ijey4q29", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,30 +93,45 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 33 + "value": 33, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -148,11 +171,13 @@ { "cluster_id": "0xe002", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -211,22 +236,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:4e:54:99:b8:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:54:99:b8", "endpoint_id": 1, "available": true, @@ -256,22 +265,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:4e:54:99:b8:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:54:99:b8", "endpoint_id": 1, "available": true, @@ -304,22 +297,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4e:54:99:b8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:54:99:b8", "endpoint_id": 1, "available": true, @@ -348,22 +325,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4e:54:99:b8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:54:99:b8", "endpoint_id": 1, "available": true, @@ -392,22 +353,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:4e:54:99:b8:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:4e:54:99:b8", "endpoint_id": 1, "available": true, @@ -442,22 +387,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:4e:54:99:b8:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:4e:54:99:b8", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-iuk8kupi-ts0601.json b/tests/data/devices/tze200-iuk8kupi-ts0601.json index 43e77d559..fbeb16417 100644 --- a/tests/data/devices/tze200-iuk8kupi-ts0601.json +++ b/tests/data/devices/tze200-iuk8kupi-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:fa:ce:89:0c", "nwk": "0x9D92", "manufacturer": "_TZE200_iuk8kupi", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -105,6 +111,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -170,22 +177,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fa:ce:89:0c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:ce:89:0c", "endpoint_id": 1, "available": true, @@ -214,22 +205,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fa:ce:89:0c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:ce:89:0c", "endpoint_id": 1, "available": true, @@ -260,22 +235,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:fa:ce:89:0c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:ce:89:0c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-js3mgbjb-ts0601.json b/tests/data/devices/tze200-js3mgbjb-ts0601.json index d3c2528a9..7abdb90a3 100644 --- a/tests/data/devices/tze200-js3mgbjb-ts0601.json +++ b/tests/data/devices/tze200-js3mgbjb-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:6d:3e:31:b1", "nwk": "0xF76A", "manufacturer": "_TZE200_js3mgbjb", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6d:3e:31:b1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6d:3e:31:b1", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6d:3e:31:b1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6d:3e:31:b1", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:6d:3e:31:b1:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6d:3e:31:b1", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-jva8ink8-ts0601.json b/tests/data/devices/tze200-jva8ink8-ts0601.json index 8c0b717c5..9abed32a1 100644 --- a/tests/data/devices/tze200-jva8ink8-ts0601.json +++ b/tests/data/devices/tze200-jva8ink8-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:9e:63:48:2b", "nwk": "0xC942", "manufacturer": "_TZE200_jva8ink8", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,16 +87,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -108,6 +112,7 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -126,6 +131,7 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -144,6 +150,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef04", @@ -194,11 +201,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -259,22 +268,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:9e:63:48:2b:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:9e:63:48:2b", "endpoint_id": 1, "available": true, @@ -304,22 +297,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:9e:63:48:2b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9e:63:48:2b", "endpoint_id": 1, "available": true, @@ -351,22 +328,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:9e:63:48:2b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9e:63:48:2b", "endpoint_id": 1, "available": true, @@ -398,22 +359,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:9e:63:48:2b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9e:63:48:2b", "endpoint_id": 1, "available": true, @@ -445,22 +390,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:9e:63:48:2b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9e:63:48:2b", "endpoint_id": 1, "available": true, @@ -494,22 +423,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:9e:63:48:2b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9e:63:48:2b", "endpoint_id": 1, "available": true, @@ -538,22 +451,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:9e:63:48:2b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9e:63:48:2b", "endpoint_id": 1, "available": true, @@ -582,22 +479,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:9e:63:48:2b:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:9e:63:48:2b", "endpoint_id": 1, "available": true, @@ -626,22 +507,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:9e:63:48:2b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9e:63:48:2b", "endpoint_id": 1, "available": true, @@ -670,22 +535,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:9e:63:48:2b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9e:63:48:2b", "endpoint_id": 1, "available": true, @@ -716,22 +565,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:9e:63:48:2b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9e:63:48:2b", "endpoint_id": 1, "available": true, @@ -766,22 +599,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:9e:63:48:2b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9e:63:48:2b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-jwsjbxjs-ts0601.json b/tests/data/devices/tze200-jwsjbxjs-ts0601.json index 84177ae14..491c51e3f 100644 --- a/tests/data/devices/tze200-jwsjbxjs-ts0601.json +++ b/tests/data/devices/tze200-jwsjbxjs-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:53:b6:3a:a2", "nwk": "0xC1A7", "manufacturer": "_TZE200_jwsjbxjs", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,22 +69,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -96,6 +106,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "SUCCESS", "attributes": [] } ], @@ -103,11 +114,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -129,12 +142,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -157,12 +177,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -185,12 +212,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -213,12 +247,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -242,6 +283,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -307,22 +349,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:53:b6:3a:a2:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:53:b6:3a:a2", "endpoint_id": 1, "available": true, @@ -373,22 +399,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:53:b6:3a:a2:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:53:b6:3a:a2", "endpoint_id": 2, "available": true, @@ -439,22 +449,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:53:b6:3a:a2:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:53:b6:3a:a2", "endpoint_id": 3, "available": true, @@ -505,22 +499,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "4:0x0006", - "unique_id": "ab:cd:ef:12:53:b6:3a:a2:4:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:53:b6:3a:a2", "endpoint_id": 4, "available": true, @@ -571,22 +549,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 5, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "5:0x0006", - "unique_id": "ab:cd:ef:12:53:b6:3a:a2:5:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:53:b6:3a:a2", "endpoint_id": 5, "available": true, @@ -639,22 +601,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:53:b6:3a:a2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:53:b6:3a:a2", "endpoint_id": 1, "available": true, @@ -683,22 +629,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:53:b6:3a:a2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:53:b6:3a:a2", "endpoint_id": 1, "available": true, @@ -729,22 +659,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:53:b6:3a:a2:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:53:b6:3a:a2", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-kb5noeto-ts0601.json b/tests/data/devices/tze200-kb5noeto-ts0601.json index 4b53f8886..8d63472d2 100644 --- a/tests/data/devices/tze200-kb5noeto-ts0601.json +++ b/tests/data/devices/tze200-kb5noeto-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:79:e4:8f:e2", "nwk": "0x5DEA", "manufacturer": "_TZE200_kb5noeto", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -98,11 +100,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -121,11 +125,13 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0010", @@ -165,6 +171,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -223,22 +230,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:79:e4:8f:e2:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:79:e4:8f:e2", "endpoint_id": 1, "available": true, @@ -266,22 +257,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:79:e4:8f:e2:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:79:e4:8f:e2", "endpoint_id": 1, "available": true, @@ -311,22 +286,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:79:e4:8f:e2:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:79:e4:8f:e2", "endpoint_id": 1, "available": true, @@ -359,22 +318,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:79:e4:8f:e2:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:79:e4:8f:e2", "endpoint_id": 1, "available": true, @@ -406,22 +349,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:79:e4:8f:e2:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:79:e4:8f:e2", "endpoint_id": 1, "available": true, @@ -453,22 +380,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:79:e4:8f:e2:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:79:e4:8f:e2", "endpoint_id": 1, "available": true, @@ -500,22 +411,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:79:e4:8f:e2:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:79:e4:8f:e2", "endpoint_id": 1, "available": true, @@ -549,22 +444,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:79:e4:8f:e2:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:79:e4:8f:e2", "endpoint_id": 1, "available": true, @@ -599,22 +478,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:79:e4:8f:e2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:79:e4:8f:e2", "endpoint_id": 1, "available": true, @@ -643,22 +506,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:79:e4:8f:e2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:79:e4:8f:e2", "endpoint_id": 1, "available": true, @@ -687,22 +534,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:79:e4:8f:e2:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:79:e4:8f:e2", "endpoint_id": 1, "available": true, @@ -739,22 +570,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:79:e4:8f:e2:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:79:e4:8f:e2", "endpoint_id": 1, "available": true, @@ -783,22 +598,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:79:e4:8f:e2:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:79:e4:8f:e2", "endpoint_id": 1, "available": true, @@ -829,22 +628,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:79:e4:8f:e2:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:79:e4:8f:e2", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-khozatfx-ts0601.json b/tests/data/devices/tze200-khozatfx-ts0601.json index c6397dfb5..40b8f9c0c 100644 --- a/tests/data/devices/tze200-khozatfx-ts0601.json +++ b/tests/data/devices/tze200-khozatfx-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b3:a4:6c:2b", "nwk": "0xFE9C", "manufacturer": "_TZE200_khozatfx", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -147,22 +153,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b3:a4:6c:2b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b3:a4:6c:2b", "endpoint_id": 1, "available": true, @@ -191,22 +181,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b3:a4:6c:2b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b3:a4:6c:2b", "endpoint_id": 1, "available": true, @@ -237,22 +211,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:b3:a4:6c:2b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b3:a4:6c:2b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-kyfqmmyl-ts0601.json b/tests/data/devices/tze200-kyfqmmyl-ts0601.json index 3830853f0..d3ce0a3d4 100644 --- a/tests/data/devices/tze200-kyfqmmyl-ts0601.json +++ b/tests/data/devices/tze200-kyfqmmyl-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b4:bb:95:b1", "nwk": "0xA05D", "manufacturer": "_TZE200_kyfqmmyl", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,22 +69,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -96,11 +106,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "SUCCESS", "attributes": [] } ], @@ -108,6 +120,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -122,12 +135,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -150,12 +170,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -221,22 +248,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:b4:bb:95:b1:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:b4:bb:95:b1", "endpoint_id": 1, "available": true, @@ -287,22 +298,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:b4:bb:95:b1:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:b4:bb:95:b1", "endpoint_id": 2, "available": true, @@ -353,22 +348,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:b4:bb:95:b1:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:b4:bb:95:b1", "endpoint_id": 3, "available": true, @@ -421,22 +400,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b4:bb:95:b1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b4:bb:95:b1", "endpoint_id": 1, "available": true, @@ -465,22 +428,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b4:bb:95:b1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b4:bb:95:b1", "endpoint_id": 1, "available": true, @@ -511,22 +458,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:b4:bb:95:b1:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b4:bb:95:b1", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-la2c2uo9-ts0601.json b/tests/data/devices/tze200-la2c2uo9-ts0601.json index ca975ab6d..00bf06b94 100644 --- a/tests/data/devices/tze200-la2c2uo9-ts0601.json +++ b/tests/data/devices/tze200-la2c2uo9-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:84:73:2a:0e", "nwk": "0xA997", "manufacturer": "_TZE200_la2c2uo9", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -56,22 +57,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -84,18 +94,26 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 19 + "value": 19, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -103,11 +121,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -167,36 +187,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:84:73:2a:0e:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:84:73:2a:0e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:84:73:2a:0e", "endpoint_id": 1, "available": true, @@ -250,22 +240,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:84:73:2a:0e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:84:73:2a:0e", "endpoint_id": 1, "available": true, @@ -294,22 +268,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:84:73:2a:0e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:84:73:2a:0e", "endpoint_id": 1, "available": true, @@ -340,22 +298,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:84:73:2a:0e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:84:73:2a:0e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-laqjm8qd-ts0601.json b/tests/data/devices/tze200-laqjm8qd-ts0601.json index 31e702e4c..3a8f77410 100644 --- a/tests/data/devices/tze200-laqjm8qd-ts0601.json +++ b/tests/data/devices/tze200-laqjm8qd-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:47:7b:70:ef", "nwk": "0xD96E", "manufacturer": "_TZE200_laqjm8qd", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -105,6 +111,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -170,22 +177,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:47:7b:70:ef:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:47:7b:70:ef", "endpoint_id": 1, "available": true, @@ -214,22 +205,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:47:7b:70:ef:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:47:7b:70:ef", "endpoint_id": 1, "available": true, @@ -260,22 +235,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:47:7b:70:ef:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:47:7b:70:ef", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-libht6ua-ts0601.json b/tests/data/devices/tze200-libht6ua-ts0601.json index cfeb987ea..76bfd0321 100644 --- a/tests/data/devices/tze200-libht6ua-ts0601.json +++ b/tests/data/devices/tze200-libht6ua-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:25:a7:64:05", "nwk": "0x1C07", "manufacturer": "_TZE200_libht6ua", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -147,22 +153,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:25:a7:64:05:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:25:a7:64:05", "endpoint_id": 1, "available": true, @@ -191,22 +181,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:25:a7:64:05:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:25:a7:64:05", "endpoint_id": 1, "available": true, @@ -237,22 +211,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:25:a7:64:05:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:25:a7:64:05", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-locansqn-ts0601.json b/tests/data/devices/tze200-locansqn-ts0601.json index 7bfd690d8..fcc6c6a37 100644 --- a/tests/data/devices/tze200-locansqn-ts0601.json +++ b/tests/data/devices/tze200-locansqn-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:5b:b2:b6:59", "nwk": "0x3C2E", "manufacturer": "_TZE200_locansqn", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -98,16 +100,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -120,6 +125,7 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -132,6 +138,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef0c", @@ -212,6 +219,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0007", @@ -236,6 +244,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -303,22 +312,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:5b:b2:b6:59:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5b:b2:b6:59", "endpoint_id": 1, "available": true, @@ -350,22 +343,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:5b:b2:b6:59:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5b:b2:b6:59", "endpoint_id": 1, "available": true, @@ -397,22 +374,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:5b:b2:b6:59:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5b:b2:b6:59", "endpoint_id": 1, "available": true, @@ -444,22 +405,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:5b:b2:b6:59:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5b:b2:b6:59", "endpoint_id": 1, "available": true, @@ -491,22 +436,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:5b:b2:b6:59:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5b:b2:b6:59", "endpoint_id": 1, "available": true, @@ -538,22 +467,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:5b:b2:b6:59:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5b:b2:b6:59", "endpoint_id": 1, "available": true, @@ -585,22 +498,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:5b:b2:b6:59:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5b:b2:b6:59", "endpoint_id": 1, "available": true, @@ -632,22 +529,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:5b:b2:b6:59:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5b:b2:b6:59", "endpoint_id": 1, "available": true, @@ -681,22 +562,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:5b:b2:b6:59:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5b:b2:b6:59", "endpoint_id": 1, "available": true, @@ -730,22 +595,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5b:b2:b6:59:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5b:b2:b6:59", "endpoint_id": 1, "available": true, @@ -774,22 +623,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5b:b2:b6:59:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5b:b2:b6:59", "endpoint_id": 1, "available": true, @@ -818,22 +651,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:5b:b2:b6:59:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:5b:b2:b6:59", "endpoint_id": 1, "available": true, @@ -869,22 +686,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:5b:b2:b6:59:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:5b:b2:b6:59", "endpoint_id": 1, "available": true, @@ -913,22 +714,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:5b:b2:b6:59:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:5b:b2:b6:59", "endpoint_id": 1, "available": true, @@ -957,22 +742,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:5b:b2:b6:59:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5b:b2:b6:59", "endpoint_id": 1, "available": true, @@ -1001,22 +770,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:5b:b2:b6:59:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5b:b2:b6:59", "endpoint_id": 1, "available": true, @@ -1047,22 +800,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:5b:b2:b6:59:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5b:b2:b6:59", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-m9skfctm-ts0601.json b/tests/data/devices/tze200-m9skfctm-ts0601.json index 3a5781834..5c20a0f1a 100644 --- a/tests/data/devices/tze200-m9skfctm-ts0601.json +++ b/tests/data/devices/tze200-m9skfctm-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ef:2f:91:36", "nwk": "0x2544", "manufacturer": "_TZE200_m9skfctm", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -96,6 +100,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -103,11 +108,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -166,22 +173,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:ef:2f:91:36:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ef:2f:91:36", "endpoint_id": 1, "available": true, @@ -211,22 +202,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ef:2f:91:36:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ef:2f:91:36", "endpoint_id": 1, "available": true, @@ -255,22 +230,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ef:2f:91:36:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ef:2f:91:36", "endpoint_id": 1, "available": true, @@ -301,22 +260,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ef:2f:91:36:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ef:2f:91:36", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-mgxy2d9f-ts0601.json b/tests/data/devices/tze200-mgxy2d9f-ts0601.json index b9370f163..87b16da26 100644 --- a/tests/data/devices/tze200-mgxy2d9f-ts0601.json +++ b/tests/data/devices/tze200-mgxy2d9f-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:9c:35:bf:88", "nwk": "0x4520", "manufacturer": "_TZE200_mgxy2d9f", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -79,11 +83,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -148,22 +154,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:9c:35:bf:88:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9c:35:bf:88", "endpoint_id": 1, "available": true, @@ -192,22 +182,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:9c:35:bf:88:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9c:35:bf:88", "endpoint_id": 1, "available": true, @@ -238,22 +212,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:9c:35:bf:88:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9c:35:bf:88", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-mja3fuja-ts0601.json b/tests/data/devices/tze200-mja3fuja-ts0601.json index 151005a0f..d303abd7e 100644 --- a/tests/data/devices/tze200-mja3fuja-ts0601.json +++ b/tests/data/devices/tze200-mja3fuja-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:59:63:f5:06", "nwk": "0x7803", "manufacturer": "_TZE200_mja3fuja", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,41 +69,49 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x040d", "endpoint_attribute": "carbon_dioxide_concentration", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042b", "endpoint_attribute": "formaldehyde_concentration", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042e", "endpoint_attribute": "voc_level", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -110,11 +119,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -130,6 +141,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -200,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:59:63:f5:06:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:59:63:f5:06", "endpoint_id": 1, "available": true, @@ -244,22 +240,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:59:63:f5:06:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:59:63:f5:06", "endpoint_id": 1, "available": true, @@ -288,22 +268,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:59:63:f5:06:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:59:63:f5:06", "endpoint_id": 1, "available": true, @@ -332,22 +296,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:59:63:f5:06:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:59:63:f5:06", "endpoint_id": 1, "available": true, @@ -376,22 +324,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "CarbonDioxideConcentrationClusterHandler", - "generic_id": "cluster_handler_0x040d", - "endpoint_id": 1, - "cluster": { - "id": 1037, - "name": "Carbon Dioxide (CO\u2082) Concentration", - "type": "server" - }, - "id": "1:0x040d", - "unique_id": "ab:cd:ef:12:59:63:f5:06:1:0x040d", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:59:63:f5:06", "endpoint_id": 1, "available": true, @@ -420,22 +352,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "FormaldehydeConcentrationClusterHandler", - "generic_id": "cluster_handler_0x042b", - "endpoint_id": 1, - "cluster": { - "id": 1067, - "name": "Formaldehyde Concentration", - "type": "server" - }, - "id": "1:0x042b", - "unique_id": "ab:cd:ef:12:59:63:f5:06:1:0x042b", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:59:63:f5:06", "endpoint_id": 1, "available": true, @@ -464,22 +380,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0x042e", - "endpoint_id": 1, - "cluster": { - "id": 1070, - "name": "VOC Level", - "type": "server" - }, - "id": "1:0x042e", - "unique_id": "ab:cd:ef:12:59:63:f5:06:1:0x042e", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:59:63:f5:06", "endpoint_id": 1, "available": true, @@ -510,22 +410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:59:63:f5:06:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:59:63:f5:06", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-moycceze-ts0601.json b/tests/data/devices/tze200-moycceze-ts0601.json index 541ccbb28..1982c55e9 100644 --- a/tests/data/devices/tze200-moycceze-ts0601.json +++ b/tests/data/devices/tze200-moycceze-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d8:e7:36:48", "nwk": "0x633C", "manufacturer": "_TZE200_moycceze", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -79,11 +83,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -148,22 +154,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d8:e7:36:48:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d8:e7:36:48", "endpoint_id": 1, "available": true, @@ -192,22 +182,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d8:e7:36:48:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d8:e7:36:48", "endpoint_id": 1, "available": true, @@ -238,22 +212,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d8:e7:36:48:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d8:e7:36:48", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-mudxchsu-ts0601.json b/tests/data/devices/tze200-mudxchsu-ts0601.json index 0d30863be..9c340533f 100644 --- a/tests/data/devices/tze200-mudxchsu-ts0601.json +++ b/tests/data/devices/tze200-mudxchsu-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:65:80:74:f3", "nwk": "0xD56F", "manufacturer": "_TZE200_mudxchsu", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,29 +99,44 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -126,6 +149,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -161,7 +185,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 0.0 + "value": 0.0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0068", @@ -180,6 +210,7 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -191,13 +222,20 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -239,7 +277,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2060 + "value": 2060, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -275,19 +319,37 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1500 + "value": 1500, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x4002", @@ -299,13 +361,25 @@ "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0025", @@ -317,13 +391,25 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -335,25 +421,44 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "value": 1600 + "value": 1600, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -366,6 +471,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "SUCCESS", "attributes": [ { "id": "0x0223", @@ -476,11 +582,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -502,12 +610,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -520,6 +635,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -555,7 +671,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 5.0 + "value": 5.0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0068", @@ -584,12 +706,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -655,22 +784,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 1, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "1:0x000f", - "unique_id": "ab:cd:ef:12:65:80:74:f3:1:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:65:80:74:f3", "endpoint_id": 1, "available": true, @@ -700,22 +813,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "ZONNSMARTThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:65:80:74:f3:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:65:80:74:f3", "endpoint_id": 1, "available": true, @@ -784,22 +881,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 1, - "cluster": { - "id": 13, - "name": "ZONNSMARTTemperatureOffset", - "type": "server" - }, - "id": "1:0x000d", - "unique_id": "ab:cd:ef:12:65:80:74:f3:1:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:65:80:74:f3", "endpoint_id": 1, "available": true, @@ -831,22 +912,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "ZONNSMARTThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:65:80:74:f3:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:65:80:74:f3", "endpoint_id": 1, "available": true, @@ -878,22 +943,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "ZONNSMARTThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:65:80:74:f3:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:65:80:74:f3", "endpoint_id": 1, "available": true, @@ -925,22 +974,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "ZONNSMARTThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:65:80:74:f3:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:65:80:74:f3", "endpoint_id": 1, "available": true, @@ -972,22 +1005,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 2, - "cluster": { - "id": 13, - "name": "ZONNSMARTWindowOpenedTemp", - "type": "server" - }, - "id": "2:0x000d", - "unique_id": "ab:cd:ef:12:65:80:74:f3:2:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:65:80:74:f3", "endpoint_id": 2, "available": true, @@ -1021,22 +1038,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:65:80:74:f3:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:65:80:74:f3", "endpoint_id": 1, "available": true, @@ -1073,22 +1074,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:65:80:74:f3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:65:80:74:f3", "endpoint_id": 1, "available": true, @@ -1117,22 +1102,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:65:80:74:f3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:65:80:74:f3", "endpoint_id": 1, "available": true, @@ -1161,22 +1130,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:65:80:74:f3:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:65:80:74:f3", "endpoint_id": 1, "available": true, @@ -1212,22 +1165,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "ZONNSMARTThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:65:80:74:f3:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:65:80:74:f3", "endpoint_id": 1, "available": true, @@ -1256,22 +1193,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "ZONNSMARTThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:65:80:74:f3:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:65:80:74:f3", "endpoint_id": 1, "available": true, @@ -1302,22 +1223,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:65:80:74:f3:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:65:80:74:f3", "endpoint_id": 1, "available": true, @@ -1344,22 +1249,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:65:80:74:f3:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:65:80:74:f3", "endpoint_id": 2, "available": true, @@ -1386,22 +1275,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:65:80:74:f3:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:65:80:74:f3", "endpoint_id": 3, "available": true, @@ -1430,22 +1303,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:65:80:74:f3:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:65:80:74:f3", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-myd45weu-ts0601.json b/tests/data/devices/tze200-myd45weu-ts0601.json index f63c9230d..803ef9d3f 100644 --- a/tests/data/devices/tze200-myd45weu-ts0601.json +++ b/tests/data/devices/tze200-myd45weu-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "a4:c1:38:eb:f7:3f:43:1c", "nwk": "0xB0C5", "manufacturer": "_TZE200_myd45weu", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -98,16 +100,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -120,6 +125,7 @@ { "cluster_id": "0x0408", "endpoint_attribute": "soil_moisture", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -132,6 +138,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -146,11 +153,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -218,22 +227,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "a4:c1:38:eb:f7:3f:43:1c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:eb:f7:3f:43:1c", "endpoint_id": 1, "available": true, @@ -262,22 +255,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "a4:c1:38:eb:f7:3f:43:1c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:eb:f7:3f:43:1c", "endpoint_id": 1, "available": true, @@ -306,22 +283,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "a4:c1:38:eb:f7:3f:43:1c:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "a4:c1:38:eb:f7:3f:43:1c", "endpoint_id": 1, "available": true, @@ -357,22 +318,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "a4:c1:38:eb:f7:3f:43:1c:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "a4:c1:38:eb:f7:3f:43:1c", "endpoint_id": 1, "available": true, @@ -401,22 +346,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SoilMoistureClusterHandler", - "generic_id": "cluster_handler_0x0408", - "endpoint_id": 1, - "cluster": { - "id": 1032, - "name": "Soil Moisture Measurement", - "type": "server" - }, - "id": "1:0x0408", - "unique_id": "a4:c1:38:eb:f7:3f:43:1c:1:0x0408", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "a4:c1:38:eb:f7:3f:43:1c", "endpoint_id": 1, "available": true, @@ -447,22 +376,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "a4:c1:38:eb:f7:3f:43:1c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:eb:f7:3f:43:1c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-mz5y07w2-ts0601.json b/tests/data/devices/tze200-mz5y07w2-ts0601.json index e79d4911f..bdaf2aead 100644 --- a/tests/data/devices/tze200-mz5y07w2-ts0601.json +++ b/tests/data/devices/tze200-mz5y07w2-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:7c:a1:1a:65", "nwk": "0x84F0", "manufacturer": "_TZE200_mz5y07w2", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,28 +63,50 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -119,7 +142,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x006a", @@ -132,6 +161,7 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x001b", @@ -143,7 +173,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2880 + "value": 2880, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0016", @@ -157,29 +193,132 @@ "zcl_type": "int16", "value": 500 }, + { + "id": "0x0002", + "name": "occupancy", + "zcl_type": "map8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0011", + "name": "occupied_cooling_setpoint", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 500 + "value": 500, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, + { + "id": "0x0007", + "name": "pi_cooling_demand", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } + }, + { + "id": "0x0008", + "name": "pi_heating_demand", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0029", + "name": "running_state", + "zcl_type": "map16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0013", + "name": "unoccupied_cooling_setpoint", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, + { + "id": "0x0014", + "name": "unoccupied_heating_setpoint", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -187,11 +326,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -252,22 +393,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:7c:a1:1a:65:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:7c:a1:1a:65", "endpoint_id": 1, "available": true, @@ -331,22 +456,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 1, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "1:0x000d", - "unique_id": "ab:cd:ef:12:7c:a1:1a:65:1:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:7c:a1:1a:65", "endpoint_id": 1, "available": true, @@ -378,22 +487,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:7c:a1:1a:65:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:7c:a1:1a:65", "endpoint_id": 1, "available": true, @@ -425,22 +518,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:7c:a1:1a:65:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:7c:a1:1a:65", "endpoint_id": 1, "available": true, @@ -474,22 +551,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7c:a1:1a:65:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7c:a1:1a:65", "endpoint_id": 1, "available": true, @@ -518,22 +579,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7c:a1:1a:65:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7c:a1:1a:65", "endpoint_id": 1, "available": true, @@ -562,22 +607,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:7c:a1:1a:65:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:7c:a1:1a:65", "endpoint_id": 1, "available": true, @@ -611,22 +640,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:7c:a1:1a:65:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:7c:a1:1a:65", "endpoint_id": 1, "available": true, @@ -655,22 +668,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:7c:a1:1a:65:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:7c:a1:1a:65", "endpoint_id": 1, "available": true, @@ -699,22 +696,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:7c:a1:1a:65:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:7c:a1:1a:65", "endpoint_id": 1, "available": true, @@ -743,22 +724,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:7c:a1:1a:65:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:7c:a1:1a:65", "endpoint_id": 1, "available": true, @@ -789,22 +754,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:7c:a1:1a:65:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7c:a1:1a:65", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-mzik0ov2-ts0601.json b/tests/data/devices/tze200-mzik0ov2-ts0601.json index b5735df1c..52eda6bde 100644 --- a/tests/data/devices/tze200-mzik0ov2-ts0601.json +++ b/tests/data/devices/tze200-mzik0ov2-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:cb:9b:c1:59", "nwk": "0x4102", "manufacturer": "_TZE200_mzik0ov2", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -79,11 +83,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -148,22 +154,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cb:9b:c1:59:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cb:9b:c1:59", "endpoint_id": 1, "available": true, @@ -192,22 +182,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cb:9b:c1:59:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cb:9b:c1:59", "endpoint_id": 1, "available": true, @@ -238,22 +212,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:cb:9b:c1:59:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cb:9b:c1:59", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-nklqjk62-ts0601.json b/tests/data/devices/tze200-nklqjk62-ts0601.json index 2f829149f..195a0dc82 100644 --- a/tests/data/devices/tze200-nklqjk62-ts0601.json +++ b/tests/data/devices/tze200-nklqjk62-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:34:58:0b:f7", "nwk": "0xAC7D", "manufacturer": "_TZE200_nklqjk62", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -56,16 +57,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -73,11 +77,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -93,6 +99,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -158,22 +165,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:34:58:0b:f7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:34:58:0b:f7", "endpoint_id": 1, "available": true, @@ -202,22 +193,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:34:58:0b:f7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:34:58:0b:f7", "endpoint_id": 1, "available": true, @@ -248,22 +223,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:34:58:0b:f7:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:34:58:0b:f7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-nojsjtj2-ts0601.json b/tests/data/devices/tze200-nojsjtj2-ts0601.json index 6ad66b130..83e13cdb6 100644 --- a/tests/data/devices/tze200-nojsjtj2-ts0601.json +++ b/tests/data/devices/tze200-nojsjtj2-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f4:9a:26:de", "nwk": "0xC1B4", "manufacturer": "_TZE200_nojsjtj2", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -168,22 +184,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:f4:9a:26:de:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f4:9a:26:de", "endpoint_id": 1, "available": true, @@ -213,22 +213,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:f4:9a:26:de:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f4:9a:26:de", "endpoint_id": 1, "available": true, @@ -261,22 +245,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f4:9a:26:de:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f4:9a:26:de", "endpoint_id": 1, "available": true, @@ -305,22 +273,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f4:9a:26:de:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f4:9a:26:de", "endpoint_id": 1, "available": true, @@ -349,22 +301,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:f4:9a:26:de:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:f4:9a:26:de", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-npj9bug3-ts0601.json b/tests/data/devices/tze200-npj9bug3-ts0601.json index 68ab83fe8..e6f4e1437 100644 --- a/tests/data/devices/tze200-npj9bug3-ts0601.json +++ b/tests/data/devices/tze200-npj9bug3-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e1:11:1c:cf", "nwk": "0xE47C", "manufacturer": "_TZE200_npj9bug3", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,36 +93,57 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2490 + "value": 2490, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -123,6 +152,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -180,22 +210,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:e1:11:1c:cf:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e1:11:1c:cf", "endpoint_id": 1, "available": true, @@ -228,22 +242,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e1:11:1c:cf:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e1:11:1c:cf", "endpoint_id": 1, "available": true, @@ -272,22 +270,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e1:11:1c:cf:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e1:11:1c:cf", "endpoint_id": 1, "available": true, @@ -316,22 +298,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:e1:11:1c:cf:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:e1:11:1c:cf", "endpoint_id": 1, "available": true, @@ -366,22 +332,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:e1:11:1c:cf:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:e1:11:1c:cf", "endpoint_id": 1, "available": true, @@ -410,22 +360,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:e1:11:1c:cf:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:e1:11:1c:cf", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-ntcy3xu1-ts0601.json b/tests/data/devices/tze200-ntcy3xu1-ts0601.json index 147864fd5..25af8b131 100644 --- a/tests/data/devices/tze200-ntcy3xu1-ts0601.json +++ b/tests/data/devices/tze200-ntcy3xu1-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:3c:49:18:ca", "nwk": "0x30D5", "manufacturer": "_TZE200_ntcy3xu1", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -92,16 +94,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -120,6 +125,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -134,11 +140,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -198,22 +206,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:3c:49:18:ca:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3c:49:18:ca", "endpoint_id": 1, "available": true, @@ -241,22 +233,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:3c:49:18:ca:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3c:49:18:ca", "endpoint_id": 1, "available": true, @@ -286,22 +262,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3c:49:18:ca:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3c:49:18:ca", "endpoint_id": 1, "available": true, @@ -330,22 +290,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3c:49:18:ca:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3c:49:18:ca", "endpoint_id": 1, "available": true, @@ -374,22 +318,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:3c:49:18:ca:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:3c:49:18:ca", "endpoint_id": 1, "available": true, @@ -427,22 +355,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:3c:49:18:ca:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3c:49:18:ca", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-ny94onlb-ts0601.json b/tests/data/devices/tze200-ny94onlb-ts0601.json index 12dbd735a..298926439 100644 --- a/tests/data/devices/tze200-ny94onlb-ts0601.json +++ b/tests/data/devices/tze200-ny94onlb-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:58:8c:89:ff", "nwk": "0x7885", "manufacturer": "_TZE200_ny94onlb", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,64 +69,115 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 26 + "value": 26, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -143,7 +195,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -161,7 +219,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -180,24 +244,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -221,31 +304,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 298 + "value": 298, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -257,19 +370,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "value": 266 + "value": 266, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "value": 70 + "value": 70, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -281,7 +520,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -293,13 +538,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1380 + "value": 1380, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -311,19 +568,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "value": 1576 + "value": 1576, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "value": 413 + "value": 413, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 2238 + "value": 2238, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -335,19 +610,44 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "value": 2159 + "value": 2159, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "value": 2272 + "value": 2272, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -355,11 +655,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -381,24 +683,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -422,31 +743,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 298 + "value": 298, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -454,11 +805,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -470,7 +959,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -482,13 +977,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1380 + "value": 1380, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -496,17 +1003,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 2238 + "value": 2238, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -523,24 +1096,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -564,31 +1156,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 266 + "value": 266, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -596,11 +1218,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -612,7 +1372,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -624,13 +1390,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1576 + "value": 1576, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -638,17 +1416,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 2159 + "value": 2159, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -665,24 +1509,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -706,31 +1569,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 70 + "value": 70, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -738,11 +1631,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -754,7 +1785,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -766,13 +1803,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 413 + "value": 413, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -780,17 +1829,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 2272 + "value": 2272, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -876,22 +1991,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 1, "available": true, @@ -920,22 +2019,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 1, "available": true, @@ -964,22 +2047,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 1, "available": true, @@ -1014,22 +2081,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 1, "available": true, @@ -1062,22 +2113,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 1, "available": true, @@ -1110,22 +2145,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 1, "available": true, @@ -1158,22 +2177,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 1, "available": true, @@ -1206,22 +2209,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 1, "available": true, @@ -1254,22 +2241,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 1, "available": true, @@ -1302,22 +2273,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 1, "available": true, @@ -1350,22 +2305,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 1, "available": true, @@ -1398,22 +2337,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 1, "available": true, @@ -1446,22 +2369,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 10, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "10:0x0b04", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:10:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 10, "available": true, @@ -1494,22 +2401,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 10, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "10:0x0b04", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:10:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 10, "available": true, @@ -1542,22 +2433,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 10, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "10:0x0b04", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:10:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 10, "available": true, @@ -1590,22 +2465,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 20, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "20:0x0b04", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:20:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 20, "available": true, @@ -1638,22 +2497,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 20, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "20:0x0b04", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:20:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 20, "available": true, @@ -1686,22 +2529,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 20, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "20:0x0b04", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:20:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 20, "available": true, @@ -1734,22 +2561,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 30, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "30:0x0b04", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:30:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 30, "available": true, @@ -1782,22 +2593,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 30, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "30:0x0b04", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:30:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 30, "available": true, @@ -1830,22 +2625,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 30, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "30:0x0b04", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:30:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 30, "available": true, @@ -1880,22 +2659,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:58:8c:89:ff:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:58:8c:89:ff", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-nyvavzbj-ts0601.json b/tests/data/devices/tze200-nyvavzbj-ts0601.json index a62eda5e7..28e849d6f 100644 --- a/tests/data/devices/tze200-nyvavzbj-ts0601.json +++ b/tests/data/devices/tze200-nyvavzbj-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:fa:83:cd:d7", "nwk": "0x0F97", "manufacturer": "_TZE200_nyvavzbj", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -74,6 +75,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -86,11 +88,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -98,11 +102,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -160,22 +166,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fa:83:cd:d7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:83:cd:d7", "endpoint_id": 1, "available": true, @@ -204,22 +194,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fa:83:cd:d7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:83:cd:d7", "endpoint_id": 1, "available": true, @@ -250,22 +224,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:fa:83:cd:d7:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:83:cd:d7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-pay2byax-ts0601.json b/tests/data/devices/tze200-pay2byax-ts0601.json index d76bbbc29..0122d05d4 100644 --- a/tests/data/devices/tze200-pay2byax-ts0601.json +++ b/tests/data/devices/tze200-pay2byax-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e7:bc:ea:ac", "nwk": "0xADC3", "manufacturer": "_TZE200_pay2byax", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -98,11 +100,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -121,6 +125,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -139,6 +144,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -196,22 +202,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:e7:bc:ea:ac:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:bc:ea:ac", "endpoint_id": 1, "available": true, @@ -241,22 +231,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:e7:bc:ea:ac:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:bc:ea:ac", "endpoint_id": 1, "available": true, @@ -289,22 +263,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e7:bc:ea:ac:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:bc:ea:ac", "endpoint_id": 1, "available": true, @@ -333,22 +291,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e7:bc:ea:ac:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:bc:ea:ac", "endpoint_id": 1, "available": true, @@ -377,22 +319,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:e7:bc:ea:ac:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:e7:bc:ea:ac", "endpoint_id": 1, "available": true, @@ -429,22 +355,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:e7:bc:ea:ac:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:e7:bc:ea:ac", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-pl31aqf5-ts0601.json b/tests/data/devices/tze200-pl31aqf5-ts0601.json index 91e718dcc..a71de5498 100644 --- a/tests/data/devices/tze200-pl31aqf5-ts0601.json +++ b/tests/data/devices/tze200-pl31aqf5-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:cb:8d:08:24", "nwk": "0xC3D9", "manufacturer": "_TZE200_pl31aqf5", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cb:8d:08:24:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cb:8d:08:24", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cb:8d:08:24:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cb:8d:08:24", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:cb:8d:08:24:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cb:8d:08:24", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-pw7mji0l-ts0601.json b/tests/data/devices/tze200-pw7mji0l-ts0601.json index 8c88ee24c..51eb72aec 100644 --- a/tests/data/devices/tze200-pw7mji0l-ts0601.json +++ b/tests/data/devices/tze200-pw7mji0l-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:1b:2f:89:a8", "nwk": "0x431F", "manufacturer": "_TZE200_pw7mji0l", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -74,28 +75,50 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0009", + "name": "current_position_tilt_percentage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -103,6 +126,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -160,22 +184,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:1b:2f:89:a8:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:1b:2f:89:a8", "endpoint_id": 1, "available": true, @@ -210,22 +218,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1b:2f:89:a8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:2f:89:a8", "endpoint_id": 1, "available": true, @@ -254,22 +246,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1b:2f:89:a8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:2f:89:a8", "endpoint_id": 1, "available": true, @@ -298,22 +274,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:1b:2f:89:a8:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:1b:2f:89:a8", "endpoint_id": 1, "available": true, @@ -344,22 +304,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:1b:2f:89:a8:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:2f:89:a8", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-qhlxve78-ts0601.json b/tests/data/devices/tze200-qhlxve78-ts0601.json index 8c9bbf6eb..c5b42c756 100644 --- a/tests/data/devices/tze200-qhlxve78-ts0601.json +++ b/tests/data/devices/tze200-qhlxve78-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d5:5a:28:81", "nwk": "0x50BD", "manufacturer": "_TZE200_qhlxve78", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -98,11 +99,13 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -133,6 +136,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -140,11 +144,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -209,22 +215,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d5:5a:28:81:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d5:5a:28:81", "endpoint_id": 1, "available": true, @@ -253,22 +243,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d5:5a:28:81:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d5:5a:28:81", "endpoint_id": 1, "available": true, @@ -299,22 +273,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d5:5a:28:81:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d5:5a:28:81", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-qrztc3ev-ts0601.json b/tests/data/devices/tze200-qrztc3ev-ts0601.json index 3a6617435..e8fbffc5a 100644 --- a/tests/data/devices/tze200-qrztc3ev-ts0601.json +++ b/tests/data/devices/tze200-qrztc3ev-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a9:de:c2:da", "nwk": "0xBE33", "manufacturer": "_TZE200_qrztc3ev", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -86,26 +88,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -113,11 +120,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -178,22 +187,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a9:de:c2:da:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:de:c2:da", "endpoint_id": 1, "available": true, @@ -225,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a9:de:c2:da:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:de:c2:da", "endpoint_id": 1, "available": true, @@ -272,22 +249,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a9:de:c2:da:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:de:c2:da", "endpoint_id": 1, "available": true, @@ -319,22 +280,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a9:de:c2:da:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:de:c2:da", "endpoint_id": 1, "available": true, @@ -366,22 +311,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a9:de:c2:da:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:de:c2:da", "endpoint_id": 1, "available": true, @@ -413,22 +342,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a9:de:c2:da:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:de:c2:da", "endpoint_id": 1, "available": true, @@ -460,22 +373,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a9:de:c2:da:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:de:c2:da", "endpoint_id": 1, "available": true, @@ -507,22 +404,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a9:de:c2:da:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:de:c2:da", "endpoint_id": 1, "available": true, @@ -556,22 +437,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a9:de:c2:da:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:de:c2:da", "endpoint_id": 1, "available": true, @@ -605,22 +470,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a9:de:c2:da:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:de:c2:da", "endpoint_id": 1, "available": true, @@ -649,22 +498,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a9:de:c2:da:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:de:c2:da", "endpoint_id": 1, "available": true, @@ -693,22 +526,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:a9:de:c2:da:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:a9:de:c2:da", "endpoint_id": 1, "available": true, @@ -744,22 +561,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:a9:de:c2:da:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:a9:de:c2:da", "endpoint_id": 1, "available": true, @@ -788,22 +589,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:a9:de:c2:da:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:a9:de:c2:da", "endpoint_id": 1, "available": true, @@ -832,22 +617,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a9:de:c2:da:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:de:c2:da", "endpoint_id": 1, "available": true, @@ -876,22 +645,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a9:de:c2:da:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:de:c2:da", "endpoint_id": 1, "available": true, @@ -922,22 +675,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a9:de:c2:da:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:de:c2:da", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-qyflbnbj-ts0601.json b/tests/data/devices/tze200-qyflbnbj-ts0601.json index f1154afe4..5ca8333eb 100644 --- a/tests/data/devices/tze200-qyflbnbj-ts0601.json +++ b/tests/data/devices/tze200-qyflbnbj-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:5d:8a:7c:64", "nwk": "0x9AA2", "manufacturer": "_TZE200_qyflbnbj", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -80,6 +81,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -110,11 +112,13 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -127,6 +131,7 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -139,6 +144,7 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -151,6 +157,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -165,11 +172,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -237,22 +246,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5d:8a:7c:64:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5d:8a:7c:64", "endpoint_id": 1, "available": true, @@ -281,22 +274,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5d:8a:7c:64:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5d:8a:7c:64", "endpoint_id": 1, "available": true, @@ -325,22 +302,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:5d:8a:7c:64:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:5d:8a:7c:64", "endpoint_id": 1, "available": true, @@ -376,22 +337,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:5d:8a:7c:64:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:5d:8a:7c:64", "endpoint_id": 1, "available": true, @@ -420,22 +365,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:5d:8a:7c:64:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:5d:8a:7c:64", "endpoint_id": 1, "available": true, @@ -466,22 +395,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:5d:8a:7c:64:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5d:8a:7c:64", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-r32ctezx-ts0601.json b/tests/data/devices/tze200-r32ctezx-ts0601.json index 1bfae91e0..82a6e7f53 100644 --- a/tests/data/devices/tze200-r32ctezx-ts0601.json +++ b/tests/data/devices/tze200-r32ctezx-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:38:4a:57:6b", "nwk": "0x4CCB", "manufacturer": "_TZE200_r32ctezx", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -56,22 +57,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -84,18 +94,26 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -103,11 +121,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -130,6 +150,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -197,36 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:38:4a:57:6b:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:38:4a:57:6b:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:38:4a:57:6b", "endpoint_id": 1, "available": true, @@ -280,22 +271,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:38:4a:57:6b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:38:4a:57:6b", "endpoint_id": 1, "available": true, @@ -324,22 +299,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:38:4a:57:6b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:38:4a:57:6b", "endpoint_id": 1, "available": true, @@ -370,22 +329,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:38:4a:57:6b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:38:4a:57:6b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-r5ksy7qo-ts0601.json b/tests/data/devices/tze200-r5ksy7qo-ts0601.json index 8ae10ea78..f33931a05 100644 --- a/tests/data/devices/tze200-r5ksy7qo-ts0601.json +++ b/tests/data/devices/tze200-r5ksy7qo-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:67:e1:be:80", "nwk": "0x2E17", "manufacturer": "_TZE200_r5ksy7qo", @@ -44,21 +44,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -66,11 +70,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -135,22 +141,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:67:e1:be:80:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:67:e1:be:80", "endpoint_id": 1, "available": true, @@ -179,22 +169,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:67:e1:be:80:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:67:e1:be:80", "endpoint_id": 1, "available": true, @@ -225,22 +199,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:67:e1:be:80:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:67:e1:be:80", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-rccxox8p-ts0601.json b/tests/data/devices/tze200-rccxox8p-ts0601.json index 9330fe766..0baf515eb 100644 --- a/tests/data/devices/tze200-rccxox8p-ts0601.json +++ b/tests/data/devices/tze200-rccxox8p-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f8:f4:e6:c9", "nwk": "0xE38C", "manufacturer": "_TZE200_rccxox8p", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -56,16 +57,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -84,6 +88,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -91,11 +96,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -154,22 +161,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:f8:f4:e6:c9:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f8:f4:e6:c9", "endpoint_id": 1, "available": true, @@ -199,22 +190,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f8:f4:e6:c9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f8:f4:e6:c9", "endpoint_id": 1, "available": true, @@ -243,22 +218,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f8:f4:e6:c9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f8:f4:e6:c9", "endpoint_id": 1, "available": true, @@ -289,22 +248,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f8:f4:e6:c9:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f8:f4:e6:c9", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-rk1wojce-ts0601.json b/tests/data/devices/tze200-rk1wojce-ts0601.json index 2771fe2bf..d79b30e9c 100644 --- a/tests/data/devices/tze200-rk1wojce-ts0601.json +++ b/tests/data/devices/tze200-rk1wojce-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e2:32:83:5b", "nwk": "0x13CE", "manufacturer": "_TZE200_rk1wojce", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -79,11 +83,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -148,22 +154,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e2:32:83:5b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e2:32:83:5b", "endpoint_id": 1, "available": true, @@ -192,22 +182,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e2:32:83:5b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e2:32:83:5b", "endpoint_id": 1, "available": true, @@ -238,22 +212,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e2:32:83:5b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e2:32:83:5b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-rks0sgb7-ts0601.json b/tests/data/devices/tze200-rks0sgb7-ts0601.json index 363d298fd..5cb8e926e 100644 --- a/tests/data/devices/tze200-rks0sgb7-ts0601.json +++ b/tests/data/devices/tze200-rks0sgb7-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a9:ec:b3:fc", "nwk": "0x3DD4", "manufacturer": "_TZE200_rks0sgb7", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xff66", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -84,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -147,22 +154,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a9:ec:b3:fc:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:ec:b3:fc", "endpoint_id": 1, "available": true, @@ -191,22 +182,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a9:ec:b3:fc:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:ec:b3:fc", "endpoint_id": 1, "available": true, @@ -237,22 +212,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a9:ec:b3:fc:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a9:ec:b3:fc", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-rmymn92d-ts0601.json b/tests/data/devices/tze200-rmymn92d-ts0601.json index 11f9e1346..b8dc839e6 100644 --- a/tests/data/devices/tze200-rmymn92d-ts0601.json +++ b/tests/data/devices/tze200-rmymn92d-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:1a:44:3f:67", "nwk": "0xE20B", "manufacturer": "_TZE200_rmymn92d", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1a:44:3f:67:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1a:44:3f:67", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1a:44:3f:67:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1a:44:3f:67", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:1a:44:3f:67:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1a:44:3f:67", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-rtrmfadk-ts0601.json b/tests/data/devices/tze200-rtrmfadk-ts0601.json index 4544004bd..0d960275c 100644 --- a/tests/data/devices/tze200-rtrmfadk-ts0601.json +++ b/tests/data/devices/tze200-rtrmfadk-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:28:28:8c:ab", "nwk": "0xEAFF", "manufacturer": "_TZE200_rtrmfadk", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -147,22 +153,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:28:28:8c:ab:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:28:28:8c:ab", "endpoint_id": 1, "available": true, @@ -191,22 +181,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:28:28:8c:ab:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:28:28:8c:ab", "endpoint_id": 1, "available": true, @@ -237,22 +211,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:28:28:8c:ab:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:28:28:8c:ab", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-rxq4iti9-ts0601.json b/tests/data/devices/tze200-rxq4iti9-ts0601.json index 17af1d5e6..ac0902128 100644 --- a/tests/data/devices/tze200-rxq4iti9-ts0601.json +++ b/tests/data/devices/tze200-rxq4iti9-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:44:6e:72:22", "nwk": "0x9CB4", "manufacturer": "_TZE200_rxq4iti9", @@ -44,11 +44,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -79,16 +81,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0100", @@ -143,6 +148,7 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -287,6 +293,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -294,11 +301,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -359,22 +368,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:44:6e:72:22:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:6e:72:22", "endpoint_id": 1, "available": true, @@ -404,22 +397,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:44:6e:72:22:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:44:6e:72:22", "endpoint_id": 1, "available": true, @@ -483,22 +460,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 1, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "1:0x000d", - "unique_id": "ab:cd:ef:12:44:6e:72:22:1:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:44:6e:72:22", "endpoint_id": 1, "available": true, @@ -530,22 +491,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:44:6e:72:22:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:6e:72:22", "endpoint_id": 1, "available": true, @@ -579,22 +524,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:44:6e:72:22:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:6e:72:22", "endpoint_id": 1, "available": true, @@ -623,22 +552,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:44:6e:72:22:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:6e:72:22", "endpoint_id": 1, "available": true, @@ -667,22 +580,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:44:6e:72:22:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:44:6e:72:22", "endpoint_id": 1, "available": true, @@ -716,22 +613,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:44:6e:72:22:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:44:6e:72:22", "endpoint_id": 1, "available": true, @@ -762,22 +643,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:44:6e:72:22:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:6e:72:22", "endpoint_id": 1, "available": true, @@ -810,22 +675,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:44:6e:72:22:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:6e:72:22", "endpoint_id": 1, "available": true, @@ -858,22 +707,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:44:6e:72:22:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:6e:72:22", "endpoint_id": 1, "available": true, @@ -908,22 +741,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:44:6e:72:22:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:6e:72:22", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-s6hzw8g2-ts0601.json b/tests/data/devices/tze200-s6hzw8g2-ts0601.json index 2ad547ac3..40ff861d2 100644 --- a/tests/data/devices/tze200-s6hzw8g2-ts0601.json +++ b/tests/data/devices/tze200-s6hzw8g2-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:2e:e7:1e:19", "nwk": "0xDBA8", "manufacturer": "_TZE200_s6hzw8g2", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -79,11 +83,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -141,22 +147,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2e:e7:1e:19:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2e:e7:1e:19", "endpoint_id": 1, "available": true, @@ -185,22 +175,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2e:e7:1e:19:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2e:e7:1e:19", "endpoint_id": 1, "available": true, @@ -231,22 +205,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:2e:e7:1e:19:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2e:e7:1e:19", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-sur6q7ko-ts0601.json b/tests/data/devices/tze200-sur6q7ko-ts0601.json index 097a69e3f..6923ddd98 100644 --- a/tests/data/devices/tze200-sur6q7ko-ts0601.json +++ b/tests/data/devices/tze200-sur6q7ko-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a2:68:cb:79", "nwk": "0x2B0E", "manufacturer": "_TZE200_sur6q7ko", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -86,34 +94,56 @@ "name": "battery_size", "zcl_type": "enum8", "value": 3 + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -149,7 +179,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 1.4 + "value": 1.4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x006a", @@ -162,6 +198,7 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -173,13 +210,20 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x001d", @@ -197,7 +241,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 1980 + "value": 1980, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -217,11 +267,41 @@ "zcl_type": "int16", "value": 500 }, + { + "id": "0x0002", + "name": "occupancy", + "zcl_type": "map8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0011", + "name": "occupied_cooling_setpoint", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1500 + "value": 1500, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x4002", @@ -229,6 +309,30 @@ "zcl_type": "enum8", "value": 1 }, + { + "id": "0x0007", + "name": "pi_cooling_demand", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } + }, + { + "id": "0x0008", + "name": "pi_heating_demand", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } + }, { "id": "0x0025", "name": "programing_oper_mode", @@ -239,31 +343,68 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0013", + "name": "unoccupied_cooling_setpoint", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "value": 1700 + "value": 1700, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -276,6 +417,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "SUCCESS", "attributes": [ { "id": "0x0223", @@ -386,11 +528,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -412,18 +556,26 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -459,7 +611,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 21.0 + "value": 21.0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x006a", @@ -482,12 +640,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -547,22 +712,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 1, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "1:0x000f", - "unique_id": "ab:cd:ef:12:a2:68:cb:79:1:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:a2:68:cb:79", "endpoint_id": 1, "available": true, @@ -592,22 +741,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "ZONNSMARTThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a2:68:cb:79:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a2:68:cb:79", "endpoint_id": 1, "available": true, @@ -671,22 +804,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 1, - "cluster": { - "id": 13, - "name": "ZONNSMARTTemperatureOffset", - "type": "server" - }, - "id": "1:0x000d", - "unique_id": "ab:cd:ef:12:a2:68:cb:79:1:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:a2:68:cb:79", "endpoint_id": 1, "available": true, @@ -718,22 +835,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "ZONNSMARTThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a2:68:cb:79:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a2:68:cb:79", "endpoint_id": 1, "available": true, @@ -765,22 +866,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "ZONNSMARTThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a2:68:cb:79:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a2:68:cb:79", "endpoint_id": 1, "available": true, @@ -812,22 +897,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "ZONNSMARTThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a2:68:cb:79:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a2:68:cb:79", "endpoint_id": 1, "available": true, @@ -859,22 +928,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 2, - "cluster": { - "id": 13, - "name": "ZONNSMARTWindowOpenedTemp", - "type": "server" - }, - "id": "2:0x000d", - "unique_id": "ab:cd:ef:12:a2:68:cb:79:2:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:a2:68:cb:79", "endpoint_id": 2, "available": true, @@ -908,22 +961,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:a2:68:cb:79:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:68:cb:79", "endpoint_id": 1, "available": true, @@ -960,22 +997,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a2:68:cb:79:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:68:cb:79", "endpoint_id": 1, "available": true, @@ -1004,22 +1025,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a2:68:cb:79:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:68:cb:79", "endpoint_id": 1, "available": true, @@ -1048,22 +1053,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:a2:68:cb:79:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:a2:68:cb:79", "endpoint_id": 1, "available": true, @@ -1099,22 +1088,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "ZONNSMARTThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a2:68:cb:79:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a2:68:cb:79", "endpoint_id": 1, "available": true, @@ -1143,22 +1116,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "ZONNSMARTThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a2:68:cb:79:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a2:68:cb:79", "endpoint_id": 1, "available": true, @@ -1187,22 +1144,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "ZONNSMARTThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a2:68:cb:79:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a2:68:cb:79", "endpoint_id": 1, "available": true, @@ -1231,22 +1172,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "ZONNSMARTThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a2:68:cb:79:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a2:68:cb:79", "endpoint_id": 1, "available": true, @@ -1277,22 +1202,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:a2:68:cb:79:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:a2:68:cb:79", "endpoint_id": 1, "available": true, @@ -1319,22 +1228,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:a2:68:cb:79:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:a2:68:cb:79", "endpoint_id": 2, "available": true, @@ -1361,22 +1254,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:a2:68:cb:79:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:a2:68:cb:79", "endpoint_id": 3, "available": true, @@ -1405,22 +1282,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a2:68:cb:79:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:68:cb:79", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-t1blo2bj-ts0601.json b/tests/data/devices/tze200-t1blo2bj-ts0601.json index f2557a31f..90fc6773a 100644 --- a/tests/data/devices/tze200-t1blo2bj-ts0601.json +++ b/tests/data/devices/tze200-t1blo2bj-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:7b:12:28:a9", "nwk": "0x42B7", "manufacturer": "_TZE200_t1blo2bj", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -56,6 +57,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -80,21 +82,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -102,11 +108,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -122,6 +130,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -189,22 +198,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:7b:12:28:a9:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:12:28:a9", "endpoint_id": 1, "available": true, @@ -238,22 +231,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:7b:12:28:a9:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:12:28:a9", "endpoint_id": 1, "available": true, @@ -301,22 +278,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:7b:12:28:a9:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:12:28:a9", "endpoint_id": 1, "available": true, @@ -351,22 +312,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7b:12:28:a9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:12:28:a9", "endpoint_id": 1, "available": true, @@ -395,22 +340,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7b:12:28:a9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:12:28:a9", "endpoint_id": 1, "available": true, @@ -441,22 +370,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:7b:12:28:a9:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:7b:12:28:a9", "endpoint_id": 1, "available": true, @@ -483,22 +396,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:7b:12:28:a9:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:12:28:a9", "endpoint_id": 1, "available": true, @@ -533,22 +430,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:7b:12:28:a9:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:12:28:a9", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-t6gq6nju-ts0601.json b/tests/data/devices/tze200-t6gq6nju-ts0601.json index bd8ff11ae..a69e30281 100644 --- a/tests/data/devices/tze200-t6gq6nju-ts0601.json +++ b/tests/data/devices/tze200-t6gq6nju-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e3:0b:62:5b", "nwk": "0x9BBE", "manufacturer": "_TZE200_t6gq6nju", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -128,16 +129,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -145,11 +149,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -165,6 +171,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -230,22 +237,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e3:0b:62:5b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e3:0b:62:5b", "endpoint_id": 1, "available": true, @@ -274,22 +265,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e3:0b:62:5b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e3:0b:62:5b", "endpoint_id": 1, "available": true, @@ -320,22 +295,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e3:0b:62:5b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e3:0b:62:5b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-udank5zs-ts0601.json b/tests/data/devices/tze200-udank5zs-ts0601.json index 6891729ab..a9661b750 100644 --- a/tests/data/devices/tze200-udank5zs-ts0601.json +++ b/tests/data/devices/tze200-udank5zs-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e7:7f:df:74", "nwk": "0xC63F", "manufacturer": "_TZE200_udank5zs", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -79,11 +83,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -148,22 +154,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e7:7f:df:74:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:7f:df:74", "endpoint_id": 1, "available": true, @@ -192,22 +182,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e7:7f:df:74:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:7f:df:74", "endpoint_id": 1, "available": true, @@ -238,22 +212,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e7:7f:df:74:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:7f:df:74", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-uf1qujxj-ts0601.json b/tests/data/devices/tze200-uf1qujxj-ts0601.json index 7e4ad0b8b..33ee622cb 100644 --- a/tests/data/devices/tze200-uf1qujxj-ts0601.json +++ b/tests/data/devices/tze200-uf1qujxj-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:1c:ee:a6:97", "nwk": "0x6A32", "manufacturer": "_TZE200_uf1qujxj", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -154,22 +160,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1c:ee:a6:97:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1c:ee:a6:97", "endpoint_id": 1, "available": true, @@ -198,22 +188,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1c:ee:a6:97:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1c:ee:a6:97", "endpoint_id": 1, "available": true, @@ -244,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:1c:ee:a6:97:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1c:ee:a6:97", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-v1jqz5cy-ts0601.json b/tests/data/devices/tze200-v1jqz5cy-ts0601.json index 014c1fd25..6632e79ff 100644 --- a/tests/data/devices/tze200-v1jqz5cy-ts0601.json +++ b/tests/data/devices/tze200-v1jqz5cy-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a4:97:18:07", "nwk": "0x1CF3", "manufacturer": "_TZE200_v1jqz5cy", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -147,22 +153,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a4:97:18:07:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a4:97:18:07", "endpoint_id": 1, "available": true, @@ -191,22 +181,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a4:97:18:07:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a4:97:18:07", "endpoint_id": 1, "available": true, @@ -237,22 +211,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a4:97:18:07:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a4:97:18:07", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-v9hkz2yn-ts0601.json b/tests/data/devices/tze200-v9hkz2yn-ts0601.json index 8e89467b3..2f86d7783 100644 --- a/tests/data/devices/tze200-v9hkz2yn-ts0601.json +++ b/tests/data/devices/tze200-v9hkz2yn-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f7:c5:4c:1d", "nwk": "0x11C2", "manufacturer": "_TZE200_v9hkz2yn", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,28 +69,115 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 2164 + "value": 2164, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "current_tier1_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0102", + "name": "current_tier2_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0104", + "name": "current_tier3_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "current_tier4_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0108", + "name": "current_tier5_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x010a", + "name": "current_tier6_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -103,6 +191,18 @@ "zcl_type": "uint24", "value": 1000 }, + { + "id": "0x0400", + "name": "instantaneous_demand", + "zcl_type": "int24", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0306", "name": "metering_device_type", @@ -115,6 +215,18 @@ "zcl_type": "uint24", "unsupported": true }, + { + "id": "0x0200", + "name": "status", + "zcl_type": "map8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0303", "name": "summation_formatting", @@ -132,24 +244,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -173,31 +304,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 35 + "value": 35, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -209,19 +370,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "value": 42 + "value": 42, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "value": 26 + "value": 26, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -233,7 +520,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -245,13 +538,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 368 + "value": 368, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -263,19 +568,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "value": 758 + "value": 758, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "value": 301 + "value": 301, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 2431 + "value": 2431, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -287,19 +610,44 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "value": 2416 + "value": 2416, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "value": 2417 + "value": 2417, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -307,11 +655,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -378,22 +728,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f7:c5:4c:1d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f7:c5:4c:1d", "endpoint_id": 1, "available": true, @@ -422,22 +756,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f7:c5:4c:1d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f7:c5:4c:1d", "endpoint_id": 1, "available": true, @@ -466,22 +784,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:f7:c5:4c:1d:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:f7:c5:4c:1d", "endpoint_id": 1, "available": true, @@ -516,22 +818,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:f7:c5:4c:1d:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:f7:c5:4c:1d", "endpoint_id": 1, "available": true, @@ -566,22 +852,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:f7:c5:4c:1d:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:f7:c5:4c:1d", "endpoint_id": 1, "available": true, @@ -616,22 +886,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:f7:c5:4c:1d:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:f7:c5:4c:1d", "endpoint_id": 1, "available": true, @@ -664,22 +918,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:f7:c5:4c:1d:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:f7:c5:4c:1d", "endpoint_id": 1, "available": true, @@ -712,22 +950,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:f7:c5:4c:1d:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:f7:c5:4c:1d", "endpoint_id": 1, "available": true, @@ -760,22 +982,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:f7:c5:4c:1d:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:f7:c5:4c:1d", "endpoint_id": 1, "available": true, @@ -808,22 +1014,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:f7:c5:4c:1d:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:f7:c5:4c:1d", "endpoint_id": 1, "available": true, @@ -856,22 +1046,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:f7:c5:4c:1d:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:f7:c5:4c:1d", "endpoint_id": 1, "available": true, @@ -904,22 +1078,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:f7:c5:4c:1d:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:f7:c5:4c:1d", "endpoint_id": 1, "available": true, @@ -952,22 +1110,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:f7:c5:4c:1d:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:f7:c5:4c:1d", "endpoint_id": 1, "available": true, @@ -1000,22 +1142,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:f7:c5:4c:1d:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:f7:c5:4c:1d", "endpoint_id": 1, "available": true, @@ -1050,22 +1176,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f7:c5:4c:1d:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f7:c5:4c:1d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-vdiuwbkq-ts0601.json b/tests/data/devices/tze200-vdiuwbkq-ts0601.json index c63110856..49aabc66e 100644 --- a/tests/data/devices/tze200-vdiuwbkq-ts0601.json +++ b/tests/data/devices/tze200-vdiuwbkq-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:6c:37:b4:92", "nwk": "0x4479", "manufacturer": "_TZE200_vdiuwbkq", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -83,13 +87,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -132,6 +148,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "SUCCESS", "attributes": [] } ], @@ -139,11 +156,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -208,22 +227,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:6c:37:b4:92:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:6c:37:b4:92", "endpoint_id": 1, "available": true, @@ -258,22 +261,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6c:37:b4:92:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6c:37:b4:92", "endpoint_id": 1, "available": true, @@ -302,22 +289,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6c:37:b4:92:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6c:37:b4:92", "endpoint_id": 1, "available": true, @@ -348,22 +319,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:6c:37:b4:92:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6c:37:b4:92", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-viy9ihs7-ts0601.json b/tests/data/devices/tze200-viy9ihs7-ts0601.json index 2c1c8864f..c10e1589e 100644 --- a/tests/data/devices/tze200-viy9ihs7-ts0601.json +++ b/tests/data/devices/tze200-viy9ihs7-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:44:77:fc:02", "nwk": "0xECFF", "manufacturer": "_TZE200_viy9ihs7", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001b", @@ -114,6 +118,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -121,11 +126,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -184,22 +191,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:44:77:fc:02:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:77:fc:02", "endpoint_id": 1, "available": true, @@ -229,22 +220,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:44:77:fc:02:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:44:77:fc:02", "endpoint_id": 1, "available": true, @@ -308,22 +283,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:44:77:fc:02:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:77:fc:02", "endpoint_id": 1, "available": true, @@ -355,22 +314,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:44:77:fc:02:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:77:fc:02", "endpoint_id": 1, "available": true, @@ -404,22 +347,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:44:77:fc:02:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:77:fc:02", "endpoint_id": 1, "available": true, @@ -453,22 +380,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:44:77:fc:02:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:77:fc:02", "endpoint_id": 1, "available": true, @@ -501,22 +412,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:44:77:fc:02:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:77:fc:02", "endpoint_id": 1, "available": true, @@ -549,22 +444,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:44:77:fc:02:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:77:fc:02", "endpoint_id": 1, "available": true, @@ -600,22 +479,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:44:77:fc:02:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:77:fc:02", "endpoint_id": 1, "available": true, @@ -644,22 +507,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:44:77:fc:02:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:77:fc:02", "endpoint_id": 1, "available": true, @@ -688,22 +535,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:44:77:fc:02:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:44:77:fc:02", "endpoint_id": 1, "available": true, @@ -734,22 +565,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:44:77:fc:02:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:77:fc:02", "endpoint_id": 1, "available": true, @@ -782,22 +597,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:44:77:fc:02:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:77:fc:02", "endpoint_id": 1, "available": true, @@ -830,22 +629,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:44:77:fc:02:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:77:fc:02", "endpoint_id": 1, "available": true, @@ -880,22 +663,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:44:77:fc:02:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:44:77:fc:02", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-vuqzj1ej-ts0601.json b/tests/data/devices/tze200-vuqzj1ej-ts0601.json index decc6ce72..1b7154f6e 100644 --- a/tests/data/devices/tze200-vuqzj1ej-ts0601.json +++ b/tests/data/devices/tze200-vuqzj1ej-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:29:18:c5:bf", "nwk": "0x7135", "manufacturer": "_TZE200_vuqzj1ej", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,54 +93,83 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 25983 + "value": 25983, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2410 + "value": 2410, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 6550 + "value": 6550, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -172,6 +209,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -179,6 +217,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -239,22 +278,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:29:18:c5:bf:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:29:18:c5:bf", "endpoint_id": 1, "available": true, @@ -284,22 +307,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:29:18:c5:bf:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:29:18:c5:bf", "endpoint_id": 1, "available": true, @@ -332,22 +339,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:29:18:c5:bf:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:29:18:c5:bf", "endpoint_id": 1, "available": true, @@ -376,22 +367,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:29:18:c5:bf:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:29:18:c5:bf", "endpoint_id": 1, "available": true, @@ -420,22 +395,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:29:18:c5:bf:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:29:18:c5:bf", "endpoint_id": 1, "available": true, @@ -470,22 +429,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:29:18:c5:bf:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:29:18:c5:bf", "endpoint_id": 1, "available": true, @@ -514,22 +457,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:29:18:c5:bf:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:29:18:c5:bf", "endpoint_id": 1, "available": true, @@ -558,22 +485,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:29:18:c5:bf:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:29:18:c5:bf", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-vvmbj46n-ts0601.json b/tests/data/devices/tze200-vvmbj46n-ts0601.json index 69b2636ab..cc9c55ab2 100644 --- a/tests/data/devices/tze200-vvmbj46n-ts0601.json +++ b/tests/data/devices/tze200-vvmbj46n-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:85:68:2c:96", "nwk": "0x68BF", "manufacturer": "_TZE200_vvmbj46n", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -74,6 +75,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -98,26 +100,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -125,11 +132,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -197,22 +206,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:85:68:2c:96:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:68:2c:96", "endpoint_id": 1, "available": true, @@ -244,22 +237,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:85:68:2c:96:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:68:2c:96", "endpoint_id": 1, "available": true, @@ -291,22 +268,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:85:68:2c:96:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:68:2c:96", "endpoint_id": 1, "available": true, @@ -338,22 +299,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:85:68:2c:96:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:68:2c:96", "endpoint_id": 1, "available": true, @@ -385,22 +330,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:85:68:2c:96:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:68:2c:96", "endpoint_id": 1, "available": true, @@ -432,22 +361,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:85:68:2c:96:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:68:2c:96", "endpoint_id": 1, "available": true, @@ -479,22 +392,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:85:68:2c:96:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:68:2c:96", "endpoint_id": 1, "available": true, @@ -526,22 +423,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:85:68:2c:96:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:68:2c:96", "endpoint_id": 1, "available": true, @@ -575,22 +456,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:85:68:2c:96:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:68:2c:96", "endpoint_id": 1, "available": true, @@ -624,22 +489,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:85:68:2c:96:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:68:2c:96", "endpoint_id": 1, "available": true, @@ -668,22 +517,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:85:68:2c:96:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:68:2c:96", "endpoint_id": 1, "available": true, @@ -712,22 +545,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:85:68:2c:96:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:85:68:2c:96", "endpoint_id": 1, "available": true, @@ -763,22 +580,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:85:68:2c:96:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:85:68:2c:96", "endpoint_id": 1, "available": true, @@ -807,22 +608,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:85:68:2c:96:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:85:68:2c:96", "endpoint_id": 1, "available": true, @@ -851,22 +636,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:85:68:2c:96:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:68:2c:96", "endpoint_id": 1, "available": true, @@ -895,22 +664,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:85:68:2c:96:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:68:2c:96", "endpoint_id": 1, "available": true, @@ -941,22 +694,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:85:68:2c:96:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:68:2c:96", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-wdfurkoa-ts0601.json b/tests/data/devices/tze200-wdfurkoa-ts0601.json index d99a21180..bd8307eb9 100644 --- a/tests/data/devices/tze200-wdfurkoa-ts0601.json +++ b/tests/data/devices/tze200-wdfurkoa-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ba:51:0f:39", "nwk": "0xCD99", "manufacturer": "_TZE200_wdfurkoa", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -154,22 +160,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ba:51:0f:39:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ba:51:0f:39", "endpoint_id": 1, "available": true, @@ -198,22 +188,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ba:51:0f:39:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ba:51:0f:39", "endpoint_id": 1, "available": true, @@ -244,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ba:51:0f:39:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ba:51:0f:39", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-wfxuhoea-ts0601.json b/tests/data/devices/tze200-wfxuhoea-ts0601.json index e8205e59e..5e79b2034 100644 --- a/tests/data/devices/tze200-wfxuhoea-ts0601.json +++ b/tests/data/devices/tze200-wfxuhoea-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:51:42:d4:41", "nwk": "0x34E5", "manufacturer": "_TZE200_wfxuhoea", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -56,16 +57,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -73,11 +77,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -100,6 +106,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -165,22 +172,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:51:42:d4:41:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:51:42:d4:41", "endpoint_id": 1, "available": true, @@ -209,22 +200,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:51:42:d4:41:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:51:42:d4:41", "endpoint_id": 1, "available": true, @@ -255,22 +230,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:51:42:d4:41:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:51:42:d4:41", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-wktrysab-ts0601.json b/tests/data/devices/tze200-wktrysab-ts0601.json index 30d65a0bf..45c0a2031 100644 --- a/tests/data/devices/tze200-wktrysab-ts0601.json +++ b/tests/data/devices/tze200-wktrysab-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:69:86:20:44", "nwk": "0xA74E", "manufacturer": "_TZE200_wktrysab", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,22 +69,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -96,6 +106,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -103,11 +114,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -122,12 +135,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -150,12 +170,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -178,12 +205,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -206,12 +240,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -234,12 +275,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -262,12 +310,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -290,12 +345,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -319,6 +381,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -441,22 +504,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:69:86:20:44:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:69:86:20:44", "endpoint_id": 1, "available": true, @@ -507,22 +554,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:69:86:20:44:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:69:86:20:44", "endpoint_id": 2, "available": true, @@ -573,22 +604,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:69:86:20:44:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:69:86:20:44", "endpoint_id": 3, "available": true, @@ -639,22 +654,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "4:0x0006", - "unique_id": "ab:cd:ef:12:69:86:20:44:4:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:69:86:20:44", "endpoint_id": 4, "available": true, @@ -705,22 +704,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 5, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "5:0x0006", - "unique_id": "ab:cd:ef:12:69:86:20:44:5:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:69:86:20:44", "endpoint_id": 5, "available": true, @@ -771,22 +754,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 6, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "6:0x0006", - "unique_id": "ab:cd:ef:12:69:86:20:44:6:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:69:86:20:44", "endpoint_id": 6, "available": true, @@ -837,22 +804,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 7, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "7:0x0006", - "unique_id": "ab:cd:ef:12:69:86:20:44:7:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:69:86:20:44", "endpoint_id": 7, "available": true, @@ -903,22 +854,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 8, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "8:0x0006", - "unique_id": "ab:cd:ef:12:69:86:20:44:8:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:69:86:20:44", "endpoint_id": 8, "available": true, @@ -971,22 +906,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:69:86:20:44:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:69:86:20:44", "endpoint_id": 1, "available": true, @@ -1015,22 +934,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:69:86:20:44:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:69:86:20:44", "endpoint_id": 1, "available": true, @@ -1061,22 +964,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:69:86:20:44:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:69:86:20:44", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-wqashyqo-ts0601.json b/tests/data/devices/tze200-wqashyqo-ts0601.json index 02dd78d68..eca468770 100644 --- a/tests/data/devices/tze200-wqashyqo-ts0601.json +++ b/tests/data/devices/tze200-wqashyqo-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b9:21:9e:2d", "nwk": "0x4436", "manufacturer": "_TZE200_wqashyqo", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,36 +93,57 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30 + "value": 30, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2210 + "value": 2210, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 300 + "value": 300, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -123,6 +152,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -180,22 +210,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:b9:21:9e:2d:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b9:21:9e:2d", "endpoint_id": 1, "available": true, @@ -228,22 +242,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b9:21:9e:2d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b9:21:9e:2d", "endpoint_id": 1, "available": true, @@ -272,22 +270,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b9:21:9e:2d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b9:21:9e:2d", "endpoint_id": 1, "available": true, @@ -316,22 +298,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:b9:21:9e:2d:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:b9:21:9e:2d", "endpoint_id": 1, "available": true, @@ -366,22 +332,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:b9:21:9e:2d:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:b9:21:9e:2d", "endpoint_id": 1, "available": true, @@ -410,22 +360,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:b9:21:9e:2d:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:b9:21:9e:2d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-xu4a5rhj-ts0601.json b/tests/data/devices/tze200-xu4a5rhj-ts0601.json index 7006bd6cc..4f773c7f3 100644 --- a/tests/data/devices/tze200-xu4a5rhj-ts0601.json +++ b/tests/data/devices/tze200-xu4a5rhj-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:c1:14:90:9a", "nwk": "0x8323", "manufacturer": "_TZE200_xu4a5rhj", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -105,6 +111,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -170,22 +177,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c1:14:90:9a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c1:14:90:9a", "endpoint_id": 1, "available": true, @@ -214,22 +205,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c1:14:90:9a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c1:14:90:9a", "endpoint_id": 1, "available": true, @@ -260,22 +235,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:c1:14:90:9a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c1:14:90:9a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-ya4ft0w4-ts0601.json b/tests/data/devices/tze200-ya4ft0w4-ts0601.json index 3ca9a82e8..f6ab2519b 100644 --- a/tests/data/devices/tze200-ya4ft0w4-ts0601.json +++ b/tests/data/devices/tze200-ya4ft0w4-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:82:14:a9:c3", "nwk": "0x7E88", "manufacturer": "_TZE200_ya4ft0w4", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -90,6 +94,7 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -102,6 +107,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef04", @@ -202,22 +208,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:82:14:a9:c3:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:82:14:a9:c3", "endpoint_id": 1, "available": true, @@ -247,22 +237,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:82:14:a9:c3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:82:14:a9:c3", "endpoint_id": 1, "available": true, @@ -294,22 +268,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:82:14:a9:c3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:82:14:a9:c3", "endpoint_id": 1, "available": true, @@ -341,22 +299,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:82:14:a9:c3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:82:14:a9:c3", "endpoint_id": 1, "available": true, @@ -388,22 +330,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:82:14:a9:c3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:82:14:a9:c3", "endpoint_id": 1, "available": true, @@ -435,22 +361,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:82:14:a9:c3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:82:14:a9:c3", "endpoint_id": 1, "available": true, @@ -484,22 +394,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:82:14:a9:c3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:82:14:a9:c3", "endpoint_id": 1, "available": true, @@ -528,22 +422,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:82:14:a9:c3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:82:14:a9:c3", "endpoint_id": 1, "available": true, @@ -572,22 +450,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:82:14:a9:c3:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:82:14:a9:c3", "endpoint_id": 1, "available": true, @@ -616,22 +478,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:82:14:a9:c3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:82:14:a9:c3", "endpoint_id": 1, "available": true, @@ -662,22 +508,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:82:14:a9:c3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:82:14:a9:c3", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-yia0p3tr-ts0601.json b/tests/data/devices/tze200-yia0p3tr-ts0601.json index 89c3422e1..36c7c4c40 100644 --- a/tests/data/devices/tze200-yia0p3tr-ts0601.json +++ b/tests/data/devices/tze200-yia0p3tr-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:54:b9:8f:58", "nwk": "0x1C6E", "manufacturer": "_TZE200_yia0p3tr", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:54:b9:8f:58:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:54:b9:8f:58", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:54:b9:8f:58:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:54:b9:8f:58", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:54:b9:8f:58:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:54:b9:8f:58", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-yjjdcqsq-ts0601.json b/tests/data/devices/tze200-yjjdcqsq-ts0601.json index 5325e32cf..728367394 100644 --- a/tests/data/devices/tze200-yjjdcqsq-ts0601.json +++ b/tests/data/devices/tze200-yjjdcqsq-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:67:06:f3:52", "nwk": "0x32EB", "manufacturer": "_TZE200_yjjdcqsq", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -92,26 +94,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -126,11 +133,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -191,22 +200,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:67:06:f3:52:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:67:06:f3:52", "endpoint_id": 1, "available": true, @@ -240,22 +233,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:67:06:f3:52:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:67:06:f3:52", "endpoint_id": 1, "available": true, @@ -284,22 +261,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:67:06:f3:52:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:67:06:f3:52", "endpoint_id": 1, "available": true, @@ -328,22 +289,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:67:06:f3:52:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:67:06:f3:52", "endpoint_id": 1, "available": true, @@ -379,22 +324,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:67:06:f3:52:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:67:06:f3:52", "endpoint_id": 1, "available": true, @@ -423,22 +352,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:67:06:f3:52:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:67:06:f3:52", "endpoint_id": 1, "available": true, @@ -469,22 +382,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:67:06:f3:52:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:67:06:f3:52", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-yojqa8xn-ts0601.json b/tests/data/devices/tze200-yojqa8xn-ts0601.json index 4b11aca5a..ddd06cb7e 100644 --- a/tests/data/devices/tze200-yojqa8xn-ts0601.json +++ b/tests/data/devices/tze200-yojqa8xn-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:22:ef:46:1f", "nwk": "0x9173", "manufacturer": "_TZE200_yojqa8xn", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -90,6 +94,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -97,11 +102,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -117,6 +124,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -183,22 +191,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:22:ef:46:1f:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:ef:46:1f", "endpoint_id": 1, "available": true, @@ -226,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:22:ef:46:1f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:ef:46:1f", "endpoint_id": 1, "available": true, @@ -269,22 +245,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:22:ef:46:1f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:ef:46:1f", "endpoint_id": 1, "available": true, @@ -314,22 +274,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:22:ef:46:1f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:ef:46:1f", "endpoint_id": 1, "available": true, @@ -363,22 +307,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:22:ef:46:1f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:ef:46:1f", "endpoint_id": 1, "available": true, @@ -415,22 +343,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:22:ef:46:1f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:ef:46:1f", "endpoint_id": 1, "available": true, @@ -459,22 +371,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:22:ef:46:1f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:ef:46:1f", "endpoint_id": 1, "available": true, @@ -503,22 +399,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:22:ef:46:1f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:ef:46:1f", "endpoint_id": 1, "available": true, @@ -547,22 +427,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:22:ef:46:1f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:ef:46:1f", "endpoint_id": 1, "available": true, @@ -593,22 +457,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:22:ef:46:1f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:ef:46:1f", "endpoint_id": 1, "available": true, @@ -643,22 +491,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:22:ef:46:1f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:ef:46:1f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-yvx5lh6k-ts0601.json b/tests/data/devices/tze200-yvx5lh6k-ts0601.json index e29b12837..f9d2d34fa 100644 --- a/tests/data/devices/tze200-yvx5lh6k-ts0601.json +++ b/tests/data/devices/tze200-yvx5lh6k-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d5:91:a5:45", "nwk": "0x920A", "manufacturer": "_TZE200_yvx5lh6k", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -84,6 +88,7 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -96,6 +101,7 @@ { "cluster_id": "0x040d", "endpoint_attribute": "carbon_dioxide_concentration", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -108,11 +114,13 @@ { "cluster_id": "0x042a", "endpoint_attribute": "pm25", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042b", "endpoint_attribute": "formaldehyde_concentration", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,11 +133,13 @@ { "cluster_id": "0x042e", "endpoint_attribute": "voc_level", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -137,11 +147,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -157,6 +169,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -228,22 +241,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d5:91:a5:45:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d5:91:a5:45", "endpoint_id": 1, "available": true, @@ -272,22 +269,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d5:91:a5:45:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d5:91:a5:45", "endpoint_id": 1, "available": true, @@ -316,22 +297,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PM25ClusterHandler", - "generic_id": "cluster_handler_0x042a", - "endpoint_id": 1, - "cluster": { - "id": 1066, - "name": "PM2.5", - "type": "server" - }, - "id": "1:0x042a", - "unique_id": "ab:cd:ef:12:d5:91:a5:45:1:0x042a", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:d5:91:a5:45", "endpoint_id": 1, "available": true, @@ -360,22 +325,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0x042e", - "endpoint_id": 1, - "cluster": { - "id": 1070, - "name": "VOC Level", - "type": "server" - }, - "id": "1:0x042e", - "unique_id": "ab:cd:ef:12:d5:91:a5:45:1:0x042e", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d5:91:a5:45", "endpoint_id": 1, "available": true, @@ -406,22 +355,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d5:91:a5:45:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d5:91:a5:45", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-yw7cahqs-ts0601.json b/tests/data/devices/tze200-yw7cahqs-ts0601.json index ca19e698b..0bdf36001 100644 --- a/tests/data/devices/tze200-yw7cahqs-ts0601.json +++ b/tests/data/devices/tze200-yw7cahqs-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:39:54:17:e4", "nwk": "0xE20B", "manufacturer": "_TZE200_yw7cahqs", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -150,6 +154,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef6a", @@ -206,11 +211,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -276,22 +283,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:54:17:e4:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:54:17:e4", "endpoint_id": 1, "available": true, @@ -321,22 +312,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2NoSchedule", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:39:54:17:e4:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:39:54:17:e4", "endpoint_id": 1, "available": true, @@ -400,22 +375,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:54:17:e4:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:54:17:e4", "endpoint_id": 1, "available": true, @@ -449,22 +408,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:39:54:17:e4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:54:17:e4", "endpoint_id": 1, "available": true, @@ -493,22 +436,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:39:54:17:e4:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:54:17:e4", "endpoint_id": 1, "available": true, @@ -537,22 +464,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2NoSchedule", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:39:54:17:e4:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:39:54:17:e4", "endpoint_id": 1, "available": true, @@ -581,22 +492,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:54:17:e4:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:54:17:e4", "endpoint_id": 1, "available": true, @@ -627,22 +522,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:54:17:e4:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:54:17:e4", "endpoint_id": 1, "available": true, @@ -675,22 +554,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:54:17:e4:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:54:17:e4", "endpoint_id": 1, "available": true, @@ -723,22 +586,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:54:17:e4:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:54:17:e4", "endpoint_id": 1, "available": true, @@ -771,22 +618,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:54:17:e4:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:54:17:e4", "endpoint_id": 1, "available": true, @@ -819,22 +650,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:54:17:e4:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:54:17:e4", "endpoint_id": 1, "available": true, @@ -867,22 +682,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:54:17:e4:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:54:17:e4", "endpoint_id": 1, "available": true, @@ -917,22 +716,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:39:54:17:e4:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:54:17:e4", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-ztvwu4nk-ts0601.json b/tests/data/devices/tze200-ztvwu4nk-ts0601.json index 14a9d7457..93df4a481 100644 --- a/tests/data/devices/tze200-ztvwu4nk-ts0601.json +++ b/tests/data/devices/tze200-ztvwu4nk-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:4f:5e:45:8e", "nwk": "0x2EF1", "manufacturer": "_TZE200_ztvwu4nk", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -147,22 +153,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4f:5e:45:8e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4f:5e:45:8e", "endpoint_id": 1, "available": true, @@ -191,22 +181,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4f:5e:45:8e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4f:5e:45:8e", "endpoint_id": 1, "available": true, @@ -237,22 +211,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:4f:5e:45:8e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4f:5e:45:8e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-1fuxihti-ts0601.json b/tests/data/devices/tze204-1fuxihti-ts0601.json index fa49d786e..1c7c44b26 100644 --- a/tests/data/devices/tze204-1fuxihti-ts0601.json +++ b/tests/data/devices/tze204-1fuxihti-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:cc:1a:bc:50", "nwk": "0xE150", "manufacturer": "_TZE204_1fuxihti", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,34 +69,50 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -103,11 +120,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -123,6 +142,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -189,22 +209,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:cc:1a:bc:50:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:cc:1a:bc:50", "endpoint_id": 1, "available": true, @@ -239,22 +243,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cc:1a:bc:50:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cc:1a:bc:50", "endpoint_id": 1, "available": true, @@ -283,22 +271,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cc:1a:bc:50:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cc:1a:bc:50", "endpoint_id": 1, "available": true, @@ -327,22 +299,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:cc:1a:bc:50:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:cc:1a:bc:50", "endpoint_id": 1, "available": true, @@ -373,22 +329,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:cc:1a:bc:50:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cc:1a:bc:50", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-1v1dxkck-ts0601.json b/tests/data/devices/tze204-1v1dxkck-ts0601.json index 88b15a3a5..63a94ad47 100644 --- a/tests/data/devices/tze204-1v1dxkck-ts0601.json +++ b/tests/data/devices/tze204-1v1dxkck-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:c0:71:6b:96", "nwk": "0x546A", "manufacturer": "_TZE204_1v1dxkck", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,22 +69,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -96,11 +106,26 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "current_level", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "SUCCESS", "attributes": [] } ], @@ -108,11 +133,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -134,12 +161,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -152,7 +186,21 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "current_level", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -167,12 +215,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -185,7 +240,21 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "current_level", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -201,6 +270,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -266,36 +336,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:c0:71:6b:96:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:c0:71:6b:96:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:c0:71:6b:96", "endpoint_id": 1, "available": true, @@ -347,36 +387,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:c0:71:6b:96:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 2, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "2:0x0008", - "unique_id": "ab:cd:ef:12:c0:71:6b:96:2:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:c0:71:6b:96", "endpoint_id": 2, "available": true, @@ -428,36 +438,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:c0:71:6b:96:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 3, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "3:0x0008", - "unique_id": "ab:cd:ef:12:c0:71:6b:96:3:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:c0:71:6b:96", "endpoint_id": 3, "available": true, @@ -511,22 +491,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c0:71:6b:96:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c0:71:6b:96", "endpoint_id": 1, "available": true, @@ -555,22 +519,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c0:71:6b:96:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c0:71:6b:96", "endpoint_id": 1, "available": true, @@ -601,22 +549,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:c0:71:6b:96:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c0:71:6b:96", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-1youk3hj-ts0601.json b/tests/data/devices/tze204-1youk3hj-ts0601.json index 948fc0c0e..a066b863d 100644 --- a/tests/data/devices/tze204-1youk3hj-ts0601.json +++ b/tests/data/devices/tze204-1youk3hj-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f5:c6:9a:7d", "nwk": "0xC1A5", "manufacturer": "_TZE204_1youk3hj", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -90,11 +94,13 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -102,6 +108,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -114,6 +121,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -142,6 +150,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -209,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:f5:c6:9a:7d:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:f5:c6:9a:7d", "endpoint_id": 1, "available": true, @@ -254,22 +247,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f5:c6:9a:7d:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:c6:9a:7d", "endpoint_id": 1, "available": true, @@ -301,22 +278,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f5:c6:9a:7d:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:c6:9a:7d", "endpoint_id": 1, "available": true, @@ -348,22 +309,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f5:c6:9a:7d:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:c6:9a:7d", "endpoint_id": 1, "available": true, @@ -395,22 +340,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f5:c6:9a:7d:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:c6:9a:7d", "endpoint_id": 1, "available": true, @@ -442,22 +371,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f5:c6:9a:7d:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:c6:9a:7d", "endpoint_id": 1, "available": true, @@ -491,22 +404,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f5:c6:9a:7d:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:c6:9a:7d", "endpoint_id": 1, "available": true, @@ -540,22 +437,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f5:c6:9a:7d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:c6:9a:7d", "endpoint_id": 1, "available": true, @@ -584,22 +465,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f5:c6:9a:7d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:c6:9a:7d", "endpoint_id": 1, "available": true, @@ -628,22 +493,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:f5:c6:9a:7d:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:f5:c6:9a:7d", "endpoint_id": 1, "available": true, @@ -672,22 +521,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f5:c6:9a:7d:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:c6:9a:7d", "endpoint_id": 1, "available": true, @@ -716,22 +549,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f5:c6:9a:7d:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:c6:9a:7d", "endpoint_id": 1, "available": true, @@ -762,22 +579,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f5:c6:9a:7d:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:c6:9a:7d", "endpoint_id": 1, "available": true, @@ -810,22 +611,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:f5:c6:9a:7d:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:c6:9a:7d", "endpoint_id": 1, "available": true, @@ -860,22 +645,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f5:c6:9a:7d:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:c6:9a:7d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-4fblxpma-ts0601.json b/tests/data/devices/tze204-4fblxpma-ts0601.json index f137c4960..de48150bb 100644 --- a/tests/data/devices/tze204-4fblxpma-ts0601.json +++ b/tests/data/devices/tze204-4fblxpma-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f4:04:0c:92", "nwk": "0xD6F2", "manufacturer": "_TZE204_4fblxpma", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -56,27 +57,62 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -89,54 +125,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -154,7 +239,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -172,7 +263,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -191,6 +288,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -198,11 +296,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -270,22 +370,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f4:04:0c:92:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f4:04:0c:92", "endpoint_id": 1, "available": true, @@ -314,22 +398,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f4:04:0c:92:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f4:04:0c:92", "endpoint_id": 1, "available": true, @@ -358,22 +426,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:f4:04:0c:92:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:f4:04:0c:92", "endpoint_id": 1, "available": true, @@ -409,22 +461,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f4:04:0c:92:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f4:04:0c:92", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-58of2pfn-ts0601.json b/tests/data/devices/tze204-58of2pfn-ts0601.json index 29935566c..cec9d631c 100644 --- a/tests/data/devices/tze204-58of2pfn-ts0601.json +++ b/tests/data/devices/tze204-58of2pfn-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:1c:a6:1f:fb", "nwk": "0xDA1B", "manufacturer": "_TZE204_58of2pfn", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,22 +69,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -96,6 +106,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "SUCCESS", "attributes": [] } ], @@ -103,11 +114,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -129,12 +142,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -157,12 +177,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -185,12 +212,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -214,6 +248,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -279,22 +314,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:1c:a6:1f:fb:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:1c:a6:1f:fb", "endpoint_id": 1, "available": true, @@ -345,22 +364,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:1c:a6:1f:fb:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:1c:a6:1f:fb", "endpoint_id": 2, "available": true, @@ -411,22 +414,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 3, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "3:0x0006", - "unique_id": "ab:cd:ef:12:1c:a6:1f:fb:3:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:1c:a6:1f:fb", "endpoint_id": 3, "available": true, @@ -477,22 +464,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 4, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "4:0x0006", - "unique_id": "ab:cd:ef:12:1c:a6:1f:fb:4:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:1c:a6:1f:fb", "endpoint_id": 4, "available": true, @@ -545,22 +516,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1c:a6:1f:fb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1c:a6:1f:fb", "endpoint_id": 1, "available": true, @@ -589,22 +544,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1c:a6:1f:fb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1c:a6:1f:fb", "endpoint_id": 1, "available": true, @@ -635,22 +574,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:1c:a6:1f:fb:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1c:a6:1f:fb", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-5slehgeo-ts0601.json b/tests/data/devices/tze204-5slehgeo-ts0601.json index 166747bce..7fdcd746e 100644 --- a/tests/data/devices/tze204-5slehgeo-ts0601.json +++ b/tests/data/devices/tze204-5slehgeo-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:c2:dc:68:99", "nwk": "0x38DB", "manufacturer": "_TZE204_5slehgeo", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c2:dc:68:99:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c2:dc:68:99", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c2:dc:68:99:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c2:dc:68:99", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:c2:dc:68:99:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c2:dc:68:99", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-5toc8efa-ts0601.json b/tests/data/devices/tze204-5toc8efa-ts0601.json index 98329a817..576650af8 100644 --- a/tests/data/devices/tze204-5toc8efa-ts0601.json +++ b/tests/data/devices/tze204-5toc8efa-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:88:70:df:86", "nwk": "0xA4DE", "manufacturer": "_TZE204_5toc8efa", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -105,6 +111,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -170,22 +177,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:88:70:df:86:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:88:70:df:86", "endpoint_id": 1, "available": true, @@ -214,22 +205,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:88:70:df:86:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:88:70:df:86", "endpoint_id": 1, "available": true, @@ -260,22 +235,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:88:70:df:86:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:88:70:df:86", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-7ytb3h8u-ts0601.json b/tests/data/devices/tze204-7ytb3h8u-ts0601.json index f9f6a7f08..ce142c7f8 100644 --- a/tests/data/devices/tze204-7ytb3h8u-ts0601.json +++ b/tests/data/devices/tze204-7ytb3h8u-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:66:5d:86:4a", "nwk": "0x3979", "manufacturer": "_TZE204_7ytb3h8u", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -74,6 +75,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -104,16 +106,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x4002", @@ -144,6 +149,7 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0020", @@ -192,6 +198,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef67", @@ -248,6 +255,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -266,6 +274,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -326,22 +335,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:66:5d:86:4a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:66:5d:86:4a", "endpoint_id": 1, "available": true, @@ -373,22 +366,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:66:5d:86:4a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:66:5d:86:4a", "endpoint_id": 1, "available": true, @@ -420,22 +397,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:66:5d:86:4a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:66:5d:86:4a", "endpoint_id": 1, "available": true, @@ -469,22 +430,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:66:5d:86:4a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:66:5d:86:4a", "endpoint_id": 1, "available": true, @@ -516,22 +461,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:66:5d:86:4a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:66:5d:86:4a", "endpoint_id": 1, "available": true, @@ -567,22 +496,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:66:5d:86:4a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:66:5d:86:4a", "endpoint_id": 1, "available": true, @@ -611,22 +524,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:66:5d:86:4a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:66:5d:86:4a", "endpoint_id": 1, "available": true, @@ -655,22 +552,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:66:5d:86:4a:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:66:5d:86:4a", "endpoint_id": 1, "available": true, @@ -706,22 +587,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "TuyaValveWaterConsumedNoInstDemand", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:66:5d:86:4a:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:66:5d:86:4a", "endpoint_id": 1, "available": true, @@ -757,22 +622,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:66:5d:86:4a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:66:5d:86:4a", "endpoint_id": 1, "available": true, @@ -801,22 +650,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:66:5d:86:4a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:66:5d:86:4a", "endpoint_id": 1, "available": true, @@ -845,22 +678,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:66:5d:86:4a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:66:5d:86:4a", "endpoint_id": 1, "available": true, @@ -891,22 +708,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:66:5d:86:4a:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:66:5d:86:4a", "endpoint_id": 1, "available": true, @@ -935,22 +736,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:66:5d:86:4a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:66:5d:86:4a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-81yrt3lo-ts0601.json b/tests/data/devices/tze204-81yrt3lo-ts0601.json index 858dcfd49..38a5d32cb 100644 --- a/tests/data/devices/tze204-81yrt3lo-ts0601.json +++ b/tests/data/devices/tze204-81yrt3lo-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:22:09:db:75", "nwk": "0xC670", "manufacturer": "_TZE204_81yrt3lo", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -56,64 +57,115 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -131,7 +183,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -149,7 +207,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -168,24 +232,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 4913 + "value": 4913, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -209,31 +292,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -241,11 +354,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -257,7 +508,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -269,7 +526,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -281,7 +544,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -289,23 +558,90 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 2403 + "value": 2403, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -313,11 +649,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -339,54 +677,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 3300 + "value": 3300, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -404,7 +791,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 550 + "value": 550, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -422,7 +815,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -441,24 +840,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -482,31 +900,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 525 + "value": 525, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -514,11 +962,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 954 + "value": 954, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -530,7 +1116,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -542,7 +1134,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -554,7 +1152,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 397 + "value": 397, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -562,17 +1166,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -589,54 +1259,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 3300 + "value": 3300, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -654,7 +1373,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 550 + "value": 550, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -672,7 +1397,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -691,24 +1422,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -732,31 +1482,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 525 + "value": 525, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -764,11 +1544,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 954 + "value": 954, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -780,7 +1698,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -792,7 +1716,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -804,7 +1734,13 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 397 + "value": 397, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -812,17 +1748,83 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -840,6 +1842,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -925,22 +1928,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:22:09:db:75:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 1, "available": true, @@ -969,22 +1956,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:22:09:db:75:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 1, "available": true, @@ -1013,22 +1984,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:22:09:db:75:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 1, "available": true, @@ -1064,22 +2019,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:22:09:db:75:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 1, "available": true, @@ -1115,22 +2054,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:22:09:db:75:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 1, "available": true, @@ -1166,22 +2089,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:22:09:db:75:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 1, "available": true, @@ -1215,22 +2122,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:22:09:db:75:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 1, "available": true, @@ -1264,22 +2155,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:22:09:db:75:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 1, "available": true, @@ -1312,22 +2187,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:22:09:db:75:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 1, "available": true, @@ -1360,22 +2219,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:22:09:db:75:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 1, "available": true, @@ -1409,22 +2252,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:22:09:db:75:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 1, "available": true, @@ -1458,22 +2285,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 2, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "2:0x0702", - "unique_id": "ab:cd:ef:12:22:09:db:75:2:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 2, "available": true, @@ -1509,22 +2320,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 2, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "2:0x0702", - "unique_id": "ab:cd:ef:12:22:09:db:75:2:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 2, "available": true, @@ -1560,22 +2355,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 2, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "2:0x0702", - "unique_id": "ab:cd:ef:12:22:09:db:75:2:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 2, "available": true, @@ -1611,22 +2390,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:22:09:db:75:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 2, "available": true, @@ -1660,22 +2423,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:22:09:db:75:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 2, "available": true, @@ -1708,22 +2455,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:22:09:db:75:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 2, "available": true, @@ -1756,22 +2487,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 2, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "2:0x0b04", - "unique_id": "ab:cd:ef:12:22:09:db:75:2:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 2, "available": true, @@ -1805,22 +2520,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 3, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "3:0x0702", - "unique_id": "ab:cd:ef:12:22:09:db:75:3:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 3, "available": true, @@ -1856,22 +2555,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 3, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "3:0x0702", - "unique_id": "ab:cd:ef:12:22:09:db:75:3:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 3, "available": true, @@ -1907,22 +2590,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 3, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "3:0x0702", - "unique_id": "ab:cd:ef:12:22:09:db:75:3:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 3, "available": true, @@ -1958,22 +2625,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 3, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "3:0x0b04", - "unique_id": "ab:cd:ef:12:22:09:db:75:3:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 3, "available": true, @@ -2007,22 +2658,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 3, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "3:0x0b04", - "unique_id": "ab:cd:ef:12:22:09:db:75:3:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 3, "available": true, @@ -2055,22 +2690,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 3, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "3:0x0b04", - "unique_id": "ab:cd:ef:12:22:09:db:75:3:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 3, "available": true, @@ -2106,22 +2725,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:22:09:db:75:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:22:09:db:75", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-9yapgbuv-ts0601.json b/tests/data/devices/tze204-9yapgbuv-ts0601.json index 1c880376a..3f53addf4 100644 --- a/tests/data/devices/tze204-9yapgbuv-ts0601.json +++ b/tests/data/devices/tze204-9yapgbuv-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:3f:d8:c2:76", "nwk": "0x1E96", "manufacturer": "_TZE204_9yapgbuv", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -92,26 +94,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -119,11 +126,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -184,22 +193,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:3f:d8:c2:76:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3f:d8:c2:76", "endpoint_id": 1, "available": true, @@ -233,22 +226,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3f:d8:c2:76:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3f:d8:c2:76", "endpoint_id": 1, "available": true, @@ -277,22 +254,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3f:d8:c2:76:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3f:d8:c2:76", "endpoint_id": 1, "available": true, @@ -321,22 +282,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:3f:d8:c2:76:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:3f:d8:c2:76", "endpoint_id": 1, "available": true, @@ -372,22 +317,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:3f:d8:c2:76:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:3f:d8:c2:76", "endpoint_id": 1, "available": true, @@ -416,22 +345,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:3f:d8:c2:76:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:3f:d8:c2:76", "endpoint_id": 1, "available": true, @@ -462,22 +375,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:3f:d8:c2:76:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3f:d8:c2:76", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-a2jcoyuk-ts0601.json b/tests/data/devices/tze204-a2jcoyuk-ts0601.json index 93e241981..66960d891 100644 --- a/tests/data/devices/tze204-a2jcoyuk-ts0601.json +++ b/tests/data/devices/tze204-a2jcoyuk-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:5a:34:d8:e0", "nwk": "0x91C0", "manufacturer": "_TZE204_a2jcoyuk", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5a:34:d8:e0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5a:34:d8:e0", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5a:34:d8:e0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5a:34:d8:e0", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:5a:34:d8:e0:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5a:34:d8:e0", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-ai4rqhky-ts0601.json b/tests/data/devices/tze204-ai4rqhky-ts0601.json index d4e46712c..c21c47806 100644 --- a/tests/data/devices/tze204-ai4rqhky-ts0601.json +++ b/tests/data/devices/tze204-ai4rqhky-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b1:50:cc:53", "nwk": "0x0600", "manufacturer": "_TZE204_ai4rqhky", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -74,16 +75,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -91,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -160,22 +166,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b1:50:cc:53:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:50:cc:53", "endpoint_id": 1, "available": true, @@ -204,22 +194,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b1:50:cc:53:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:50:cc:53", "endpoint_id": 1, "available": true, @@ -250,22 +224,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:b1:50:cc:53:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b1:50:cc:53", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-aoclfnxz-ts0601.json b/tests/data/devices/tze204-aoclfnxz-ts0601.json index 437abe534..ef778dfa9 100644 --- a/tests/data/devices/tze204-aoclfnxz-ts0601.json +++ b/tests/data/devices/tze204-aoclfnxz-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:2d:91:c5:14", "nwk": "0x12A4", "manufacturer": "_TZE204_aoclfnxz", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -104,16 +105,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -121,11 +125,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -148,6 +154,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -213,22 +220,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2d:91:c5:14:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2d:91:c5:14", "endpoint_id": 1, "available": true, @@ -257,22 +248,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2d:91:c5:14:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2d:91:c5:14", "endpoint_id": 1, "available": true, @@ -303,22 +278,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:2d:91:c5:14:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2d:91:c5:14", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-bkkmqmyo-ts0601.json b/tests/data/devices/tze204-bkkmqmyo-ts0601.json index ca84bf02f..12cbad06c 100644 --- a/tests/data/devices/tze204-bkkmqmyo-ts0601.json +++ b/tests/data/devices/tze204-bkkmqmyo-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:83:e9:5e:8c", "nwk": "0x442E", "manufacturer": "_TZE204_bkkmqmyo", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -92,6 +94,7 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -116,12 +119,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -134,54 +144,103 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 80 + "value": 80, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -199,7 +258,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -217,7 +282,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -236,24 +307,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 4997 + "value": 4997, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -277,31 +367,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10 + "value": 10, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 10 + "value": 10, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -309,11 +429,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -325,7 +583,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -337,7 +601,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050e", @@ -345,17 +615,59 @@ "zcl_type": "int16", "value": 22 }, + { + "id": "0x0508", + "name": "rms_current", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050a", "name": "rms_current_max", "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -363,6 +675,42 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0305", "name": "total_reactive_power", @@ -374,6 +722,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -381,11 +730,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -453,22 +804,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:83:e9:5e:8c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:83:e9:5e:8c", "endpoint_id": 1, "available": true, @@ -497,22 +832,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:83:e9:5e:8c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:83:e9:5e:8c", "endpoint_id": 1, "available": true, @@ -541,22 +860,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:83:e9:5e:8c:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:83:e9:5e:8c", "endpoint_id": 1, "available": true, @@ -591,22 +894,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:83:e9:5e:8c:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:83:e9:5e:8c", "endpoint_id": 1, "available": true, @@ -641,22 +928,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:83:e9:5e:8c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:83:e9:5e:8c", "endpoint_id": 1, "available": true, @@ -689,22 +960,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:83:e9:5e:8c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:83:e9:5e:8c", "endpoint_id": 1, "available": true, @@ -737,22 +992,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:83:e9:5e:8c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:83:e9:5e:8c", "endpoint_id": 1, "available": true, @@ -784,22 +1023,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:83:e9:5e:8c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:83:e9:5e:8c", "endpoint_id": 1, "available": true, @@ -834,22 +1057,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:83:e9:5e:8c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:83:e9:5e:8c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-bxoo2swd-ts0601.json b/tests/data/devices/tze204-bxoo2swd-ts0601.json index 5738ecaa0..7a3547098 100644 --- a/tests/data/devices/tze204-bxoo2swd-ts0601.json +++ b/tests/data/devices/tze204-bxoo2swd-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ba:5e:9c:07", "nwk": "0x9318", "manufacturer": "_TZE204_bxoo2swd", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,22 +69,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -96,11 +106,26 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "current_level", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "SUCCESS", "attributes": [] } ], @@ -108,11 +133,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -127,12 +154,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -145,7 +179,21 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "current_level", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -203,36 +251,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ba:5e:9c:07:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:ba:5e:9c:07:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:ba:5e:9c:07", "endpoint_id": 1, "available": true, @@ -284,36 +302,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:ba:5e:9c:07:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 2, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "2:0x0008", - "unique_id": "ab:cd:ef:12:ba:5e:9c:07:2:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:ba:5e:9c:07", "endpoint_id": 2, "available": true, @@ -367,22 +355,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ba:5e:9c:07:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ba:5e:9c:07", "endpoint_id": 1, "available": true, @@ -411,22 +383,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ba:5e:9c:07:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ba:5e:9c:07", "endpoint_id": 1, "available": true, @@ -457,22 +413,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ba:5e:9c:07:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ba:5e:9c:07", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-c2fmom5z-ts0601.json b/tests/data/devices/tze204-c2fmom5z-ts0601.json index 4241fc729..f23eeba43 100644 --- a/tests/data/devices/tze204-c2fmom5z-ts0601.json +++ b/tests/data/devices/tze204-c2fmom5z-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e1:f5:c9:be", "nwk": "0x3F2F", "manufacturer": "_TZE204_c2fmom5z", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -116,6 +117,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -140,6 +142,7 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -188,6 +191,7 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -200,6 +204,7 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -212,6 +217,7 @@ { "cluster_id": "0x040d", "endpoint_attribute": "carbon_dioxide_concentration", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -224,11 +230,13 @@ { "cluster_id": "0x042a", "endpoint_attribute": "pm25", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042b", "endpoint_attribute": "formaldehyde_concentration", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -241,6 +249,7 @@ { "cluster_id": "0x042e", "endpoint_attribute": "voc_level", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -253,6 +262,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -260,11 +270,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -305,6 +317,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -376,22 +389,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e1:f5:c9:be:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e1:f5:c9:be", "endpoint_id": 1, "available": true, @@ -420,22 +417,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e1:f5:c9:be:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e1:f5:c9:be", "endpoint_id": 1, "available": true, @@ -464,22 +445,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:e1:f5:c9:be:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:e1:f5:c9:be", "endpoint_id": 1, "available": true, @@ -508,22 +473,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:e1:f5:c9:be:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:e1:f5:c9:be", "endpoint_id": 1, "available": true, @@ -552,22 +501,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "CarbonDioxideConcentrationClusterHandler", - "generic_id": "cluster_handler_0x040d", - "endpoint_id": 1, - "cluster": { - "id": 1037, - "name": "Carbon Dioxide (CO\u2082) Concentration", - "type": "server" - }, - "id": "1:0x040d", - "unique_id": "ab:cd:ef:12:e1:f5:c9:be:1:0x040d", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:e1:f5:c9:be", "endpoint_id": 1, "available": true, @@ -596,22 +529,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PM25ClusterHandler", - "generic_id": "cluster_handler_0x042a", - "endpoint_id": 1, - "cluster": { - "id": 1066, - "name": "PM2.5", - "type": "server" - }, - "id": "1:0x042a", - "unique_id": "ab:cd:ef:12:e1:f5:c9:be:1:0x042a", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:e1:f5:c9:be", "endpoint_id": 1, "available": true, @@ -640,22 +557,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "FormaldehydeConcentrationClusterHandler", - "generic_id": "cluster_handler_0x042b", - "endpoint_id": 1, - "cluster": { - "id": 1067, - "name": "Formaldehyde Concentration", - "type": "server" - }, - "id": "1:0x042b", - "unique_id": "ab:cd:ef:12:e1:f5:c9:be:1:0x042b", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:e1:f5:c9:be", "endpoint_id": 1, "available": true, @@ -684,22 +585,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0x042e", - "endpoint_id": 1, - "cluster": { - "id": 1070, - "name": "VOC Level", - "type": "server" - }, - "id": "1:0x042e", - "unique_id": "ab:cd:ef:12:e1:f5:c9:be:1:0x042e", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e1:f5:c9:be", "endpoint_id": 1, "available": true, @@ -730,22 +615,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e1:f5:c9:be:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e1:f5:c9:be", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-chbyv06x-ts0601.json b/tests/data/devices/tze204-chbyv06x-ts0601.json index bce1fe052..193b07f85 100644 --- a/tests/data/devices/tze204-chbyv06x-ts0601.json +++ b/tests/data/devices/tze204-chbyv06x-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:85:7c:cd:63", "nwk": "0x069D", "manufacturer": "_TZE204_chbyv06x", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -90,6 +94,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -97,11 +102,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -117,6 +124,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -183,22 +191,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:85:7c:cd:63:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:7c:cd:63", "endpoint_id": 1, "available": true, @@ -226,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:85:7c:cd:63:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:7c:cd:63", "endpoint_id": 1, "available": true, @@ -269,22 +245,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:85:7c:cd:63:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:7c:cd:63", "endpoint_id": 1, "available": true, @@ -314,22 +274,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:85:7c:cd:63:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:7c:cd:63", "endpoint_id": 1, "available": true, @@ -363,22 +307,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:85:7c:cd:63:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:7c:cd:63", "endpoint_id": 1, "available": true, @@ -415,22 +343,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:85:7c:cd:63:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:7c:cd:63", "endpoint_id": 1, "available": true, @@ -459,22 +371,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:85:7c:cd:63:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:7c:cd:63", "endpoint_id": 1, "available": true, @@ -503,22 +399,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:85:7c:cd:63:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:7c:cd:63", "endpoint_id": 1, "available": true, @@ -547,22 +427,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:85:7c:cd:63:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:7c:cd:63", "endpoint_id": 1, "available": true, @@ -593,22 +457,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:85:7c:cd:63:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:7c:cd:63", "endpoint_id": 1, "available": true, @@ -643,22 +491,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:85:7c:cd:63:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:85:7c:cd:63", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-cirvgep4-ts0601.json b/tests/data/devices/tze204-cirvgep4-ts0601.json index 6fc79c582..8be6d78c1 100644 --- a/tests/data/devices/tze204-cirvgep4-ts0601.json +++ b/tests/data/devices/tze204-cirvgep4-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:46:04:97:a0", "nwk": "0xCFC5", "manufacturer": "_TZE204_cirvgep4", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,6 +87,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -110,26 +112,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -137,11 +144,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -209,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:46:04:97:a0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:46:04:97:a0", "endpoint_id": 1, "available": true, @@ -258,22 +251,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:46:04:97:a0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:46:04:97:a0", "endpoint_id": 1, "available": true, @@ -302,22 +279,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:46:04:97:a0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:46:04:97:a0", "endpoint_id": 1, "available": true, @@ -346,22 +307,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:46:04:97:a0:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:46:04:97:a0", "endpoint_id": 1, "available": true, @@ -397,22 +342,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:46:04:97:a0:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:46:04:97:a0", "endpoint_id": 1, "available": true, @@ -441,22 +370,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:46:04:97:a0:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:46:04:97:a0", "endpoint_id": 1, "available": true, @@ -487,22 +400,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:46:04:97:a0:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:46:04:97:a0", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-cjbofhxw-ts0601.json b/tests/data/devices/tze204-cjbofhxw-ts0601.json index ba88f4315..e9205fba5 100644 --- a/tests/data/devices/tze204-cjbofhxw-ts0601.json +++ b/tests/data/devices/tze204-cjbofhxw-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:5e:f5:c9:72", "nwk": "0x3DA7", "manufacturer": "_TZE204_cjbofhxw", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,64 +69,115 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -143,7 +195,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -161,7 +219,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -180,24 +244,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -221,31 +304,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -253,11 +366,149 @@ "zcl_type": "int16", "unsupported": true }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -269,7 +520,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -281,13 +538,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -295,23 +564,90 @@ "zcl_type": "uint16", "unsupported": true }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 122 + "value": 122, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -319,11 +655,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -390,22 +728,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5e:f5:c9:72:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5e:f5:c9:72", "endpoint_id": 1, "available": true, @@ -434,22 +756,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5e:f5:c9:72:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5e:f5:c9:72", "endpoint_id": 1, "available": true, @@ -478,22 +784,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:5e:f5:c9:72:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:5e:f5:c9:72", "endpoint_id": 1, "available": true, @@ -528,22 +818,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:5e:f5:c9:72:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5e:f5:c9:72", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-d6i25bwg-ts0601.json b/tests/data/devices/tze204-d6i25bwg-ts0601.json index 0b95be0ea..724be1c15 100644 --- a/tests/data/devices/tze204-d6i25bwg-ts0601.json +++ b/tests/data/devices/tze204-d6i25bwg-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:c0:3f:e3:79", "nwk": "0xBF9B", "manufacturer": "_TZE204_d6i25bwg", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,40 +69,57 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1990 + "value": 1990, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4400 + "value": 4400, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -109,11 +127,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -136,6 +156,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -203,22 +224,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c0:3f:e3:79:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c0:3f:e3:79", "endpoint_id": 1, "available": true, @@ -247,22 +252,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c0:3f:e3:79:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c0:3f:e3:79", "endpoint_id": 1, "available": true, @@ -291,22 +280,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:c0:3f:e3:79:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:c0:3f:e3:79", "endpoint_id": 1, "available": true, @@ -335,22 +308,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:c0:3f:e3:79:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:c0:3f:e3:79", "endpoint_id": 1, "available": true, @@ -381,22 +338,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:c0:3f:e3:79:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c0:3f:e3:79", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-dqolcpcp-ts0601.json b/tests/data/devices/tze204-dqolcpcp-ts0601.json index a38705050..ba279c715 100644 --- a/tests/data/devices/tze204-dqolcpcp-ts0601.json +++ b/tests/data/devices/tze204-dqolcpcp-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d2:57:29:bb", "nwk": "0x67FC", "manufacturer": "_TZE204_dqolcpcp", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -110,11 +111,13 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -139,12 +142,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -157,6 +167,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "SUCCESS", "attributes": [] } ], @@ -164,11 +175,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -183,12 +196,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -211,12 +231,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -239,12 +266,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -267,12 +301,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -295,12 +336,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -323,12 +371,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -351,12 +406,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -379,12 +441,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -407,12 +476,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -435,12 +511,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -463,12 +546,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -492,6 +582,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -557,22 +648,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d2:57:29:bb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:57:29:bb", "endpoint_id": 1, "available": true, @@ -601,22 +676,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d2:57:29:bb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:57:29:bb", "endpoint_id": 1, "available": true, @@ -647,22 +706,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d2:57:29:bb:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:57:29:bb", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-dtzziy1e-ts0601.json b/tests/data/devices/tze204-dtzziy1e-ts0601.json index 7d331bfe4..0c8945a7e 100644 --- a/tests/data/devices/tze204-dtzziy1e-ts0601.json +++ b/tests/data/devices/tze204-dtzziy1e-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:39:6f:a3:20", "nwk": "0x4EA2", "manufacturer": "_TZE204_dtzziy1e", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -90,11 +94,13 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -102,11 +108,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -166,22 +174,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:39:6f:a3:20:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:39:6f:a3:20", "endpoint_id": 1, "available": true, @@ -211,22 +203,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:6f:a3:20:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:a3:20", "endpoint_id": 1, "available": true, @@ -258,22 +234,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:6f:a3:20:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:a3:20", "endpoint_id": 1, "available": true, @@ -305,22 +265,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:6f:a3:20:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:a3:20", "endpoint_id": 1, "available": true, @@ -352,22 +296,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:6f:a3:20:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:a3:20", "endpoint_id": 1, "available": true, @@ -399,22 +327,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:6f:a3:20:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:a3:20", "endpoint_id": 1, "available": true, @@ -446,22 +358,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:6f:a3:20:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:a3:20", "endpoint_id": 1, "available": true, @@ -493,22 +389,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:6f:a3:20:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:a3:20", "endpoint_id": 1, "available": true, @@ -540,22 +420,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:6f:a3:20:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:a3:20", "endpoint_id": 1, "available": true, @@ -587,22 +451,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:6f:a3:20:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:a3:20", "endpoint_id": 1, "available": true, @@ -636,22 +484,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:6f:a3:20:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:a3:20", "endpoint_id": 1, "available": true, @@ -683,22 +515,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:6f:a3:20:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:a3:20", "endpoint_id": 1, "available": true, @@ -730,22 +546,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:6f:a3:20:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:a3:20", "endpoint_id": 1, "available": true, @@ -777,22 +577,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:6f:a3:20:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:a3:20", "endpoint_id": 1, "available": true, @@ -826,22 +610,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:6f:a3:20:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:a3:20", "endpoint_id": 1, "available": true, @@ -875,22 +643,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:39:6f:a3:20:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:a3:20", "endpoint_id": 1, "available": true, @@ -919,22 +671,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:39:6f:a3:20:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:a3:20", "endpoint_id": 1, "available": true, @@ -963,22 +699,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:39:6f:a3:20:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:39:6f:a3:20", "endpoint_id": 1, "available": true, @@ -1007,22 +727,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:39:6f:a3:20:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:a3:20", "endpoint_id": 1, "available": true, @@ -1053,22 +757,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:39:6f:a3:20:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:a3:20", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-dwcarsat-ts0601.json b/tests/data/devices/tze204-dwcarsat-ts0601.json index a0fd28419..c40723233 100644 --- a/tests/data/devices/tze204-dwcarsat-ts0601.json +++ b/tests/data/devices/tze204-dwcarsat-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:09:0a:75:a0", "nwk": "0x1397", "manufacturer": "_TZE204_dwcarsat", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -90,6 +94,7 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -102,6 +107,7 @@ { "cluster_id": "0x040d", "endpoint_attribute": "carbon_dioxide_concentration", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -114,6 +120,7 @@ { "cluster_id": "0x042a", "endpoint_attribute": "pm25", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -126,6 +133,7 @@ { "cluster_id": "0x042b", "endpoint_attribute": "formaldehyde_concentration", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -138,6 +146,7 @@ { "cluster_id": "0x042e", "endpoint_attribute": "voc_level", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -150,6 +159,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -157,11 +167,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -184,6 +196,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -255,22 +268,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:09:0a:75:a0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:09:0a:75:a0", "endpoint_id": 1, "available": true, @@ -299,22 +296,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:09:0a:75:a0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:09:0a:75:a0", "endpoint_id": 1, "available": true, @@ -343,22 +324,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:09:0a:75:a0:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:09:0a:75:a0", "endpoint_id": 1, "available": true, @@ -387,22 +352,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:09:0a:75:a0:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:09:0a:75:a0", "endpoint_id": 1, "available": true, @@ -431,22 +380,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "CarbonDioxideConcentrationClusterHandler", - "generic_id": "cluster_handler_0x040d", - "endpoint_id": 1, - "cluster": { - "id": 1037, - "name": "Carbon Dioxide (CO\u2082) Concentration", - "type": "server" - }, - "id": "1:0x040d", - "unique_id": "ab:cd:ef:12:09:0a:75:a0:1:0x040d", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:09:0a:75:a0", "endpoint_id": 1, "available": true, @@ -475,22 +408,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PM25ClusterHandler", - "generic_id": "cluster_handler_0x042a", - "endpoint_id": 1, - "cluster": { - "id": 1066, - "name": "PM2.5", - "type": "server" - }, - "id": "1:0x042a", - "unique_id": "ab:cd:ef:12:09:0a:75:a0:1:0x042a", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:09:0a:75:a0", "endpoint_id": 1, "available": true, @@ -519,22 +436,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "FormaldehydeConcentrationClusterHandler", - "generic_id": "cluster_handler_0x042b", - "endpoint_id": 1, - "cluster": { - "id": 1067, - "name": "Formaldehyde Concentration", - "type": "server" - }, - "id": "1:0x042b", - "unique_id": "ab:cd:ef:12:09:0a:75:a0:1:0x042b", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:09:0a:75:a0", "endpoint_id": 1, "available": true, @@ -563,22 +464,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0x042e", - "endpoint_id": 1, - "cluster": { - "id": 1070, - "name": "VOC Level", - "type": "server" - }, - "id": "1:0x042e", - "unique_id": "ab:cd:ef:12:09:0a:75:a0:1:0x042e", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:09:0a:75:a0", "endpoint_id": 1, "available": true, @@ -609,22 +494,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:09:0a:75:a0:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:09:0a:75:a0", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-eekpf0ft-ts0601.json b/tests/data/devices/tze204-eekpf0ft-ts0601.json index e3a90a840..8fb5af097 100644 --- a/tests/data/devices/tze204-eekpf0ft-ts0601.json +++ b/tests/data/devices/tze204-eekpf0ft-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:1f:0c:bc:56", "nwk": "0x0C04", "manufacturer": "_TZE204_eekpf0ft", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -92,16 +93,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -109,11 +113,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -178,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1f:0c:bc:56:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1f:0c:bc:56", "endpoint_id": 1, "available": true, @@ -222,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1f:0c:bc:56:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1f:0c:bc:56", "endpoint_id": 1, "available": true, @@ -268,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:1f:0c:bc:56:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1f:0c:bc:56", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-ex3rcdha-ts0601.json b/tests/data/devices/tze204-ex3rcdha-ts0601.json index 8f5e1327c..dfe37f7c6 100644 --- a/tests/data/devices/tze204-ex3rcdha-ts0601.json +++ b/tests/data/devices/tze204-ex3rcdha-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d9:08:34:09", "nwk": "0x244A", "manufacturer": "_TZE204_ex3rcdha", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -96,6 +100,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -126,6 +131,7 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -144,6 +150,7 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -156,6 +163,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -170,11 +178,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -196,6 +206,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -242,6 +253,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -288,6 +300,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -340,6 +353,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -387,6 +401,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -488,22 +503,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:d9:08:34:09:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:d9:08:34:09", "endpoint_id": 1, "available": true, @@ -533,22 +532,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 1, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "1:0x000d", - "unique_id": "ab:cd:ef:12:d9:08:34:09:1:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:d9:08:34:09", "endpoint_id": 1, "available": true, @@ -580,22 +563,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d9:08:34:09:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:08:34:09", "endpoint_id": 1, "available": true, @@ -627,22 +594,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d9:08:34:09:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:08:34:09", "endpoint_id": 1, "available": true, @@ -674,22 +625,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d9:08:34:09:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:08:34:09", "endpoint_id": 1, "available": true, @@ -721,22 +656,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d9:08:34:09:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:08:34:09", "endpoint_id": 1, "available": true, @@ -768,22 +687,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d9:08:34:09:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:08:34:09", "endpoint_id": 1, "available": true, @@ -815,22 +718,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d9:08:34:09:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:08:34:09", "endpoint_id": 1, "available": true, @@ -862,22 +749,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d9:08:34:09:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:08:34:09", "endpoint_id": 1, "available": true, @@ -909,22 +780,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 2, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "2:0x000d", - "unique_id": "ab:cd:ef:12:d9:08:34:09:2:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:d9:08:34:09", "endpoint_id": 2, "available": true, @@ -956,22 +811,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 3, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "3:0x000d", - "unique_id": "ab:cd:ef:12:d9:08:34:09:3:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:d9:08:34:09", "endpoint_id": 3, "available": true, @@ -1003,22 +842,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 4, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "4:0x000d", - "unique_id": "ab:cd:ef:12:d9:08:34:09:4:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:d9:08:34:09", "endpoint_id": 4, "available": true, @@ -1050,22 +873,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 5, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "5:0x000d", - "unique_id": "ab:cd:ef:12:d9:08:34:09:5:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:d9:08:34:09", "endpoint_id": 5, "available": true, @@ -1099,22 +906,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d9:08:34:09:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:08:34:09", "endpoint_id": 1, "available": true, @@ -1143,22 +934,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d9:08:34:09:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:08:34:09", "endpoint_id": 1, "available": true, @@ -1187,22 +962,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogInputClusterHandler", - "generic_id": "cluster_handler_0x000c", - "endpoint_id": 1, - "cluster": { - "id": 12, - "name": "AnalogInput", - "type": "server" - }, - "id": "1:0x000c", - "unique_id": "ab:cd:ef:12:d9:08:34:09:1:0x000c", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:d9:08:34:09", "endpoint_id": 1, "available": true, @@ -1233,22 +992,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d9:08:34:09:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:08:34:09", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-fhvdgeuh-ts0601.json b/tests/data/devices/tze204-fhvdgeuh-ts0601.json index 6a73290a3..24616f52e 100644 --- a/tests/data/devices/tze204-fhvdgeuh-ts0601.json +++ b/tests/data/devices/tze204-fhvdgeuh-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:93:4b:fc:2f", "nwk": "0xA181", "manufacturer": "_TZE204_fhvdgeuh", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:93:4b:fc:2f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:93:4b:fc:2f", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:93:4b:fc:2f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:93:4b:fc:2f", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:93:4b:fc:2f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:93:4b:fc:2f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-g2ki0ejr-ts0601.json b/tests/data/devices/tze204-g2ki0ejr-ts0601.json index f105fb325..e01cf98a2 100644 --- a/tests/data/devices/tze204-g2ki0ejr-ts0601.json +++ b/tests/data/devices/tze204-g2ki0ejr-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:47:a5:c0:28", "nwk": "0xA335", "manufacturer": "_TZE204_g2ki0ejr", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -79,11 +83,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -141,22 +147,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:47:a5:c0:28:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:47:a5:c0:28", "endpoint_id": 1, "available": true, @@ -185,22 +175,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:47:a5:c0:28:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:47:a5:c0:28", "endpoint_id": 1, "available": true, @@ -231,22 +205,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:47:a5:c0:28:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:47:a5:c0:28", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-goecjd1t-ts0601.json b/tests/data/devices/tze204-goecjd1t-ts0601.json index b9e49b78e..6e0adb9ce 100644 --- a/tests/data/devices/tze204-goecjd1t-ts0601.json +++ b/tests/data/devices/tze204-goecjd1t-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:87:3c:45:da", "nwk": "0x912E", "manufacturer": "_TZE204_goecjd1t", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:87:3c:45:da:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:87:3c:45:da", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:87:3c:45:da:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:87:3c:45:da", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:87:3c:45:da:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:87:3c:45:da", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-gops3slb-ts0601.json b/tests/data/devices/tze204-gops3slb-ts0601.json index 59b814d94..dcd6bf3ad 100644 --- a/tests/data/devices/tze204-gops3slb-ts0601.json +++ b/tests/data/devices/tze204-gops3slb-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:72:cf:0d:25", "nwk": "0xC569", "manufacturer": "_TZE204_gops3slb", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001b", @@ -144,6 +148,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -151,11 +156,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -178,6 +185,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -244,22 +252,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:72:cf:0d:25:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:cf:0d:25", "endpoint_id": 1, "available": true, @@ -289,22 +281,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:72:cf:0d:25:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:72:cf:0d:25", "endpoint_id": 1, "available": true, @@ -368,22 +344,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:72:cf:0d:25:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:72:cf:0d:25", "endpoint_id": 1, "available": true, @@ -415,22 +375,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:72:cf:0d:25:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:cf:0d:25", "endpoint_id": 1, "available": true, @@ -462,22 +406,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:72:cf:0d:25:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:cf:0d:25", "endpoint_id": 1, "available": true, @@ -511,22 +439,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:72:cf:0d:25:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:cf:0d:25", "endpoint_id": 1, "available": true, @@ -560,22 +472,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:72:cf:0d:25:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:cf:0d:25", "endpoint_id": 1, "available": true, @@ -608,22 +504,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:72:cf:0d:25:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:cf:0d:25", "endpoint_id": 1, "available": true, @@ -656,22 +536,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:72:cf:0d:25:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:cf:0d:25", "endpoint_id": 1, "available": true, @@ -707,22 +571,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:72:cf:0d:25:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:cf:0d:25", "endpoint_id": 1, "available": true, @@ -751,22 +599,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:72:cf:0d:25:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:cf:0d:25", "endpoint_id": 1, "available": true, @@ -795,22 +627,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:72:cf:0d:25:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:72:cf:0d:25", "endpoint_id": 1, "available": true, @@ -841,22 +657,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:72:cf:0d:25:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:cf:0d:25", "endpoint_id": 1, "available": true, @@ -889,22 +689,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:72:cf:0d:25:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:cf:0d:25", "endpoint_id": 1, "available": true, @@ -937,22 +721,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:72:cf:0d:25:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:cf:0d:25", "endpoint_id": 1, "available": true, @@ -987,22 +755,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:72:cf:0d:25:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:72:cf:0d:25", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-guvc7pdy-ts0601.json b/tests/data/devices/tze204-guvc7pdy-ts0601.json index a827b12e1..8d950b3b7 100644 --- a/tests/data/devices/tze204-guvc7pdy-ts0601.json +++ b/tests/data/devices/tze204-guvc7pdy-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d4:fe:8a:21", "nwk": "0xC208", "manufacturer": "_TZE204_guvc7pdy", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -89,13 +93,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -138,6 +154,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -145,11 +162,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -172,6 +191,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -238,22 +258,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:d4:fe:8a:21:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:d4:fe:8a:21", "endpoint_id": 1, "available": true, @@ -288,22 +292,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d4:fe:8a:21:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d4:fe:8a:21", "endpoint_id": 1, "available": true, @@ -332,22 +320,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d4:fe:8a:21:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d4:fe:8a:21", "endpoint_id": 1, "available": true, @@ -378,22 +350,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d4:fe:8a:21:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d4:fe:8a:21", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-hlx9tnzb-ts0601.json b/tests/data/devices/tze204-hlx9tnzb-ts0601.json index 7d050ec6a..fce93d825 100644 --- a/tests/data/devices/tze204-hlx9tnzb-ts0601.json +++ b/tests/data/devices/tze204-hlx9tnzb-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:15:a1:f1:a8", "nwk": "0x9FE6", "manufacturer": "_TZE204_hlx9tnzb", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -56,16 +57,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -77,7 +81,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -96,18 +106,26 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 2 + "value": 2, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -115,11 +133,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0007", @@ -142,6 +162,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -209,36 +230,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:15:a1:f1:a8:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:15:a1:f1:a8:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:15:a1:f1:a8", "endpoint_id": 1, "available": true, @@ -292,22 +283,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:15:a1:f1:a8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:15:a1:f1:a8", "endpoint_id": 1, "available": true, @@ -336,22 +311,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:15:a1:f1:a8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:15:a1:f1:a8", "endpoint_id": 1, "available": true, @@ -382,22 +341,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:15:a1:f1:a8:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:15:a1:f1:a8", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-iaeejhvf-ts0601.json b/tests/data/devices/tze204-iaeejhvf-ts0601.json index 3eb7620cb..20317a17b 100644 --- a/tests/data/devices/tze204-iaeejhvf-ts0601.json +++ b/tests/data/devices/tze204-iaeejhvf-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:52:88:1c:b0", "nwk": "0x51C6", "manufacturer": "_TZE204_iaeejhvf", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -102,6 +106,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -138,6 +143,7 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -156,6 +162,7 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -168,6 +175,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -182,11 +190,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -208,6 +218,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -260,6 +271,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -312,6 +324,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -364,6 +377,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -417,6 +431,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -518,22 +533,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -563,22 +562,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 1, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "1:0x000d", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -610,22 +593,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -657,22 +624,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -704,22 +655,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -751,22 +686,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -798,22 +717,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -845,22 +748,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -892,22 +779,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -939,22 +810,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -986,22 +841,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -1033,22 +872,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 2, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "2:0x000d", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:2:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 2, "available": true, @@ -1080,22 +903,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 3, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "3:0x000d", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:3:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 3, "available": true, @@ -1127,22 +934,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 4, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "4:0x000d", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:4:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 4, "available": true, @@ -1174,22 +965,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 5, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "5:0x000d", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:5:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 5, "available": true, @@ -1223,22 +998,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -1270,22 +1029,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -1317,22 +1060,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -1364,22 +1091,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -1413,22 +1124,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -1462,22 +1157,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -1506,22 +1185,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -1550,22 +1213,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -1594,22 +1241,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogInputClusterHandler", - "generic_id": "cluster_handler_0x000c", - "endpoint_id": 1, - "cluster": { - "id": 12, - "name": "AnalogInput", - "type": "server" - }, - "id": "1:0x000c", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0x000c", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -1638,22 +1269,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, @@ -1684,22 +1299,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:52:88:1c:b0:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:52:88:1c:b0", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-ijxvkhd0-ts0601.json b/tests/data/devices/tze204-ijxvkhd0-ts0601.json index a5350eb14..de181dc57 100644 --- a/tests/data/devices/tze204-ijxvkhd0-ts0601.json +++ b/tests/data/devices/tze204-ijxvkhd0-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:78:4c:6e:1d", "nwk": "0xA7C0", "manufacturer": "_TZE204_ijxvkhd0", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -105,6 +111,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -170,22 +177,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:78:4c:6e:1d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:78:4c:6e:1d", "endpoint_id": 1, "available": true, @@ -214,22 +205,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:78:4c:6e:1d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:78:4c:6e:1d", "endpoint_id": 1, "available": true, @@ -260,22 +235,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:78:4c:6e:1d:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:78:4c:6e:1d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-jrcfsaa3-ts0601.json b/tests/data/devices/tze204-jrcfsaa3-ts0601.json index be3bcfb3f..2f1d58ed4 100644 --- a/tests/data/devices/tze204-jrcfsaa3-ts0601.json +++ b/tests/data/devices/tze204-jrcfsaa3-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:92:85:7f:ad", "nwk": "0xEA6C", "manufacturer": "_TZE204_jrcfsaa3", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:92:85:7f:ad:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:92:85:7f:ad", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:92:85:7f:ad:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:92:85:7f:ad", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:92:85:7f:ad:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:92:85:7f:ad", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-k7mfgaen-ts0601.json b/tests/data/devices/tze204-k7mfgaen-ts0601.json index 88596f3d6..ac510af8e 100644 --- a/tests/data/devices/tze204-k7mfgaen-ts0601.json +++ b/tests/data/devices/tze204-k7mfgaen-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:1d:f6:05:38", "nwk": "0xE3FC", "manufacturer": "_TZE204_k7mfgaen", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -74,6 +75,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -98,16 +100,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -115,6 +120,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0007", @@ -127,6 +133,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -142,6 +149,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -208,22 +216,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1d:f6:05:38:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1d:f6:05:38", "endpoint_id": 1, "available": true, @@ -253,22 +245,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1d:f6:05:38:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1d:f6:05:38", "endpoint_id": 1, "available": true, @@ -302,22 +278,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1d:f6:05:38:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1d:f6:05:38", "endpoint_id": 1, "available": true, @@ -351,22 +311,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1d:f6:05:38:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1d:f6:05:38", "endpoint_id": 1, "available": true, @@ -409,22 +353,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1d:f6:05:38:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1d:f6:05:38", "endpoint_id": 1, "available": true, @@ -460,22 +388,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1d:f6:05:38:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1d:f6:05:38", "endpoint_id": 1, "available": true, @@ -504,22 +416,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1d:f6:05:38:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1d:f6:05:38", "endpoint_id": 1, "available": true, @@ -550,22 +446,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1d:f6:05:38:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1d:f6:05:38", "endpoint_id": 1, "available": true, @@ -600,22 +480,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:1d:f6:05:38:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1d:f6:05:38", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-kobbcyum-ts0601.json b/tests/data/devices/tze204-kobbcyum-ts0601.json index 0a4066f5f..046a4173e 100644 --- a/tests/data/devices/tze204-kobbcyum-ts0601.json +++ b/tests/data/devices/tze204-kobbcyum-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:5e:76:55:79", "nwk": "0x5CDE", "manufacturer": "_TZE204_kobbcyum", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -110,6 +111,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -122,11 +124,13 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -134,6 +138,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0007", @@ -146,6 +151,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -210,22 +216,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5e:76:55:79:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5e:76:55:79", "endpoint_id": 1, "available": true, @@ -254,22 +244,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5e:76:55:79:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5e:76:55:79", "endpoint_id": 1, "available": true, @@ -300,22 +274,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:5e:76:55:79:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5e:76:55:79", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-kyhbrfyl-ts0601.json b/tests/data/devices/tze204-kyhbrfyl-ts0601.json index 71fbf30ca..99fa06177 100644 --- a/tests/data/devices/tze204-kyhbrfyl-ts0601.json +++ b/tests/data/devices/tze204-kyhbrfyl-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:8d:c7:bc:8a", "nwk": "0x743E", "manufacturer": "_TZE204_kyhbrfyl", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -90,6 +94,7 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -102,6 +107,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -116,11 +122,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -180,22 +188,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:8d:c7:bc:8a:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:8d:c7:bc:8a", "endpoint_id": 1, "available": true, @@ -225,22 +217,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8d:c7:bc:8a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:c7:bc:8a", "endpoint_id": 1, "available": true, @@ -272,22 +248,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8d:c7:bc:8a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:c7:bc:8a", "endpoint_id": 1, "available": true, @@ -319,22 +279,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8d:c7:bc:8a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:c7:bc:8a", "endpoint_id": 1, "available": true, @@ -366,22 +310,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8d:c7:bc:8a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:c7:bc:8a", "endpoint_id": 1, "available": true, @@ -415,22 +343,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8d:c7:bc:8a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:c7:bc:8a", "endpoint_id": 1, "available": true, @@ -459,22 +371,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8d:c7:bc:8a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:c7:bc:8a", "endpoint_id": 1, "available": true, @@ -503,22 +399,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8d:c7:bc:8a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:c7:bc:8a", "endpoint_id": 1, "available": true, @@ -547,22 +427,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8d:c7:bc:8a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:c7:bc:8a", "endpoint_id": 1, "available": true, @@ -593,22 +457,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:8d:c7:bc:8a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8d:c7:bc:8a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-l8xiyymq-ts0601.json b/tests/data/devices/tze204-l8xiyymq-ts0601.json index 28dd10473..54daa1381 100644 --- a/tests/data/devices/tze204-l8xiyymq-ts0601.json +++ b/tests/data/devices/tze204-l8xiyymq-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:1e:f8:60:0e", "nwk": "0xD8D5", "manufacturer": "_TZE204_l8xiyymq", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,11 +87,13 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -103,6 +106,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -110,11 +114,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -179,22 +185,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1e:f8:60:0e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1e:f8:60:0e", "endpoint_id": 1, "available": true, @@ -223,22 +213,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1e:f8:60:0e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1e:f8:60:0e", "endpoint_id": 1, "available": true, @@ -269,22 +243,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:1e:f8:60:0e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1e:f8:60:0e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-lb0fsvba-ts0601.json b/tests/data/devices/tze204-lb0fsvba-ts0601.json index 04653e6f0..72f467c35 100644 --- a/tests/data/devices/tze204-lb0fsvba-ts0601.json +++ b/tests/data/devices/tze204-lb0fsvba-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a6:30:4a:e7", "nwk": "0xD20C", "manufacturer": "_TZE204_lb0fsvba", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a6:30:4a:e7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a6:30:4a:e7", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a6:30:4a:e7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a6:30:4a:e7", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a6:30:4a:e7:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a6:30:4a:e7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-lbbg34rj-ts0601.json b/tests/data/devices/tze204-lbbg34rj-ts0601.json index cc7cc91b9..32ab60db3 100644 --- a/tests/data/devices/tze204-lbbg34rj-ts0601.json +++ b/tests/data/devices/tze204-lbbg34rj-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:4e:2f:91:65", "nwk": "0xF0EE", "manufacturer": "_TZE204_lbbg34rj", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4e:2f:91:65:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:2f:91:65", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4e:2f:91:65:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:2f:91:65", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:4e:2f:91:65:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:2f:91:65", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-lpedvtvr-ts0601.json b/tests/data/devices/tze204-lpedvtvr-ts0601.json index f2b62832f..9d47a3f33 100644 --- a/tests/data/devices/tze204-lpedvtvr-ts0601.json +++ b/tests/data/devices/tze204-lpedvtvr-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:3b:28:22:86", "nwk": "0xA88C", "manufacturer": "_TZE204_lpedvtvr", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -113,7 +117,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2150 + "value": 2150, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -149,31 +159,61 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2000 + "value": 2000, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0025", @@ -185,13 +225,25 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -203,25 +255,44 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 1 + "value": 1, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -234,6 +305,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -241,11 +313,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -268,6 +342,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -335,22 +410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:3b:28:22:86:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:3b:28:22:86", "endpoint_id": 1, "available": true, @@ -414,22 +473,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:3b:28:22:86:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3b:28:22:86", "endpoint_id": 1, "available": true, @@ -466,22 +509,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3b:28:22:86:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3b:28:22:86", "endpoint_id": 1, "available": true, @@ -510,22 +537,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3b:28:22:86:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3b:28:22:86", "endpoint_id": 1, "available": true, @@ -554,22 +565,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:3b:28:22:86:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:3b:28:22:86", "endpoint_id": 1, "available": true, @@ -598,22 +593,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:3b:28:22:86:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:3b:28:22:86", "endpoint_id": 1, "available": true, @@ -644,22 +623,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:3b:28:22:86:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3b:28:22:86", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-lsanae15-ts0601.json b/tests/data/devices/tze204-lsanae15-ts0601.json index 0543cd8fb..c35a891ac 100644 --- a/tests/data/devices/tze204-lsanae15-ts0601.json +++ b/tests/data/devices/tze204-lsanae15-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:71:3e:33:41", "nwk": "0xF465", "manufacturer": "_TZE204_lsanae15", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:71:3e:33:41:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:71:3e:33:41", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:71:3e:33:41:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:71:3e:33:41", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:71:3e:33:41:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:71:3e:33:41", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-ltwbm23f-ts0601.json b/tests/data/devices/tze204-ltwbm23f-ts0601.json index 36bfeedcc..da63d911a 100644 --- a/tests/data/devices/tze204-ltwbm23f-ts0601.json +++ b/tests/data/devices/tze204-ltwbm23f-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:1b:1e:95:0a", "nwk": "0x616B", "manufacturer": "_TZE204_ltwbm23f", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -92,16 +94,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -180,6 +185,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef77", @@ -212,11 +218,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -283,22 +291,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, @@ -328,22 +320,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, @@ -407,22 +383,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, @@ -454,22 +414,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, @@ -501,22 +445,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, @@ -548,22 +476,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, @@ -595,22 +507,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, @@ -642,22 +538,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, @@ -691,22 +571,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, @@ -739,22 +603,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, @@ -786,22 +634,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, @@ -833,22 +665,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, @@ -881,22 +697,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, @@ -932,22 +732,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, @@ -976,22 +760,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, @@ -1020,22 +788,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, @@ -1071,22 +823,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, @@ -1115,22 +851,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, @@ -1161,22 +881,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, @@ -1209,22 +913,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, @@ -1259,22 +947,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:1b:1e:95:0a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:1b:1e:95:0a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-lzriup1j-ts0601.json b/tests/data/devices/tze204-lzriup1j-ts0601.json index 7684e11f0..1dbd6cd1e 100644 --- a/tests/data/devices/tze204-lzriup1j-ts0601.json +++ b/tests/data/devices/tze204-lzriup1j-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e0:67:39:b1", "nwk": "0xCA3E", "manufacturer": "_TZE204_lzriup1j", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001b", @@ -114,6 +118,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -121,11 +126,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -141,6 +148,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -207,22 +215,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:e0:67:39:b1:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:67:39:b1", "endpoint_id": 1, "available": true, @@ -252,22 +244,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e0:67:39:b1:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e0:67:39:b1", "endpoint_id": 1, "available": true, @@ -331,22 +307,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:e0:67:39:b1:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:67:39:b1", "endpoint_id": 1, "available": true, @@ -378,22 +338,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:e0:67:39:b1:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:67:39:b1", "endpoint_id": 1, "available": true, @@ -427,22 +371,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:e0:67:39:b1:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:67:39:b1", "endpoint_id": 1, "available": true, @@ -476,22 +404,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:e0:67:39:b1:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:67:39:b1", "endpoint_id": 1, "available": true, @@ -524,22 +436,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:e0:67:39:b1:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:67:39:b1", "endpoint_id": 1, "available": true, @@ -572,22 +468,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:e0:67:39:b1:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:67:39:b1", "endpoint_id": 1, "available": true, @@ -623,22 +503,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e0:67:39:b1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:67:39:b1", "endpoint_id": 1, "available": true, @@ -667,22 +531,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e0:67:39:b1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:67:39:b1", "endpoint_id": 1, "available": true, @@ -711,22 +559,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e0:67:39:b1:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e0:67:39:b1", "endpoint_id": 1, "available": true, @@ -757,22 +589,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:e0:67:39:b1:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:67:39:b1", "endpoint_id": 1, "available": true, @@ -805,22 +621,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:e0:67:39:b1:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:67:39:b1", "endpoint_id": 1, "available": true, @@ -853,22 +653,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:e0:67:39:b1:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:67:39:b1", "endpoint_id": 1, "available": true, @@ -903,22 +687,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e0:67:39:b1:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e0:67:39:b1", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-m64smti7-ts0601.json b/tests/data/devices/tze204-m64smti7-ts0601.json index b618d376e..c85306af0 100644 --- a/tests/data/devices/tze204-m64smti7-ts0601.json +++ b/tests/data/devices/tze204-m64smti7-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:34:4e:33:23", "nwk": "0x4CBF", "manufacturer": "_TZE204_m64smti7", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:34:4e:33:23:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:34:4e:33:23", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:34:4e:33:23:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:34:4e:33:23", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:34:4e:33:23:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:34:4e:33:23", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-m9dzckna-ts0601.json b/tests/data/devices/tze204-m9dzckna-ts0601.json index cb8aca90f..24ebe2f73 100644 --- a/tests/data/devices/tze204-m9dzckna-ts0601.json +++ b/tests/data/devices/tze204-m9dzckna-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:69:e0:45:b0", "nwk": "0x3990", "manufacturer": "_TZE204_m9dzckna", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:69:e0:45:b0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:69:e0:45:b0", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:69:e0:45:b0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:69:e0:45:b0", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:69:e0:45:b0:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:69:e0:45:b0", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-mpbki2zm-ts0601.json b/tests/data/devices/tze204-mpbki2zm-ts0601.json index b43f93398..c7c05bec4 100644 --- a/tests/data/devices/tze204-mpbki2zm-ts0601.json +++ b/tests/data/devices/tze204-mpbki2zm-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:fd:bc:e2:8f", "nwk": "0x32D0", "manufacturer": "_TZE204_mpbki2zm", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -105,6 +111,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -170,22 +177,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fd:bc:e2:8f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fd:bc:e2:8f", "endpoint_id": 1, "available": true, @@ -214,22 +205,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fd:bc:e2:8f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fd:bc:e2:8f", "endpoint_id": 1, "available": true, @@ -260,22 +235,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:fd:bc:e2:8f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fd:bc:e2:8f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-mtoaryre-ts0601.json b/tests/data/devices/tze204-mtoaryre-ts0601.json index 6b20156ee..85bb835f8 100644 --- a/tests/data/devices/tze204-mtoaryre-ts0601.json +++ b/tests/data/devices/tze204-mtoaryre-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:de:e2:3f:ea", "nwk": "0xD473", "manufacturer": "_TZE204_mtoaryre", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -90,11 +94,13 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -102,11 +108,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -129,6 +137,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -196,22 +205,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:de:e2:3f:ea:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:de:e2:3f:ea", "endpoint_id": 1, "available": true, @@ -241,22 +234,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:de:e2:3f:ea:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:de:e2:3f:ea", "endpoint_id": 1, "available": true, @@ -288,22 +265,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:de:e2:3f:ea:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:de:e2:3f:ea", "endpoint_id": 1, "available": true, @@ -335,22 +296,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:de:e2:3f:ea:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:de:e2:3f:ea", "endpoint_id": 1, "available": true, @@ -382,22 +327,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:de:e2:3f:ea:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:de:e2:3f:ea", "endpoint_id": 1, "available": true, @@ -429,22 +358,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:de:e2:3f:ea:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:de:e2:3f:ea", "endpoint_id": 1, "available": true, @@ -476,22 +389,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:de:e2:3f:ea:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:de:e2:3f:ea", "endpoint_id": 1, "available": true, @@ -523,22 +420,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:de:e2:3f:ea:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:de:e2:3f:ea", "endpoint_id": 1, "available": true, @@ -570,22 +451,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:de:e2:3f:ea:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:de:e2:3f:ea", "endpoint_id": 1, "available": true, @@ -617,22 +482,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:de:e2:3f:ea:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:de:e2:3f:ea", "endpoint_id": 1, "available": true, @@ -666,22 +515,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:de:e2:3f:ea:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:de:e2:3f:ea", "endpoint_id": 1, "available": true, @@ -713,22 +546,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:de:e2:3f:ea:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:de:e2:3f:ea", "endpoint_id": 1, "available": true, @@ -760,22 +577,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:de:e2:3f:ea:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:de:e2:3f:ea", "endpoint_id": 1, "available": true, @@ -807,22 +608,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:de:e2:3f:ea:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:de:e2:3f:ea", "endpoint_id": 1, "available": true, @@ -856,22 +641,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:de:e2:3f:ea:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:de:e2:3f:ea", "endpoint_id": 1, "available": true, @@ -905,22 +674,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:de:e2:3f:ea:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:de:e2:3f:ea", "endpoint_id": 1, "available": true, @@ -949,22 +702,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:de:e2:3f:ea:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:de:e2:3f:ea", "endpoint_id": 1, "available": true, @@ -993,22 +730,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:de:e2:3f:ea:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:de:e2:3f:ea", "endpoint_id": 1, "available": true, @@ -1037,22 +758,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:de:e2:3f:ea:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:de:e2:3f:ea", "endpoint_id": 1, "available": true, @@ -1083,22 +788,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:de:e2:3f:ea:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:de:e2:3f:ea", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-muvkrjr5-ts0601.json b/tests/data/devices/tze204-muvkrjr5-ts0601.json index 26e3acd09..950fd78fb 100644 --- a/tests/data/devices/tze204-muvkrjr5-ts0601.json +++ b/tests/data/devices/tze204-muvkrjr5-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d6:86:58:4b", "nwk": "0xB905", "manufacturer": "_TZE204_muvkrjr5", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -110,6 +117,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -176,22 +184,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:d6:86:58:4b:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:d6:86:58:4b", "endpoint_id": 1, "available": true, @@ -219,22 +211,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d6:86:58:4b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d6:86:58:4b", "endpoint_id": 1, "available": true, @@ -264,22 +240,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d6:86:58:4b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d6:86:58:4b", "endpoint_id": 1, "available": true, @@ -311,22 +271,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d6:86:58:4b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d6:86:58:4b", "endpoint_id": 1, "available": true, @@ -358,22 +302,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d6:86:58:4b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d6:86:58:4b", "endpoint_id": 1, "available": true, @@ -407,22 +335,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d6:86:58:4b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d6:86:58:4b", "endpoint_id": 1, "available": true, @@ -451,22 +363,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d6:86:58:4b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d6:86:58:4b", "endpoint_id": 1, "available": true, @@ -495,22 +391,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:d6:86:58:4b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d6:86:58:4b", "endpoint_id": 1, "available": true, @@ -541,22 +421,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d6:86:58:4b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d6:86:58:4b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-mwomyz5n-ts0601.json b/tests/data/devices/tze204-mwomyz5n-ts0601.json index 55b2a95a3..551a8767b 100644 --- a/tests/data/devices/tze204-mwomyz5n-ts0601.json +++ b/tests/data/devices/tze204-mwomyz5n-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a2:f0:cd:10", "nwk": "0xE2FD", "manufacturer": "_TZE204_mwomyz5n", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a2:f0:cd:10:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:f0:cd:10", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a2:f0:cd:10:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:f0:cd:10", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a2:f0:cd:10:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:f0:cd:10", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-nbkshs6k-ts0601.json b/tests/data/devices/tze204-nbkshs6k-ts0601.json index e5c75c514..19a7d821f 100644 --- a/tests/data/devices/tze204-nbkshs6k-ts0601.json +++ b/tests/data/devices/tze204-nbkshs6k-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:05:55:11:88", "nwk": "0xA139", "manufacturer": "_TZE204_nbkshs6k", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -79,11 +83,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -106,6 +112,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -171,22 +178,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:05:55:11:88:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:05:55:11:88", "endpoint_id": 1, "available": true, @@ -215,22 +206,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:05:55:11:88:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:05:55:11:88", "endpoint_id": 1, "available": true, @@ -261,22 +236,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:05:55:11:88:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:05:55:11:88", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-nklqjk62-ts0601.json b/tests/data/devices/tze204-nklqjk62-ts0601.json index 4d94569e7..3ddfe9090 100644 --- a/tests/data/devices/tze204-nklqjk62-ts0601.json +++ b/tests/data/devices/tze204-nklqjk62-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:49:b7:13:b6", "nwk": "0xACEF", "manufacturer": "_TZE204_nklqjk62", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -56,16 +57,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -73,11 +77,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -100,6 +106,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -165,22 +172,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:49:b7:13:b6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:49:b7:13:b6", "endpoint_id": 1, "available": true, @@ -209,22 +200,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:49:b7:13:b6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:49:b7:13:b6", "endpoint_id": 1, "available": true, @@ -255,22 +230,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:49:b7:13:b6:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:49:b7:13:b6", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-nlrfgpny-ts0601.json b/tests/data/devices/tze204-nlrfgpny-ts0601.json index 48bf9e523..a78ab34c3 100644 --- a/tests/data/devices/tze204-nlrfgpny-ts0601.json +++ b/tests/data/devices/tze204-nlrfgpny-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:fa:46:b7:f3", "nwk": "0x4E7D", "manufacturer": "_TZE204_nlrfgpny", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -92,6 +94,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -104,6 +107,7 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -122,6 +126,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -134,6 +139,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -148,6 +154,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -160,6 +167,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -182,6 +190,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -249,22 +258,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:fa:46:b7:f3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:46:b7:f3", "endpoint_id": 1, "available": true, @@ -292,22 +285,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:fa:46:b7:f3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:46:b7:f3", "endpoint_id": 1, "available": true, @@ -337,22 +314,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:fa:46:b7:f3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:46:b7:f3", "endpoint_id": 1, "available": true, @@ -386,22 +347,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:fa:46:b7:f3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:46:b7:f3", "endpoint_id": 1, "available": true, @@ -435,22 +380,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:fa:46:b7:f3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:46:b7:f3", "endpoint_id": 1, "available": true, @@ -485,22 +414,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fa:46:b7:f3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:46:b7:f3", "endpoint_id": 1, "available": true, @@ -529,22 +442,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fa:46:b7:f3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:46:b7:f3", "endpoint_id": 1, "available": true, @@ -573,22 +470,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:fa:46:b7:f3:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:fa:46:b7:f3", "endpoint_id": 1, "available": true, @@ -624,22 +505,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:fa:46:b7:f3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:46:b7:f3", "endpoint_id": 1, "available": true, @@ -670,22 +535,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:fa:46:b7:f3:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:fa:46:b7:f3", "endpoint_id": 1, "available": true, @@ -712,22 +561,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:fa:46:b7:f3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:46:b7:f3", "endpoint_id": 1, "available": true, @@ -760,22 +593,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:fa:46:b7:f3:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:46:b7:f3", "endpoint_id": 1, "available": true, @@ -810,22 +627,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:fa:46:b7:f3:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fa:46:b7:f3", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-nqqylykc-ts0601.json b/tests/data/devices/tze204-nqqylykc-ts0601.json index f54ef8dfb..c475e4a99 100644 --- a/tests/data/devices/tze204-nqqylykc-ts0601.json +++ b/tests/data/devices/tze204-nqqylykc-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:11:27:8d:66", "nwk": "0x9574", "manufacturer": "_TZE204_nqqylykc", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,22 +69,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -96,11 +106,26 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "current_level", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "SUCCESS", "attributes": [] } ], @@ -108,11 +133,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -135,6 +162,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -200,36 +228,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:11:27:8d:66:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:11:27:8d:66:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:11:27:8d:66", "endpoint_id": 1, "available": true, @@ -283,22 +281,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:11:27:8d:66:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:11:27:8d:66", "endpoint_id": 1, "available": true, @@ -327,22 +309,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:11:27:8d:66:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:11:27:8d:66", "endpoint_id": 1, "available": true, @@ -373,22 +339,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:11:27:8d:66:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:11:27:8d:66", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-nvxorhcj-ts0601.json b/tests/data/devices/tze204-nvxorhcj-ts0601.json index 3d3aeb060..73f8d0e3d 100644 --- a/tests/data/devices/tze204-nvxorhcj-ts0601.json +++ b/tests/data/devices/tze204-nvxorhcj-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:86:22:d1:17", "nwk": "0x8960", "manufacturer": "_TZE204_nvxorhcj", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:86:22:d1:17:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:86:22:d1:17", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:86:22:d1:17:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:86:22:d1:17", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:86:22:d1:17:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:86:22:d1:17", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-ogx8u5z6-ts0601.json b/tests/data/devices/tze204-ogx8u5z6-ts0601.json index e0fa4be7c..4c88110cc 100644 --- a/tests/data/devices/tze204-ogx8u5z6-ts0601.json +++ b/tests/data/devices/tze204-ogx8u5z6-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:0a:e8:8b:9f", "nwk": "0x36A6", "manufacturer": "_TZE204_ogx8u5z6", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -138,6 +142,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -145,11 +150,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -215,22 +222,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:0a:e8:8b:9f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0a:e8:8b:9f", "endpoint_id": 1, "available": true, @@ -260,22 +251,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:0a:e8:8b:9f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:0a:e8:8b:9f", "endpoint_id": 1, "available": true, @@ -339,22 +314,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:0a:e8:8b:9f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0a:e8:8b:9f", "endpoint_id": 1, "available": true, @@ -388,22 +347,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0a:e8:8b:9f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0a:e8:8b:9f", "endpoint_id": 1, "available": true, @@ -432,22 +375,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0a:e8:8b:9f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0a:e8:8b:9f", "endpoint_id": 1, "available": true, @@ -476,22 +403,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:0a:e8:8b:9f:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:0a:e8:8b:9f", "endpoint_id": 1, "available": true, @@ -522,22 +433,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:0a:e8:8b:9f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0a:e8:8b:9f", "endpoint_id": 1, "available": true, @@ -570,22 +465,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:0a:e8:8b:9f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0a:e8:8b:9f", "endpoint_id": 1, "available": true, @@ -618,22 +497,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:0a:e8:8b:9f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0a:e8:8b:9f", "endpoint_id": 1, "available": true, @@ -668,22 +531,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:0a:e8:8b:9f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0a:e8:8b:9f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-p3lqqy2r-ts0601.json b/tests/data/devices/tze204-p3lqqy2r-ts0601.json index 02c09b121..b54657391 100644 --- a/tests/data/devices/tze204-p3lqqy2r-ts0601.json +++ b/tests/data/devices/tze204-p3lqqy2r-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a0:ed:73:76", "nwk": "0x7A7E", "manufacturer": "_TZE204_p3lqqy2r", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -80,16 +81,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001b", @@ -126,6 +130,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -133,11 +138,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -196,22 +203,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a0:ed:73:76:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a0:ed:73:76", "endpoint_id": 1, "available": true, @@ -241,22 +232,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a0:ed:73:76:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a0:ed:73:76", "endpoint_id": 1, "available": true, @@ -320,22 +295,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a0:ed:73:76:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a0:ed:73:76", "endpoint_id": 1, "available": true, @@ -367,22 +326,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a0:ed:73:76:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a0:ed:73:76", "endpoint_id": 1, "available": true, @@ -416,22 +359,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a0:ed:73:76:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a0:ed:73:76", "endpoint_id": 1, "available": true, @@ -464,22 +391,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a0:ed:73:76:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a0:ed:73:76", "endpoint_id": 1, "available": true, @@ -514,22 +425,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a0:ed:73:76:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a0:ed:73:76", "endpoint_id": 1, "available": true, @@ -562,22 +457,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a0:ed:73:76:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a0:ed:73:76", "endpoint_id": 1, "available": true, @@ -611,22 +490,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a0:ed:73:76:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a0:ed:73:76", "endpoint_id": 1, "available": true, @@ -655,22 +518,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a0:ed:73:76:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a0:ed:73:76", "endpoint_id": 1, "available": true, @@ -699,22 +546,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:a0:ed:73:76:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:a0:ed:73:76", "endpoint_id": 1, "available": true, @@ -743,22 +574,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a0:ed:73:76:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a0:ed:73:76", "endpoint_id": 1, "available": true, @@ -787,22 +602,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a0:ed:73:76:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a0:ed:73:76", "endpoint_id": 1, "available": true, @@ -831,22 +630,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a0:ed:73:76:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a0:ed:73:76", "endpoint_id": 1, "available": true, @@ -875,22 +658,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a0:ed:73:76:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a0:ed:73:76", "endpoint_id": 1, "available": true, @@ -919,22 +686,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a0:ed:73:76:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a0:ed:73:76", "endpoint_id": 1, "available": true, @@ -965,22 +716,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a0:ed:73:76:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a0:ed:73:76", "endpoint_id": 1, "available": true, @@ -1015,22 +750,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a0:ed:73:76:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a0:ed:73:76", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-pcdmj88b-ts0601.json b/tests/data/devices/tze204-pcdmj88b-ts0601.json index eb5279291..e7654b1f3 100644 --- a/tests/data/devices/tze204-pcdmj88b-ts0601.json +++ b/tests/data/devices/tze204-pcdmj88b-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:9d:ba:f4:54", "nwk": "0xAA62", "manufacturer": "_TZE204_pcdmj88b", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -154,22 +160,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:9d:ba:f4:54:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9d:ba:f4:54", "endpoint_id": 1, "available": true, @@ -198,22 +188,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:9d:ba:f4:54:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9d:ba:f4:54", "endpoint_id": 1, "available": true, @@ -244,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:9d:ba:f4:54:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9d:ba:f4:54", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-ptaqh9tk-ts0601.json b/tests/data/devices/tze204-ptaqh9tk-ts0601.json index 000237757..7066c790d 100644 --- a/tests/data/devices/tze204-ptaqh9tk-ts0601.json +++ b/tests/data/devices/tze204-ptaqh9tk-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:dc:de:8e:6f", "nwk": "0xDFBB", "manufacturer": "_TZE204_ptaqh9tk", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,22 +69,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -96,6 +106,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "SUCCESS", "attributes": [] } ], @@ -103,11 +114,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -123,6 +136,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -188,22 +202,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:dc:de:8e:6f:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:dc:de:8e:6f", "endpoint_id": 1, "available": true, @@ -256,22 +254,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:dc:de:8e:6f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:de:8e:6f", "endpoint_id": 1, "available": true, @@ -300,22 +282,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:dc:de:8e:6f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:de:8e:6f", "endpoint_id": 1, "available": true, @@ -346,22 +312,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:dc:de:8e:6f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:dc:de:8e:6f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-pxbjch8m-ts0601.json b/tests/data/devices/tze204-pxbjch8m-ts0601.json index 5339abf11..28c5c0361 100644 --- a/tests/data/devices/tze204-pxbjch8m-ts0601.json +++ b/tests/data/devices/tze204-pxbjch8m-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f5:71:53:6a", "nwk": "0xFDB9", "manufacturer": "_TZE204_pxbjch8m", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f5:71:53:6a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:71:53:6a", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f5:71:53:6a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:71:53:6a", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f5:71:53:6a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:71:53:6a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-qasjif9e-ts0601.json b/tests/data/devices/tze204-qasjif9e-ts0601.json index 8627a7b6f..1f5ca3588 100644 --- a/tests/data/devices/tze204-qasjif9e-ts0601.json +++ b/tests/data/devices/tze204-qasjif9e-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "a4:c1:38:f8:a7:c0:f2:88", "nwk": "0x8BCC", "manufacturer": "_TZE204_qasjif9e", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -96,6 +100,7 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -108,6 +113,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -122,11 +128,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -149,6 +157,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -216,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "a4:c1:38:f8:a7:c0:f2:88:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "a4:c1:38:f8:a7:c0:f2:88", "endpoint_id": 1, "available": true, @@ -261,22 +254,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "a4:c1:38:f8:a7:c0:f2:88:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:f8:a7:c0:f2:88", "endpoint_id": 1, "available": true, @@ -308,22 +285,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "a4:c1:38:f8:a7:c0:f2:88:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:f8:a7:c0:f2:88", "endpoint_id": 1, "available": true, @@ -355,22 +316,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "a4:c1:38:f8:a7:c0:f2:88:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:f8:a7:c0:f2:88", "endpoint_id": 1, "available": true, @@ -402,22 +347,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "a4:c1:38:f8:a7:c0:f2:88:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:f8:a7:c0:f2:88", "endpoint_id": 1, "available": true, @@ -449,22 +378,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "a4:c1:38:f8:a7:c0:f2:88:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:f8:a7:c0:f2:88", "endpoint_id": 1, "available": true, @@ -498,22 +411,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "a4:c1:38:f8:a7:c0:f2:88:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:f8:a7:c0:f2:88", "endpoint_id": 1, "available": true, @@ -542,22 +439,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "a4:c1:38:f8:a7:c0:f2:88:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:f8:a7:c0:f2:88", "endpoint_id": 1, "available": true, @@ -586,22 +467,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "a4:c1:38:f8:a7:c0:f2:88:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "a4:c1:38:f8:a7:c0:f2:88", "endpoint_id": 1, "available": true, @@ -630,22 +495,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "a4:c1:38:f8:a7:c0:f2:88:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:f8:a7:c0:f2:88", "endpoint_id": 1, "available": true, @@ -676,22 +525,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "a4:c1:38:f8:a7:c0:f2:88:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:f8:a7:c0:f2:88", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-qtnjuoae-ts0601.json b/tests/data/devices/tze204-qtnjuoae-ts0601.json index 2d386d530..16b3ba982 100644 --- a/tests/data/devices/tze204-qtnjuoae-ts0601.json +++ b/tests/data/devices/tze204-qtnjuoae-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:65:78:bd:46", "nwk": "0xAEF2", "manufacturer": "_TZE204_qtnjuoae", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -154,22 +160,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:65:78:bd:46:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:65:78:bd:46", "endpoint_id": 1, "available": true, @@ -198,22 +188,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:65:78:bd:46:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:65:78:bd:46", "endpoint_id": 1, "available": true, @@ -244,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:65:78:bd:46:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:65:78:bd:46", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-qvxrkeif-ts0601.json b/tests/data/devices/tze204-qvxrkeif-ts0601.json index 2db41639e..9dd8a688f 100644 --- a/tests/data/devices/tze204-qvxrkeif-ts0601.json +++ b/tests/data/devices/tze204-qvxrkeif-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:64:8d:3f:7f", "nwk": "0x83CF", "manufacturer": "_TZE204_qvxrkeif", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -90,6 +94,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -97,11 +102,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -124,6 +131,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -189,22 +197,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:64:8d:3f:7f:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:64:8d:3f:7f", "endpoint_id": 1, "available": true, @@ -232,22 +224,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:64:8d:3f:7f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:64:8d:3f:7f", "endpoint_id": 1, "available": true, @@ -275,22 +251,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:64:8d:3f:7f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:64:8d:3f:7f", "endpoint_id": 1, "available": true, @@ -318,22 +278,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:64:8d:3f:7f:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:64:8d:3f:7f", "endpoint_id": 1, "available": true, @@ -363,22 +307,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:64:8d:3f:7f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:64:8d:3f:7f", "endpoint_id": 1, "available": true, @@ -407,22 +335,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:64:8d:3f:7f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:64:8d:3f:7f", "endpoint_id": 1, "available": true, @@ -453,22 +365,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:64:8d:3f:7f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:64:8d:3f:7f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-qyr2m29i-ts0601.json b/tests/data/devices/tze204-qyr2m29i-ts0601.json index 83bbdede5..3836bf4f4 100644 --- a/tests/data/devices/tze204-qyr2m29i-ts0601.json +++ b/tests/data/devices/tze204-qyr2m29i-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:8c:9e:5f:db", "nwk": "0xAFEE", "manufacturer": "_TZE204_qyr2m29i", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -92,16 +94,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -162,6 +167,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -169,11 +175,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -240,22 +248,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, @@ -285,22 +277,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, @@ -364,22 +340,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, @@ -411,22 +371,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, @@ -458,22 +402,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, @@ -505,22 +433,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, @@ -552,22 +464,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, @@ -599,22 +495,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, @@ -648,22 +528,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, @@ -696,22 +560,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, @@ -743,22 +591,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, @@ -790,22 +622,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, @@ -838,22 +654,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, @@ -889,22 +689,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, @@ -933,22 +717,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, @@ -977,22 +745,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, @@ -1028,22 +780,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, @@ -1072,22 +808,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, @@ -1118,22 +838,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, @@ -1166,22 +870,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, @@ -1216,22 +904,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:8c:9e:5f:db:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8c:9e:5f:db", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-r32ctezx-ts0601.json b/tests/data/devices/tze204-r32ctezx-ts0601.json index ae00c0546..dd297dd66 100644 --- a/tests/data/devices/tze204-r32ctezx-ts0601.json +++ b/tests/data/devices/tze204-r32ctezx-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:aa:3a:96:23", "nwk": "0xC0F2", "manufacturer": "_TZE204_r32ctezx", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:aa:3a:96:23:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:aa:3a:96:23", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:aa:3a:96:23:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:aa:3a:96:23", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:aa:3a:96:23:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:aa:3a:96:23", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-rhblgy0z-ts0601.json b/tests/data/devices/tze204-rhblgy0z-ts0601.json index 2cce92327..6acf5a02d 100644 --- a/tests/data/devices/tze204-rhblgy0z-ts0601.json +++ b/tests/data/devices/tze204-rhblgy0z-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:01:e4:99:90", "nwk": "0xE180", "manufacturer": "_TZE204_rhblgy0z", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -105,6 +111,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -170,22 +177,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:01:e4:99:90:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:01:e4:99:90", "endpoint_id": 1, "available": true, @@ -214,22 +205,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:01:e4:99:90:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:01:e4:99:90", "endpoint_id": 1, "available": true, @@ -260,22 +235,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:01:e4:99:90:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:01:e4:99:90", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-rtrmfadk-ts0601.json b/tests/data/devices/tze204-rtrmfadk-ts0601.json index dbab4f9c4..1eda53f25 100644 --- a/tests/data/devices/tze204-rtrmfadk-ts0601.json +++ b/tests/data/devices/tze204-rtrmfadk-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:9f:cb:25:01", "nwk": "0x85FF", "manufacturer": "_TZE204_rtrmfadk", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -104,6 +105,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -128,16 +130,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -198,6 +203,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -205,11 +211,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -276,22 +284,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:9f:cb:25:01:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9f:cb:25:01", "endpoint_id": 1, "available": true, @@ -319,22 +311,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:9f:cb:25:01:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9f:cb:25:01", "endpoint_id": 1, "available": true, @@ -364,22 +340,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:9f:cb:25:01:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:9f:cb:25:01", "endpoint_id": 1, "available": true, @@ -443,22 +403,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:9f:cb:25:01:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9f:cb:25:01", "endpoint_id": 1, "available": true, @@ -490,22 +434,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:9f:cb:25:01:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9f:cb:25:01", "endpoint_id": 1, "available": true, @@ -537,22 +465,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:9f:cb:25:01:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9f:cb:25:01", "endpoint_id": 1, "available": true, @@ -586,22 +498,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:9f:cb:25:01:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9f:cb:25:01", "endpoint_id": 1, "available": true, @@ -635,22 +531,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:9f:cb:25:01:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9f:cb:25:01", "endpoint_id": 1, "available": true, @@ -679,22 +559,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:9f:cb:25:01:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9f:cb:25:01", "endpoint_id": 1, "available": true, @@ -723,22 +587,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:9f:cb:25:01:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:9f:cb:25:01", "endpoint_id": 1, "available": true, @@ -774,22 +622,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:9f:cb:25:01:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:9f:cb:25:01", "endpoint_id": 1, "available": true, @@ -820,22 +652,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:9f:cb:25:01:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9f:cb:25:01", "endpoint_id": 1, "available": true, @@ -868,22 +684,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:9f:cb:25:01:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9f:cb:25:01", "endpoint_id": 1, "available": true, @@ -918,22 +718,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:9f:cb:25:01:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:9f:cb:25:01", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-sooucan5-ts0601.json b/tests/data/devices/tze204-sooucan5-ts0601.json index 2770a8ef9..1a52efe08 100644 --- a/tests/data/devices/tze204-sooucan5-ts0601.json +++ b/tests/data/devices/tze204-sooucan5-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:32:23:3b:c2", "nwk": "0xC81B", "manufacturer": "_TZE204_sooucan5", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -90,11 +94,13 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -102,11 +108,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -122,6 +130,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -189,22 +198,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:32:23:3b:c2:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:32:23:3b:c2", "endpoint_id": 1, "available": true, @@ -234,22 +227,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:32:23:3b:c2:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:32:23:3b:c2", "endpoint_id": 1, "available": true, @@ -281,22 +258,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:32:23:3b:c2:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:32:23:3b:c2", "endpoint_id": 1, "available": true, @@ -328,22 +289,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:32:23:3b:c2:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:32:23:3b:c2", "endpoint_id": 1, "available": true, @@ -375,22 +320,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:32:23:3b:c2:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:32:23:3b:c2", "endpoint_id": 1, "available": true, @@ -424,22 +353,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:32:23:3b:c2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:32:23:3b:c2", "endpoint_id": 1, "available": true, @@ -468,22 +381,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:32:23:3b:c2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:32:23:3b:c2", "endpoint_id": 1, "available": true, @@ -512,22 +409,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:32:23:3b:c2:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:32:23:3b:c2", "endpoint_id": 1, "available": true, @@ -556,22 +437,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:32:23:3b:c2:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:32:23:3b:c2", "endpoint_id": 1, "available": true, @@ -600,22 +465,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:32:23:3b:c2:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:32:23:3b:c2", "endpoint_id": 1, "available": true, @@ -646,22 +495,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:32:23:3b:c2:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:32:23:3b:c2", "endpoint_id": 1, "available": true, @@ -696,22 +529,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:32:23:3b:c2:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:32:23:3b:c2", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-srmahpwl-ts0601.json b/tests/data/devices/tze204-srmahpwl-ts0601.json index dee964c24..f1a5f7785 100644 --- a/tests/data/devices/tze204-srmahpwl-ts0601.json +++ b/tests/data/devices/tze204-srmahpwl-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:61:85:0a:53", "nwk": "0x9DC6", "manufacturer": "_TZE204_srmahpwl", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -105,6 +111,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -170,22 +177,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:61:85:0a:53:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:61:85:0a:53", "endpoint_id": 1, "available": true, @@ -214,22 +205,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:61:85:0a:53:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:61:85:0a:53", "endpoint_id": 1, "available": true, @@ -260,22 +235,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:61:85:0a:53:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:61:85:0a:53", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-sxm7l9xa-ts0601.json b/tests/data/devices/tze204-sxm7l9xa-ts0601.json index 14680b255..e4f05bcd8 100644 --- a/tests/data/devices/tze204-sxm7l9xa-ts0601.json +++ b/tests/data/devices/tze204-sxm7l9xa-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:40:cd:6c:6c", "nwk": "0x9205", "manufacturer": "_TZE204_sxm7l9xa", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -84,11 +88,13 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -96,11 +102,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -116,6 +124,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -183,22 +192,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:40:cd:6c:6c:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:40:cd:6c:6c", "endpoint_id": 1, "available": true, @@ -228,22 +221,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:40:cd:6c:6c:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:cd:6c:6c", "endpoint_id": 1, "available": true, @@ -275,22 +252,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:40:cd:6c:6c:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:cd:6c:6c", "endpoint_id": 1, "available": true, @@ -322,22 +283,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:40:cd:6c:6c:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:cd:6c:6c", "endpoint_id": 1, "available": true, @@ -369,22 +314,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:40:cd:6c:6c:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:cd:6c:6c", "endpoint_id": 1, "available": true, @@ -416,22 +345,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:40:cd:6c:6c:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:cd:6c:6c", "endpoint_id": 1, "available": true, @@ -465,22 +378,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:40:cd:6c:6c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:cd:6c:6c", "endpoint_id": 1, "available": true, @@ -509,22 +406,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:40:cd:6c:6c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:cd:6c:6c", "endpoint_id": 1, "available": true, @@ -553,22 +434,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:40:cd:6c:6c:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:40:cd:6c:6c", "endpoint_id": 1, "available": true, @@ -597,22 +462,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:40:cd:6c:6c:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:cd:6c:6c", "endpoint_id": 1, "available": true, @@ -643,22 +492,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:40:cd:6c:6c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:cd:6c:6c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-tagezcph-ts0601.json b/tests/data/devices/tze204-tagezcph-ts0601.json index c08ae6a94..ef1b279e5 100644 --- a/tests/data/devices/tze204-tagezcph-ts0601.json +++ b/tests/data/devices/tze204-tagezcph-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:49:f4:f9:87", "nwk": "0x21D2", "manufacturer": "_TZE204_tagezcph", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:49:f4:f9:87:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:49:f4:f9:87", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:49:f4:f9:87:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:49:f4:f9:87", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:49:f4:f9:87:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:49:f4:f9:87", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-tdhnhhiy-ts0601.json b/tests/data/devices/tze204-tdhnhhiy-ts0601.json index 476d6c51b..8ce181918 100644 --- a/tests/data/devices/tze204-tdhnhhiy-ts0601.json +++ b/tests/data/devices/tze204-tdhnhhiy-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:8b:bc:e1:ff", "nwk": "0x1F4A", "manufacturer": "_TZE204_tdhnhhiy", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8b:bc:e1:ff:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8b:bc:e1:ff", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:8b:bc:e1:ff:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8b:bc:e1:ff", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:8b:bc:e1:ff:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:8b:bc:e1:ff", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-ue3rzddr-ts0601.json b/tests/data/devices/tze204-ue3rzddr-ts0601.json index 1baa0404a..158c04326 100644 --- a/tests/data/devices/tze204-ue3rzddr-ts0601.json +++ b/tests/data/devices/tze204-ue3rzddr-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:cc:a0:21:17", "nwk": "0xDF2C", "manufacturer": "_TZE204_ue3rzddr", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -105,6 +111,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -170,22 +177,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cc:a0:21:17:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cc:a0:21:17", "endpoint_id": 1, "available": true, @@ -214,22 +205,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cc:a0:21:17:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cc:a0:21:17", "endpoint_id": 1, "available": true, @@ -260,22 +235,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:cc:a0:21:17:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cc:a0:21:17", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-upagmta9-ts0601.json b/tests/data/devices/tze204-upagmta9-ts0601.json index 8354825b6..58be0d902 100644 --- a/tests/data/devices/tze204-upagmta9-ts0601.json +++ b/tests/data/devices/tze204-upagmta9-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a2:99:74:4c", "nwk": "0x833E", "manufacturer": "_TZE204_upagmta9", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -86,6 +87,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -110,26 +112,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef09", @@ -150,11 +157,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -215,22 +224,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:a2:99:74:4c:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:99:74:4c", "endpoint_id": 1, "available": true, @@ -264,22 +257,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a2:99:74:4c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:99:74:4c", "endpoint_id": 1, "available": true, @@ -308,22 +285,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a2:99:74:4c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:99:74:4c", "endpoint_id": 1, "available": true, @@ -352,22 +313,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:a2:99:74:4c:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:a2:99:74:4c", "endpoint_id": 1, "available": true, @@ -403,22 +348,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:a2:99:74:4c:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:a2:99:74:4c", "endpoint_id": 1, "available": true, @@ -447,22 +376,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:a2:99:74:4c:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:a2:99:74:4c", "endpoint_id": 1, "available": true, @@ -493,22 +406,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a2:99:74:4c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:99:74:4c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-uxllnywp-ts0601.json b/tests/data/devices/tze204-uxllnywp-ts0601.json index f5a433449..eebb85911 100644 --- a/tests/data/devices/tze204-uxllnywp-ts0601.json +++ b/tests/data/devices/tze204-uxllnywp-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:6f:d4:0b:68", "nwk": "0x9FA1", "manufacturer": "_TZE204_uxllnywp", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -90,11 +94,13 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -102,11 +108,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -129,6 +137,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -196,22 +205,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:6f:d4:0b:68:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:6f:d4:0b:68", "endpoint_id": 1, "available": true, @@ -241,22 +234,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:6f:d4:0b:68:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6f:d4:0b:68", "endpoint_id": 1, "available": true, @@ -288,22 +265,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:6f:d4:0b:68:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6f:d4:0b:68", "endpoint_id": 1, "available": true, @@ -335,22 +296,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:6f:d4:0b:68:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6f:d4:0b:68", "endpoint_id": 1, "available": true, @@ -382,22 +327,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:6f:d4:0b:68:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6f:d4:0b:68", "endpoint_id": 1, "available": true, @@ -431,22 +360,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6f:d4:0b:68:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6f:d4:0b:68", "endpoint_id": 1, "available": true, @@ -475,22 +388,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6f:d4:0b:68:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6f:d4:0b:68", "endpoint_id": 1, "available": true, @@ -519,22 +416,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:6f:d4:0b:68:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:6f:d4:0b:68", "endpoint_id": 1, "available": true, @@ -563,22 +444,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:6f:d4:0b:68:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6f:d4:0b:68", "endpoint_id": 1, "available": true, @@ -609,22 +474,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:6f:d4:0b:68:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6f:d4:0b:68", "endpoint_id": 1, "available": true, @@ -659,22 +508,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:6f:d4:0b:68:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6f:d4:0b:68", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-vjpaih9f-ts0601.json b/tests/data/devices/tze204-vjpaih9f-ts0601.json index 8f79d0be4..62f9597e3 100644 --- a/tests/data/devices/tze204-vjpaih9f-ts0601.json +++ b/tests/data/devices/tze204-vjpaih9f-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:5c:57:ce:53", "nwk": "0x3A30", "manufacturer": "_TZE204_vjpaih9f", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -154,22 +160,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5c:57:ce:53:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5c:57:ce:53", "endpoint_id": 1, "available": true, @@ -198,22 +188,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5c:57:ce:53:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5c:57:ce:53", "endpoint_id": 1, "available": true, @@ -244,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:5c:57:ce:53:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5c:57:ce:53", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-vmcgja59-ts0601.json b/tests/data/devices/tze204-vmcgja59-ts0601.json index dca1aecfa..d6952fa78 100644 --- a/tests/data/devices/tze204-vmcgja59-ts0601.json +++ b/tests/data/devices/tze204-vmcgja59-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:31:d2:60:17", "nwk": "0xA139", "manufacturer": "_TZE204_vmcgja59", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,22 +69,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -96,6 +106,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "SUCCESS", "attributes": [] } ], @@ -103,11 +114,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -122,12 +135,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -150,12 +170,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -178,12 +205,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -206,12 +240,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -234,12 +275,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -262,12 +310,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -290,12 +345,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -318,12 +380,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -346,12 +415,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -374,12 +450,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -402,12 +485,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -430,12 +520,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -458,12 +555,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -486,12 +590,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -514,12 +625,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -543,6 +661,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -608,22 +727,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:31:d2:60:17:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:31:d2:60:17", "endpoint_id": 1, "available": true, @@ -652,22 +755,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:31:d2:60:17:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:31:d2:60:17", "endpoint_id": 1, "available": true, @@ -698,22 +785,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:31:d2:60:17:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:31:d2:60:17", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-w1wwxoja-ts0601.json b/tests/data/devices/tze204-w1wwxoja-ts0601.json index 91f581708..a9aa7bc01 100644 --- a/tests/data/devices/tze204-w1wwxoja-ts0601.json +++ b/tests/data/devices/tze204-w1wwxoja-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b2:ef:fc:86", "nwk": "0xDCD7", "manufacturer": "_TZE204_w1wwxoja", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b2:ef:fc:86:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b2:ef:fc:86", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b2:ef:fc:86:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b2:ef:fc:86", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:b2:ef:fc:86:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b2:ef:fc:86", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-wbhaespm-ts0601.json b/tests/data/devices/tze204-wbhaespm-ts0601.json index 229c8f627..0c9e9f64f 100644 --- a/tests/data/devices/tze204-wbhaespm-ts0601.json +++ b/tests/data/devices/tze204-wbhaespm-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:4f:d5:67:94", "nwk": "0xB19C", "manufacturer": "_TZE204_wbhaespm", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -176,16 +177,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -193,11 +197,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -220,6 +226,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -285,22 +292,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4f:d5:67:94:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4f:d5:67:94", "endpoint_id": 1, "available": true, @@ -329,22 +320,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4f:d5:67:94:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4f:d5:67:94", "endpoint_id": 1, "available": true, @@ -375,22 +350,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:4f:d5:67:94:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4f:d5:67:94", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-x8fp01wi-ts0601.json b/tests/data/devices/tze204-x8fp01wi-ts0601.json index 7fd029008..7daae5601 100644 --- a/tests/data/devices/tze204-x8fp01wi-ts0601.json +++ b/tests/data/devices/tze204-x8fp01wi-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ec:1f:25:23", "nwk": "0xBCEE", "manufacturer": "_TZE204_x8fp01wi", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ec:1f:25:23:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ec:1f:25:23", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ec:1f:25:23:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ec:1f:25:23", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ec:1f:25:23:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ec:1f:25:23", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-x9usygq1-ts0601.json b/tests/data/devices/tze204-x9usygq1-ts0601.json index 3da41fc22..e154d67c8 100644 --- a/tests/data/devices/tze204-x9usygq1-ts0601.json +++ b/tests/data/devices/tze204-x9usygq1-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:92:c5:79:50", "nwk": "0xB1F9", "manufacturer": "_TZE204_x9usygq1", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -154,22 +160,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:92:c5:79:50:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:92:c5:79:50", "endpoint_id": 1, "available": true, @@ -198,22 +188,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:92:c5:79:50:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:92:c5:79:50", "endpoint_id": 1, "available": true, @@ -244,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:92:c5:79:50:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:92:c5:79:50", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-xalsoe3m-ts0601.json b/tests/data/devices/tze204-xalsoe3m-ts0601.json index 9ea733778..7893d736f 100644 --- a/tests/data/devices/tze204-xalsoe3m-ts0601.json +++ b/tests/data/devices/tze204-xalsoe3m-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:19:d9:fb:05", "nwk": "0xF42C", "manufacturer": "_TZE204_xalsoe3m", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,23 +99,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -143,7 +160,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -179,31 +202,61 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "value": 1 + "value": 1, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 23500 + "value": 23500, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0025", @@ -215,13 +268,25 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -233,25 +298,44 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -264,6 +348,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -271,11 +356,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -297,12 +384,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -325,6 +419,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -360,7 +455,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0068", @@ -389,6 +490,7 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", + "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -424,7 +526,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0068", @@ -454,6 +562,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -546,22 +655,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:19:d9:fb:05:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:19:d9:fb:05", "endpoint_id": 1, "available": true, @@ -625,22 +718,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:19:d9:fb:05:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:19:d9:fb:05", "endpoint_id": 1, "available": true, @@ -672,22 +749,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:19:d9:fb:05:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:19:d9:fb:05", "endpoint_id": 1, "available": true, @@ -719,22 +780,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 3, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "3:0x000d", - "unique_id": "ab:cd:ef:12:19:d9:fb:05:3:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:19:d9:fb:05", "endpoint_id": 3, "available": true, @@ -766,22 +811,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogOutputClusterHandler", - "generic_id": "cluster_handler_0x000d", - "endpoint_id": 4, - "cluster": { - "id": 13, - "name": "AnalogOutput", - "type": "server" - }, - "id": "4:0x000d", - "unique_id": "ab:cd:ef:12:19:d9:fb:05:4:0x000d", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:19:d9:fb:05", "endpoint_id": 4, "available": true, @@ -815,22 +844,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:19:d9:fb:05:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:19:d9:fb:05", "endpoint_id": 1, "available": true, @@ -867,22 +880,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:19:d9:fb:05:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:19:d9:fb:05", "endpoint_id": 1, "available": true, @@ -911,22 +908,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:19:d9:fb:05:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:19:d9:fb:05", "endpoint_id": 1, "available": true, @@ -955,22 +936,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:19:d9:fb:05:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:19:d9:fb:05", "endpoint_id": 1, "available": true, @@ -999,22 +964,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:19:d9:fb:05:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:19:d9:fb:05", "endpoint_id": 1, "available": true, @@ -1045,22 +994,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:19:d9:fb:05:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:19:d9:fb:05", "endpoint_id": 2, "available": true, @@ -1089,22 +1022,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:19:d9:fb:05:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:19:d9:fb:05", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-xlppj4f5-ts0601.json b/tests/data/devices/tze204-xlppj4f5-ts0601.json index 05289a2aa..2e9404990 100644 --- a/tests/data/devices/tze204-xlppj4f5-ts0601.json +++ b/tests/data/devices/tze204-xlppj4f5-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:fd:0b:2a:61", "nwk": "0x10B7", "manufacturer": "_TZE204_xlppj4f5", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,34 +69,190 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": false + "value": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ + { + "id": "0x0000", + "name": "current_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "current_tier1_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0102", + "name": "current_tier2_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0104", + "name": "current_tier3_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "current_tier4_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0108", + "name": "current_tier5_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x010a", + "name": "current_tier6_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0400", + "name": "instantaneous_demand", + "zcl_type": "int24", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "status", + "zcl_type": "map8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0300", "name": "unit_of_measure", @@ -107,6 +264,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -114,11 +272,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -186,22 +346,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fd:0b:2a:61:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fd:0b:2a:61", "endpoint_id": 1, "available": true, @@ -230,22 +374,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:fd:0b:2a:61:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fd:0b:2a:61", "endpoint_id": 1, "available": true, @@ -274,22 +402,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:fd:0b:2a:61:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:fd:0b:2a:61", "endpoint_id": 1, "available": true, @@ -323,22 +435,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:fd:0b:2a:61:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:fd:0b:2a:61", "endpoint_id": 1, "available": true, @@ -373,22 +469,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:fd:0b:2a:61:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:fd:0b:2a:61", "endpoint_id": 1, "available": true, @@ -425,22 +505,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:fd:0b:2a:61:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:fd:0b:2a:61", "endpoint_id": 1, "available": true, @@ -469,22 +533,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:fd:0b:2a:61:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:fd:0b:2a:61", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-xnbkhhdr-ts0601.json b/tests/data/devices/tze204-xnbkhhdr-ts0601.json index b085fe767..af926ddb9 100644 --- a/tests/data/devices/tze204-xnbkhhdr-ts0601.json +++ b/tests/data/devices/tze204-xnbkhhdr-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:13:86:96:cf", "nwk": "0xDF46", "manufacturer": "_TZE204_xnbkhhdr", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001b", @@ -114,6 +118,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -121,11 +126,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -191,22 +198,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:13:86:96:cf:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:13:86:96:cf", "endpoint_id": 1, "available": true, @@ -236,22 +227,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:13:86:96:cf:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:13:86:96:cf", "endpoint_id": 1, "available": true, @@ -315,22 +290,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:13:86:96:cf:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:13:86:96:cf", "endpoint_id": 1, "available": true, @@ -362,22 +321,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:13:86:96:cf:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:13:86:96:cf", "endpoint_id": 1, "available": true, @@ -411,22 +354,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:13:86:96:cf:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:13:86:96:cf", "endpoint_id": 1, "available": true, @@ -460,22 +387,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:13:86:96:cf:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:13:86:96:cf", "endpoint_id": 1, "available": true, @@ -508,22 +419,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:13:86:96:cf:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:13:86:96:cf", "endpoint_id": 1, "available": true, @@ -556,22 +451,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:13:86:96:cf:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:13:86:96:cf", "endpoint_id": 1, "available": true, @@ -607,22 +486,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:13:86:96:cf:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:13:86:96:cf", "endpoint_id": 1, "available": true, @@ -651,22 +514,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:13:86:96:cf:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:13:86:96:cf", "endpoint_id": 1, "available": true, @@ -695,22 +542,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:13:86:96:cf:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:13:86:96:cf", "endpoint_id": 1, "available": true, @@ -741,22 +572,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:13:86:96:cf:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:13:86:96:cf", "endpoint_id": 1, "available": true, @@ -789,22 +604,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:13:86:96:cf:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:13:86:96:cf", "endpoint_id": 1, "available": true, @@ -837,22 +636,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:13:86:96:cf:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:13:86:96:cf", "endpoint_id": 1, "available": true, @@ -887,22 +670,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:13:86:96:cf:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:13:86:96:cf", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-xu4a5rhj-ts0601.json b/tests/data/devices/tze204-xu4a5rhj-ts0601.json index 3780d736d..b025f9a69 100644 --- a/tests/data/devices/tze204-xu4a5rhj-ts0601.json +++ b/tests/data/devices/tze204-xu4a5rhj-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:95:4f:58:7f", "nwk": "0x38B5", "manufacturer": "_TZE204_xu4a5rhj", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -85,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +184,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:95:4f:58:7f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:95:4f:58:7f", "endpoint_id": 1, "available": true, @@ -221,22 +212,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:95:4f:58:7f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:95:4f:58:7f", "endpoint_id": 1, "available": true, @@ -267,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:95:4f:58:7f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:95:4f:58:7f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-ya4ft0w4-ts0601.json b/tests/data/devices/tze204-ya4ft0w4-ts0601.json index 69c922c73..a64b0f0f5 100644 --- a/tests/data/devices/tze204-ya4ft0w4-ts0601.json +++ b/tests/data/devices/tze204-ya4ft0w4-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:eb:7f:3e:96", "nwk": "0x3B9E", "manufacturer": "_TZE204_ya4ft0w4", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -90,11 +94,13 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -102,11 +108,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -129,6 +137,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -196,22 +205,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:eb:7f:3e:96:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:eb:7f:3e:96", "endpoint_id": 1, "available": true, @@ -241,22 +234,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:eb:7f:3e:96:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:eb:7f:3e:96", "endpoint_id": 1, "available": true, @@ -288,22 +265,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:eb:7f:3e:96:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:eb:7f:3e:96", "endpoint_id": 1, "available": true, @@ -335,22 +296,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:eb:7f:3e:96:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:eb:7f:3e:96", "endpoint_id": 1, "available": true, @@ -382,22 +327,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:eb:7f:3e:96:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:eb:7f:3e:96", "endpoint_id": 1, "available": true, @@ -429,22 +358,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:eb:7f:3e:96:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:eb:7f:3e:96", "endpoint_id": 1, "available": true, @@ -478,22 +391,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:eb:7f:3e:96:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:eb:7f:3e:96", "endpoint_id": 1, "available": true, @@ -522,22 +419,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:eb:7f:3e:96:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:eb:7f:3e:96", "endpoint_id": 1, "available": true, @@ -566,22 +447,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:eb:7f:3e:96:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:eb:7f:3e:96", "endpoint_id": 1, "available": true, @@ -610,22 +475,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:eb:7f:3e:96:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:eb:7f:3e:96", "endpoint_id": 1, "available": true, @@ -656,22 +505,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:eb:7f:3e:96:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:eb:7f:3e:96", "endpoint_id": 1, "available": true, @@ -706,22 +539,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:eb:7f:3e:96:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:eb:7f:3e:96", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-yjjdcqsq-ts0601.json b/tests/data/devices/tze204-yjjdcqsq-ts0601.json index b316e7714..ab4d26ea7 100644 --- a/tests/data/devices/tze204-yjjdcqsq-ts0601.json +++ b/tests/data/devices/tze204-yjjdcqsq-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:40:2d:94:5c", "nwk": "0xAD40", "manufacturer": "_TZE204_yjjdcqsq", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -98,16 +100,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -120,6 +125,7 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -132,6 +138,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -146,11 +153,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -211,22 +220,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:40:2d:94:5c:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:2d:94:5c", "endpoint_id": 1, "available": true, @@ -260,22 +253,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:40:2d:94:5c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:2d:94:5c", "endpoint_id": 1, "available": true, @@ -304,22 +281,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:40:2d:94:5c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:2d:94:5c", "endpoint_id": 1, "available": true, @@ -348,22 +309,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:40:2d:94:5c:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:40:2d:94:5c", "endpoint_id": 1, "available": true, @@ -399,22 +344,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:40:2d:94:5c:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:40:2d:94:5c", "endpoint_id": 1, "available": true, @@ -443,22 +372,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:40:2d:94:5c:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:40:2d:94:5c", "endpoint_id": 1, "available": true, @@ -489,22 +402,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:40:2d:94:5c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:2d:94:5c", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-yvx5lh6k-ts0601.json b/tests/data/devices/tze204-yvx5lh6k-ts0601.json index 2b408c456..cdebeb6b9 100644 --- a/tests/data/devices/tze204-yvx5lh6k-ts0601.json +++ b/tests/data/devices/tze204-yvx5lh6k-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:59:bb:bf:32", "nwk": "0x90F3", "manufacturer": "_TZE204_yvx5lh6k", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,46 +69,55 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x040d", "endpoint_attribute": "carbon_dioxide_concentration", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042a", "endpoint_attribute": "pm25", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042b", "endpoint_attribute": "formaldehyde_concentration", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042e", "endpoint_attribute": "voc_level", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -115,11 +125,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -142,6 +154,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -213,22 +226,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:59:bb:bf:32:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:59:bb:bf:32", "endpoint_id": 1, "available": true, @@ -257,22 +254,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:59:bb:bf:32:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:59:bb:bf:32", "endpoint_id": 1, "available": true, @@ -301,22 +282,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:59:bb:bf:32:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:59:bb:bf:32", "endpoint_id": 1, "available": true, @@ -345,22 +310,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:59:bb:bf:32:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:59:bb:bf:32", "endpoint_id": 1, "available": true, @@ -389,22 +338,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "CarbonDioxideConcentrationClusterHandler", - "generic_id": "cluster_handler_0x040d", - "endpoint_id": 1, - "cluster": { - "id": 1037, - "name": "Carbon Dioxide (CO\u2082) Concentration", - "type": "server" - }, - "id": "1:0x040d", - "unique_id": "ab:cd:ef:12:59:bb:bf:32:1:0x040d", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:59:bb:bf:32", "endpoint_id": 1, "available": true, @@ -433,22 +366,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PM25ClusterHandler", - "generic_id": "cluster_handler_0x042a", - "endpoint_id": 1, - "cluster": { - "id": 1066, - "name": "PM2.5", - "type": "server" - }, - "id": "1:0x042a", - "unique_id": "ab:cd:ef:12:59:bb:bf:32:1:0x042a", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:59:bb:bf:32", "endpoint_id": 1, "available": true, @@ -477,22 +394,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "FormaldehydeConcentrationClusterHandler", - "generic_id": "cluster_handler_0x042b", - "endpoint_id": 1, - "cluster": { - "id": 1067, - "name": "Formaldehyde Concentration", - "type": "server" - }, - "id": "1:0x042b", - "unique_id": "ab:cd:ef:12:59:bb:bf:32:1:0x042b", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:59:bb:bf:32", "endpoint_id": 1, "available": true, @@ -521,22 +422,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0x042e", - "endpoint_id": 1, - "cluster": { - "id": 1070, - "name": "VOC Level", - "type": "server" - }, - "id": "1:0x042e", - "unique_id": "ab:cd:ef:12:59:bb:bf:32:1:0x042e", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:59:bb:bf:32", "endpoint_id": 1, "available": true, @@ -567,22 +452,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:59:bb:bf:32:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:59:bb:bf:32", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-zenj4lxv-ts0601.json b/tests/data/devices/tze204-zenj4lxv-ts0601.json index de2015837..fee1c00c1 100644 --- a/tests/data/devices/tze204-zenj4lxv-ts0601.json +++ b/tests/data/devices/tze204-zenj4lxv-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:17:c8:fd:c8", "nwk": "0xBC08", "manufacturer": "_TZE204_zenj4lxv", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,22 +69,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -96,11 +106,26 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "current_level", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "SUCCESS", "attributes": [] } ], @@ -108,11 +133,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -127,12 +154,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -145,7 +179,21 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "current_level", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] } ], "out_clusters": [] @@ -161,6 +209,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -226,36 +275,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:17:c8:fd:c8:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:17:c8:fd:c8:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:17:c8:fd:c8", "endpoint_id": 1, "available": true, @@ -307,36 +326,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 2, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "2:0x0006", - "unique_id": "ab:cd:ef:12:17:c8:fd:c8:2:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 2, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "2:0x0008", - "unique_id": "ab:cd:ef:12:17:c8:fd:c8:2:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:17:c8:fd:c8", "endpoint_id": 2, "available": true, @@ -390,22 +379,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:17:c8:fd:c8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:17:c8:fd:c8", "endpoint_id": 1, "available": true, @@ -434,22 +407,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:17:c8:fd:c8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:17:c8:fd:c8", "endpoint_id": 1, "available": true, @@ -480,22 +437,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:17:c8:fd:c8:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:17:c8:fd:c8", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-ztqnh5cg-ts0601.json b/tests/data/devices/tze204-ztqnh5cg-ts0601.json index 667bfe61b..68261ba59 100644 --- a/tests/data/devices/tze204-ztqnh5cg-ts0601.json +++ b/tests/data/devices/tze204-ztqnh5cg-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e7:7d:1a:a0", "nwk": "0x67F5", "manufacturer": "_TZE204_ztqnh5cg", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -104,11 +105,13 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -151,6 +154,7 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -163,11 +167,13 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -175,11 +181,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -202,6 +210,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -269,22 +278,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 1, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "1:0x0406", - "unique_id": "ab:cd:ef:12:e7:7d:1a:a0:1:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:e7:7d:1a:a0", "endpoint_id": 1, "available": true, @@ -314,22 +307,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:e7:7d:1a:a0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:7d:1a:a0", "endpoint_id": 1, "available": true, @@ -361,22 +338,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:e7:7d:1a:a0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:7d:1a:a0", "endpoint_id": 1, "available": true, @@ -408,22 +369,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:e7:7d:1a:a0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:7d:1a:a0", "endpoint_id": 1, "available": true, @@ -455,22 +400,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:e7:7d:1a:a0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:7d:1a:a0", "endpoint_id": 1, "available": true, @@ -502,22 +431,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:e7:7d:1a:a0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:7d:1a:a0", "endpoint_id": 1, "available": true, @@ -551,22 +464,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e7:7d:1a:a0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:7d:1a:a0", "endpoint_id": 1, "available": true, @@ -595,22 +492,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e7:7d:1a:a0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:7d:1a:a0", "endpoint_id": 1, "available": true, @@ -639,22 +520,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IlluminanceMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0400", - "endpoint_id": 1, - "cluster": { - "id": 1024, - "name": "Illuminance Measurement", - "type": "server" - }, - "id": "1:0x0400", - "unique_id": "ab:cd:ef:12:e7:7d:1a:a0:1:0x0400", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:e7:7d:1a:a0", "endpoint_id": 1, "available": true, @@ -683,22 +548,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:e7:7d:1a:a0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:7d:1a:a0", "endpoint_id": 1, "available": true, @@ -729,22 +578,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e7:7d:1a:a0:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:7d:1a:a0", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze204-zxkwaztm-ts0601.json b/tests/data/devices/tze204-zxkwaztm-ts0601.json index 73fb841f2..1155c7c4e 100644 --- a/tests/data/devices/tze204-zxkwaztm-ts0601.json +++ b/tests/data/devices/tze204-zxkwaztm-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:90:34:fa:13", "nwk": "0x75F7", "manufacturer": "_TZE204_zxkwaztm", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x001b", @@ -89,7 +93,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2020 + "value": 2020, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -97,23 +107,89 @@ "zcl_type": "int8", "unsupported": true }, + { + "id": "0x0002", + "name": "occupancy", + "zcl_type": "map8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0011", + "name": "occupied_cooling_setpoint", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2000 + "value": 2000, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, + { + "id": "0x0007", + "name": "pi_cooling_demand", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } + }, + { + "id": "0x001e", + "name": "running_mode", + "zcl_type": "enum8", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -131,13 +207,44 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0013", + "name": "unoccupied_cooling_setpoint", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } + }, + { + "id": "0x0014", + "name": "unoccupied_heating_setpoint", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -145,11 +252,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -208,22 +317,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:90:34:fa:13:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:90:34:fa:13", "endpoint_id": 1, "available": true, @@ -287,22 +380,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:90:34:fa:13:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:90:34:fa:13", "endpoint_id": 1, "available": true, @@ -331,22 +408,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:90:34:fa:13:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:90:34:fa:13", "endpoint_id": 1, "available": true, @@ -375,22 +436,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:90:34:fa:13:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:90:34:fa:13", "endpoint_id": 1, "available": true, @@ -421,22 +466,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:90:34:fa:13:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:90:34:fa:13", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze20c-xbexmf8h-ts130f.json b/tests/data/devices/tze20c-xbexmf8h-ts130f.json index a433ff467..38b00f456 100644 --- a/tests/data/devices/tze20c-xbexmf8h-ts130f.json +++ b/tests/data/devices/tze20c-xbexmf8h-ts130f.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a2:5a:99:e9", "nwk": "0x87A1", "manufacturer": "_TZE20C_xbexmf8h", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xeb00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -84,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -111,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +185,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a2:5a:99:e9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:5a:99:e9", "endpoint_id": 1, "available": true, @@ -221,22 +213,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a2:5a:99:e9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:5a:99:e9", "endpoint_id": 1, "available": true, @@ -267,22 +243,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a2:5a:99:e9:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:5a:99:e9", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze20c-zka46xbw-ts0601.json b/tests/data/devices/tze20c-zka46xbw-ts0601.json index 208c91be1..3dbf23961 100644 --- a/tests/data/devices/tze20c-zka46xbw-ts0601.json +++ b/tests/data/devices/tze20c-zka46xbw-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:46:1c:4f:d5", "nwk": "0xE084", "manufacturer": "_TZE20C_zka46xbw", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 1 + "value": 1, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,6 +161,7 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -178,19 +197,37 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -209,6 +246,7 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -248,11 +286,13 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -260,11 +300,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -287,6 +329,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -358,22 +401,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:46:1c:4f:d5:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:46:1c:4f:d5", "endpoint_id": 1, "available": true, @@ -403,22 +430,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:46:1c:4f:d5:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:46:1c:4f:d5", "endpoint_id": 1, "available": true, @@ -451,22 +462,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:46:1c:4f:d5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:46:1c:4f:d5", "endpoint_id": 1, "available": true, @@ -495,22 +490,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:46:1c:4f:d5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:46:1c:4f:d5", "endpoint_id": 1, "available": true, @@ -541,22 +520,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:46:1c:4f:d5:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:46:1c:4f:d5", "endpoint_id": 1, "available": true, @@ -585,22 +548,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:46:1c:4f:d5:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:46:1c:4f:d5", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-0zaf1cr8-ts0601.json b/tests/data/devices/tze284-0zaf1cr8-ts0601.json index 9a20d8a72..bd723a945 100644 --- a/tests/data/devices/tze284-0zaf1cr8-ts0601.json +++ b/tests/data/devices/tze284-0zaf1cr8-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:98:e3:82:b6", "nwk": "0xCFFA", "manufacturer": "_TZE284_0zaf1cr8", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -56,6 +57,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -80,16 +82,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -114,6 +119,7 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -121,11 +127,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -185,22 +193,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:98:e3:82:b6:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:98:e3:82:b6", "endpoint_id": 1, "available": true, @@ -228,22 +220,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:98:e3:82:b6:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:98:e3:82:b6", "endpoint_id": 1, "available": true, @@ -273,22 +249,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:98:e3:82:b6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:98:e3:82:b6", "endpoint_id": 1, "available": true, @@ -317,22 +277,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:98:e3:82:b6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:98:e3:82:b6", "endpoint_id": 1, "available": true, @@ -361,22 +305,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:98:e3:82:b6:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:98:e3:82:b6", "endpoint_id": 1, "available": true, @@ -414,22 +342,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:98:e3:82:b6:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:98:e3:82:b6", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-2gi1hy8s-ts0601.json b/tests/data/devices/tze284-2gi1hy8s-ts0601.json index ad1144b53..7e25068f0 100644 --- a/tests/data/devices/tze284-2gi1hy8s-ts0601.json +++ b/tests/data/devices/tze284-2gi1hy8s-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:19:ac:4b:2f", "nwk": "0x9FEF", "manufacturer": "_TZE284_2gi1hy8s", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -160,22 +167,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:19:ac:4b:2f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:19:ac:4b:2f", "endpoint_id": 1, "available": true, @@ -204,22 +195,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:19:ac:4b:2f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:19:ac:4b:2f", "endpoint_id": 1, "available": true, @@ -250,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:19:ac:4b:2f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:19:ac:4b:2f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-3mzb0sdz-ts0601.json b/tests/data/devices/tze284-3mzb0sdz-ts0601.json index 4d1ef5baa..3e23cb3f2 100644 --- a/tests/data/devices/tze284-3mzb0sdz-ts0601.json +++ b/tests/data/devices/tze284-3mzb0sdz-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:70:52:10:a0", "nwk": "0xF696", "manufacturer": "_TZE284_3mzb0sdz", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -92,26 +94,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -119,11 +126,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -189,22 +198,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:70:52:10:a0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:70:52:10:a0", "endpoint_id": 1, "available": true, @@ -232,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:70:52:10:a0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:70:52:10:a0", "endpoint_id": 1, "available": true, @@ -275,22 +252,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:70:52:10:a0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:70:52:10:a0", "endpoint_id": 1, "available": true, @@ -318,22 +279,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:70:52:10:a0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:70:52:10:a0", "endpoint_id": 1, "available": true, @@ -361,22 +306,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:70:52:10:a0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:70:52:10:a0", "endpoint_id": 1, "available": true, @@ -406,22 +335,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:70:52:10:a0:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:70:52:10:a0", "endpoint_id": 1, "available": true, @@ -456,22 +369,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:70:52:10:a0:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:70:52:10:a0", "endpoint_id": 1, "available": true, @@ -505,22 +402,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:70:52:10:a0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:70:52:10:a0", "endpoint_id": 1, "available": true, @@ -549,22 +430,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:70:52:10:a0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:70:52:10:a0", "endpoint_id": 1, "available": true, @@ -593,22 +458,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:70:52:10:a0:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:70:52:10:a0", "endpoint_id": 1, "available": true, @@ -644,22 +493,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:70:52:10:a0:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:70:52:10:a0", "endpoint_id": 1, "available": true, @@ -690,22 +523,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:70:52:10:a0:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:70:52:10:a0", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-6fopvb6v-ts0601.json b/tests/data/devices/tze284-6fopvb6v-ts0601.json index e5de31f1b..88afe62d4 100644 --- a/tests/data/devices/tze284-6fopvb6v-ts0601.json +++ b/tests/data/devices/tze284-6fopvb6v-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:c0:9e:79:27", "nwk": "0xD970", "manufacturer": "_TZE284_6fopvb6v", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -160,22 +167,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c0:9e:79:27:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c0:9e:79:27", "endpoint_id": 1, "available": true, @@ -204,22 +195,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c0:9e:79:27:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c0:9e:79:27", "endpoint_id": 1, "available": true, @@ -250,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:c0:9e:79:27:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c0:9e:79:27", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-6hrnp30w-ts0601.json b/tests/data/devices/tze284-6hrnp30w-ts0601.json index 2496a726d..1409b821f 100644 --- a/tests/data/devices/tze284-6hrnp30w-ts0601.json +++ b/tests/data/devices/tze284-6hrnp30w-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:61:38:1f:0e", "nwk": "0x55C2", "manufacturer": "_TZE284_6hrnp30w", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -164,6 +165,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -188,6 +190,7 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -236,11 +239,13 @@ { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -248,6 +253,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0007", @@ -284,6 +290,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -421,22 +428,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:61:38:1f:0e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:61:38:1f:0e", "endpoint_id": 1, "available": true, @@ -465,22 +456,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:61:38:1f:0e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:61:38:1f:0e", "endpoint_id": 1, "available": true, @@ -511,22 +486,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:61:38:1f:0e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:61:38:1f:0e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-6ycgarab-ts0601.json b/tests/data/devices/tze284-6ycgarab-ts0601.json index 56eb3a059..b3b722452 100644 --- a/tests/data/devices/tze284-6ycgarab-ts0601.json +++ b/tests/data/devices/tze284-6ycgarab-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f3:29:76:29", "nwk": "0x9289", "manufacturer": "_TZE284_6ycgarab", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -160,22 +167,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f3:29:76:29:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f3:29:76:29", "endpoint_id": 1, "available": true, @@ -204,22 +195,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f3:29:76:29:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f3:29:76:29", "endpoint_id": 1, "available": true, @@ -250,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f3:29:76:29:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f3:29:76:29", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-78ioiaml-ts0601.json b/tests/data/devices/tze284-78ioiaml-ts0601.json index ac144ff61..4df61cfec 100644 --- a/tests/data/devices/tze284-78ioiaml-ts0601.json +++ b/tests/data/devices/tze284-78ioiaml-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:50:51:3e:41", "nwk": "0x96A0", "manufacturer": "_TZE284_78ioiaml", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -160,22 +167,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:50:51:3e:41:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:50:51:3e:41", "endpoint_id": 1, "available": true, @@ -204,22 +195,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:50:51:3e:41:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:50:51:3e:41", "endpoint_id": 1, "available": true, @@ -250,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:50:51:3e:41:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:50:51:3e:41", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-7zazvlyn-ts0601.json b/tests/data/devices/tze284-7zazvlyn-ts0601.json index e44b2e343..cc6a0313a 100644 --- a/tests/data/devices/tze284-7zazvlyn-ts0601.json +++ b/tests/data/devices/tze284-7zazvlyn-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:42:87:b0:e0", "nwk": "0x1A74", "manufacturer": "_TZE284_7zazvlyn", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -160,22 +167,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:42:87:b0:e0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:42:87:b0:e0", "endpoint_id": 1, "available": true, @@ -204,22 +195,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:42:87:b0:e0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:42:87:b0:e0", "endpoint_id": 1, "available": true, @@ -250,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:42:87:b0:e0:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:42:87:b0:e0", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-81yrt3lo-ts0601.json b/tests/data/devices/tze284-81yrt3lo-ts0601.json index b575ef0b5..9e52f2f6c 100644 --- a/tests/data/devices/tze284-81yrt3lo-ts0601.json +++ b/tests/data/devices/tze284-81yrt3lo-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:71:30:aa:82", "nwk": "0x3102", "manufacturer": "_TZE284_81yrt3lo", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -117,6 +124,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -183,22 +191,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:71:30:aa:82:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:71:30:aa:82", "endpoint_id": 1, "available": true, @@ -227,22 +219,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:71:30:aa:82:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:71:30:aa:82", "endpoint_id": 1, "available": true, @@ -273,22 +249,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:71:30:aa:82:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:71:30:aa:82", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-8se38w3c-ts0601.json b/tests/data/devices/tze284-8se38w3c-ts0601.json index 47817cd6e..aa56713ef 100644 --- a/tests/data/devices/tze284-8se38w3c-ts0601.json +++ b/tests/data/devices/tze284-8se38w3c-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:c3:0d:b8:1a", "nwk": "0x435A", "manufacturer": "_TZE284_8se38w3c", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -160,22 +167,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c3:0d:b8:1a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c3:0d:b8:1a", "endpoint_id": 1, "available": true, @@ -204,22 +195,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c3:0d:b8:1a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c3:0d:b8:1a", "endpoint_id": 1, "available": true, @@ -250,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:c3:0d:b8:1a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c3:0d:b8:1a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-a2xewxoo-ts0601.json b/tests/data/devices/tze284-a2xewxoo-ts0601.json index 004ae3757..f2ea683b4 100644 --- a/tests/data/devices/tze284-a2xewxoo-ts0601.json +++ b/tests/data/devices/tze284-a2xewxoo-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ee:07:7f:41", "nwk": "0x685B", "manufacturer": "_TZE284_a2xewxoo", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -117,6 +124,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -183,22 +191,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ee:07:7f:41:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ee:07:7f:41", "endpoint_id": 1, "available": true, @@ -227,22 +219,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ee:07:7f:41:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ee:07:7f:41", "endpoint_id": 1, "available": true, @@ -273,22 +249,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ee:07:7f:41:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ee:07:7f:41", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-aao3yzhs-ts0601.json b/tests/data/devices/tze284-aao3yzhs-ts0601.json index 6f188a632..8001a3253 100644 --- a/tests/data/devices/tze284-aao3yzhs-ts0601.json +++ b/tests/data/devices/tze284-aao3yzhs-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:53:b5:37:5e", "nwk": "0x44FE", "manufacturer": "_TZE284_aao3yzhs", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -86,31 +88,37 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0408", "endpoint_attribute": "soil_moisture", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -118,11 +126,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -184,22 +194,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:53:b5:37:5e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:53:b5:37:5e", "endpoint_id": 1, "available": true, @@ -228,22 +222,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:53:b5:37:5e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:53:b5:37:5e", "endpoint_id": 1, "available": true, @@ -272,22 +250,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:53:b5:37:5e:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:53:b5:37:5e", "endpoint_id": 1, "available": true, @@ -323,22 +285,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:53:b5:37:5e:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:53:b5:37:5e", "endpoint_id": 1, "available": true, @@ -367,22 +313,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SoilMoistureClusterHandler", - "generic_id": "cluster_handler_0x0408", - "endpoint_id": 1, - "cluster": { - "id": 1032, - "name": "Soil Moisture Measurement", - "type": "server" - }, - "id": "1:0x0408", - "unique_id": "ab:cd:ef:12:53:b5:37:5e:1:0x0408", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:53:b5:37:5e", "endpoint_id": 1, "available": true, @@ -413,22 +343,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:53:b5:37:5e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:53:b5:37:5e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-c6wv4xyo-ts0601.json b/tests/data/devices/tze284-c6wv4xyo-ts0601.json index 48bc3143e..55c585645 100644 --- a/tests/data/devices/tze284-c6wv4xyo-ts0601.json +++ b/tests/data/devices/tze284-c6wv4xyo-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:cf:73:e2:71", "nwk": "0x53E7", "manufacturer": "_TZE284_c6wv4xyo", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -138,11 +142,13 @@ { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -150,11 +156,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -221,22 +229,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:cf:73:e2:71:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cf:73:e2:71", "endpoint_id": 1, "available": true, @@ -266,22 +258,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:cf:73:e2:71:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:cf:73:e2:71", "endpoint_id": 1, "available": true, @@ -345,22 +321,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:cf:73:e2:71:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cf:73:e2:71", "endpoint_id": 1, "available": true, @@ -394,22 +354,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cf:73:e2:71:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cf:73:e2:71", "endpoint_id": 1, "available": true, @@ -438,22 +382,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cf:73:e2:71:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cf:73:e2:71", "endpoint_id": 1, "available": true, @@ -482,22 +410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:cf:73:e2:71:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:cf:73:e2:71", "endpoint_id": 1, "available": true, @@ -528,22 +440,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:cf:73:e2:71:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cf:73:e2:71", "endpoint_id": 1, "available": true, @@ -576,22 +472,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:cf:73:e2:71:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cf:73:e2:71", "endpoint_id": 1, "available": true, @@ -624,22 +504,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:cf:73:e2:71:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cf:73:e2:71", "endpoint_id": 1, "available": true, @@ -674,22 +538,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:cf:73:e2:71:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cf:73:e2:71", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-cjbofhxw-ts0601.json b/tests/data/devices/tze284-cjbofhxw-ts0601.json index 2ba8e58f9..1051298dc 100644 --- a/tests/data/devices/tze284-cjbofhxw-ts0601.json +++ b/tests/data/devices/tze284-cjbofhxw-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:c7:6f:d7:98", "nwk": "0x5DE4", "manufacturer": "_TZE284_cjbofhxw", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -160,22 +167,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c7:6f:d7:98:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c7:6f:d7:98", "endpoint_id": 1, "available": true, @@ -204,22 +195,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c7:6f:d7:98:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c7:6f:d7:98", "endpoint_id": 1, "available": true, @@ -250,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:c7:6f:d7:98:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c7:6f:d7:98", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-dmckrsxg-ts0601.json b/tests/data/devices/tze284-dmckrsxg-ts0601.json index 826a10fcc..479497652 100644 --- a/tests/data/devices/tze284-dmckrsxg-ts0601.json +++ b/tests/data/devices/tze284-dmckrsxg-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:2f:17:8f:32", "nwk": "0x1895", "manufacturer": "_TZE284_dmckrsxg", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -117,6 +124,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -183,22 +191,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2f:17:8f:32:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2f:17:8f:32", "endpoint_id": 1, "available": true, @@ -227,22 +219,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2f:17:8f:32:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2f:17:8f:32", "endpoint_id": 1, "available": true, @@ -273,22 +249,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:2f:17:8f:32:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2f:17:8f:32", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-f5efvtbv-ts0601.json b/tests/data/devices/tze284-f5efvtbv-ts0601.json index eaf8a2102..35f4e4a28 100644 --- a/tests/data/devices/tze284-f5efvtbv-ts0601.json +++ b/tests/data/devices/tze284-f5efvtbv-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d6:b2:68:6b", "nwk": "0xB88F", "manufacturer": "_TZE284_f5efvtbv", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -117,6 +124,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -183,22 +191,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d6:b2:68:6b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d6:b2:68:6b", "endpoint_id": 1, "available": true, @@ -227,22 +219,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d6:b2:68:6b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d6:b2:68:6b", "endpoint_id": 1, "available": true, @@ -273,22 +249,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d6:b2:68:6b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d6:b2:68:6b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-fhvpaltk-ts0601.json b/tests/data/devices/tze284-fhvpaltk-ts0601.json index 22fcd3e04..6915be55f 100644 --- a/tests/data/devices/tze284-fhvpaltk-ts0601.json +++ b/tests/data/devices/tze284-fhvpaltk-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:56:b9:75:cd", "nwk": "0x179B", "manufacturer": "_TZE284_fhvpaltk", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -86,21 +88,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -108,11 +114,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -179,22 +187,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:56:b9:75:cd:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:56:b9:75:cd", "endpoint_id": 1, "available": true, @@ -226,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:56:b9:75:cd:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:56:b9:75:cd", "endpoint_id": 1, "available": true, @@ -275,22 +251,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:56:b9:75:cd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:56:b9:75:cd", "endpoint_id": 1, "available": true, @@ -319,22 +279,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:56:b9:75:cd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:56:b9:75:cd", "endpoint_id": 1, "available": true, @@ -363,22 +307,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:56:b9:75:cd:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:56:b9:75:cd", "endpoint_id": 1, "available": true, @@ -414,22 +342,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:56:b9:75:cd:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:56:b9:75:cd", "endpoint_id": 1, "available": true, @@ -458,22 +370,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:56:b9:75:cd:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:56:b9:75:cd", "endpoint_id": 1, "available": true, @@ -502,22 +398,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:56:b9:75:cd:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:56:b9:75:cd", "endpoint_id": 1, "available": true, @@ -546,22 +426,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:56:b9:75:cd:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:56:b9:75:cd", "endpoint_id": 1, "available": true, @@ -592,22 +456,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:56:b9:75:cd:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:56:b9:75:cd", "endpoint_id": 1, "available": true, @@ -640,22 +488,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:56:b9:75:cd:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:56:b9:75:cd", "endpoint_id": 1, "available": true, @@ -690,22 +522,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:56:b9:75:cd:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:56:b9:75:cd", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-fzo2pocs-ts0601.json b/tests/data/devices/tze284-fzo2pocs-ts0601.json index 15ef2d802..771d57f2f 100644 --- a/tests/data/devices/tze284-fzo2pocs-ts0601.json +++ b/tests/data/devices/tze284-fzo2pocs-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d4:9c:af:cd", "nwk": "0x19F3", "manufacturer": "_TZE284_fzo2pocs", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -160,22 +167,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d4:9c:af:cd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d4:9c:af:cd", "endpoint_id": 1, "available": true, @@ -204,22 +195,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d4:9c:af:cd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d4:9c:af:cd", "endpoint_id": 1, "available": true, @@ -250,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d4:9c:af:cd:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d4:9c:af:cd", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-g2e6cpnw-ts0601.json b/tests/data/devices/tze284-g2e6cpnw-ts0601.json index f57e07c93..12a9c145e 100644 --- a/tests/data/devices/tze284-g2e6cpnw-ts0601.json +++ b/tests/data/devices/tze284-g2e6cpnw-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:5c:ed:8a:ef", "nwk": "0xCD2B", "manufacturer": "_TZE284_g2e6cpnw", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -160,22 +167,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5c:ed:8a:ef:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5c:ed:8a:ef", "endpoint_id": 1, "available": true, @@ -204,22 +195,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5c:ed:8a:ef:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5c:ed:8a:ef", "endpoint_id": 1, "available": true, @@ -250,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:5c:ed:8a:ef:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5c:ed:8a:ef", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-hodyryli-ts0601.json b/tests/data/devices/tze284-hodyryli-ts0601.json index d24ff70cb..7d45bfdfd 100644 --- a/tests/data/devices/tze284-hodyryli-ts0601.json +++ b/tests/data/devices/tze284-hodyryli-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e6:20:71:50", "nwk": "0x3C22", "manufacturer": "_TZE284_hodyryli", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -160,22 +167,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e6:20:71:50:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e6:20:71:50", "endpoint_id": 1, "available": true, @@ -204,22 +195,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e6:20:71:50:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e6:20:71:50", "endpoint_id": 1, "available": true, @@ -250,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e6:20:71:50:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e6:20:71:50", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-iadro9bf-ts0601.json b/tests/data/devices/tze284-iadro9bf-ts0601.json index 0d8801b7e..db1120d3d 100644 --- a/tests/data/devices/tze284-iadro9bf-ts0601.json +++ b/tests/data/devices/tze284-iadro9bf-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:6b:c5:77:0a", "nwk": "0x3C41", "manufacturer": "_TZE284_iadro9bf", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -117,6 +124,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -183,22 +191,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6b:c5:77:0a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6b:c5:77:0a", "endpoint_id": 1, "available": true, @@ -227,22 +219,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6b:c5:77:0a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6b:c5:77:0a", "endpoint_id": 1, "available": true, @@ -273,22 +249,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:6b:c5:77:0a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6b:c5:77:0a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-idvyees9-ts0601.json b/tests/data/devices/tze284-idvyees9-ts0601.json index ed1dadf99..2f501a1b6 100644 --- a/tests/data/devices/tze284-idvyees9-ts0601.json +++ b/tests/data/devices/tze284-idvyees9-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a2:4b:d7:95", "nwk": "0x41E7", "manufacturer": "_TZE284_idvyees9", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -117,6 +124,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -183,22 +191,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a2:4b:d7:95:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:4b:d7:95", "endpoint_id": 1, "available": true, @@ -227,22 +219,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a2:4b:d7:95:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:4b:d7:95", "endpoint_id": 1, "available": true, @@ -273,22 +249,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a2:4b:d7:95:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:4b:d7:95", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-kyyu8rbj-ts0601.json b/tests/data/devices/tze284-kyyu8rbj-ts0601.json index 0dab1a243..bb1963286 100644 --- a/tests/data/devices/tze284-kyyu8rbj-ts0601.json +++ b/tests/data/devices/tze284-kyyu8rbj-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:bf:44:a9:0b", "nwk": "0x41A3", "manufacturer": "_TZE284_kyyu8rbj", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -170,6 +171,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -188,6 +190,7 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -212,11 +215,13 @@ { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -224,6 +229,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -260,6 +266,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -325,22 +332,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:bf:44:a9:0b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:44:a9:0b", "endpoint_id": 1, "available": true, @@ -372,22 +363,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:bf:44:a9:0b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:44:a9:0b", "endpoint_id": 1, "available": true, @@ -419,22 +394,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:bf:44:a9:0b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:44:a9:0b", "endpoint_id": 1, "available": true, @@ -466,22 +425,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:bf:44:a9:0b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:44:a9:0b", "endpoint_id": 1, "available": true, @@ -515,22 +458,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:bf:44:a9:0b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:44:a9:0b", "endpoint_id": 1, "available": true, @@ -565,22 +492,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:bf:44:a9:0b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:44:a9:0b", "endpoint_id": 1, "available": true, @@ -609,22 +520,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:bf:44:a9:0b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:44:a9:0b", "endpoint_id": 1, "available": true, @@ -653,22 +548,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:bf:44:a9:0b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:44:a9:0b", "endpoint_id": 1, "available": true, @@ -697,22 +576,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:bf:44:a9:0b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:44:a9:0b", "endpoint_id": 1, "available": true, @@ -743,22 +606,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:bf:44:a9:0b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bf:44:a9:0b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-l8xiyymq-ts0601.json b/tests/data/devices/tze284-l8xiyymq-ts0601.json index 66b9c5385..0c6f8c1e1 100644 --- a/tests/data/devices/tze284-l8xiyymq-ts0601.json +++ b/tests/data/devices/tze284-l8xiyymq-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ff:0c:11:d3", "nwk": "0xEBB8", "manufacturer": "_TZE284_l8xiyymq", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -80,21 +81,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -102,11 +107,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -172,22 +179,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ff:0c:11:d3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ff:0c:11:d3", "endpoint_id": 1, "available": true, @@ -216,22 +207,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ff:0c:11:d3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ff:0c:11:d3", "endpoint_id": 1, "available": true, @@ -262,22 +237,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ff:0c:11:d3:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ff:0c:11:d3", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-ltwbm23f-ts0601.json b/tests/data/devices/tze284-ltwbm23f-ts0601.json index 5911c70a5..1ca51c0bb 100644 --- a/tests/data/devices/tze284-ltwbm23f-ts0601.json +++ b/tests/data/devices/tze284-ltwbm23f-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f0:2d:69:de", "nwk": "0x7395", "manufacturer": "_TZE284_ltwbm23f", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -160,22 +167,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f0:2d:69:de:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:2d:69:de", "endpoint_id": 1, "available": true, @@ -204,22 +195,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f0:2d:69:de:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:2d:69:de", "endpoint_id": 1, "available": true, @@ -250,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f0:2d:69:de:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f0:2d:69:de", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-myd45weu-ts0601.json b/tests/data/devices/tze284-myd45weu-ts0601.json index 7e8d565df..d40fb0224 100644 --- a/tests/data/devices/tze284-myd45weu-ts0601.json +++ b/tests/data/devices/tze284-myd45weu-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:59:b1:e9:9a", "nwk": "0x4D46", "manufacturer": "_TZE284_myd45weu", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -92,6 +93,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -116,31 +118,37 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0408", "endpoint_attribute": "soil_moisture", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -148,11 +156,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -221,22 +231,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:59:b1:e9:9a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:59:b1:e9:9a", "endpoint_id": 1, "available": true, @@ -265,22 +259,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:59:b1:e9:9a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:59:b1:e9:9a", "endpoint_id": 1, "available": true, @@ -309,22 +287,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:59:b1:e9:9a:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:59:b1:e9:9a", "endpoint_id": 1, "available": true, @@ -360,22 +322,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:59:b1:e9:9a:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:59:b1:e9:9a", "endpoint_id": 1, "available": true, @@ -404,22 +350,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SoilMoistureClusterHandler", - "generic_id": "cluster_handler_0x0408", - "endpoint_id": 1, - "cluster": { - "id": 1032, - "name": "Soil Moisture Measurement", - "type": "server" - }, - "id": "1:0x0408", - "unique_id": "ab:cd:ef:12:59:b1:e9:9a:1:0x0408", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:59:b1:e9:9a", "endpoint_id": 1, "available": true, @@ -450,22 +380,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:59:b1:e9:9a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:59:b1:e9:9a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-ne4pikwm-ts0601.json b/tests/data/devices/tze284-ne4pikwm-ts0601.json index daede2dff..02e3b0c84 100644 --- a/tests/data/devices/tze284-ne4pikwm-ts0601.json +++ b/tests/data/devices/tze284-ne4pikwm-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:06:a7:a1:e8", "nwk": "0x1CBC", "manufacturer": "_TZE284_ne4pikwm", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -162,11 +166,13 @@ { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef6a", @@ -229,11 +235,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -293,22 +301,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:06:a7:a1:e8:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:06:a7:a1:e8", "endpoint_id": 1, "available": true, @@ -338,22 +330,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:06:a7:a1:e8:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:06:a7:a1:e8", "endpoint_id": 1, "available": true, @@ -417,22 +393,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:06:a7:a1:e8:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:06:a7:a1:e8", "endpoint_id": 1, "available": true, @@ -466,22 +426,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:06:a7:a1:e8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:06:a7:a1:e8", "endpoint_id": 1, "available": true, @@ -510,22 +454,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:06:a7:a1:e8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:06:a7:a1:e8", "endpoint_id": 1, "available": true, @@ -554,22 +482,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:06:a7:a1:e8:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:06:a7:a1:e8", "endpoint_id": 1, "available": true, @@ -600,22 +512,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:06:a7:a1:e8:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:06:a7:a1:e8", "endpoint_id": 1, "available": true, @@ -648,22 +544,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:06:a7:a1:e8:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:06:a7:a1:e8", "endpoint_id": 1, "available": true, @@ -696,22 +576,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:06:a7:a1:e8:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:06:a7:a1:e8", "endpoint_id": 1, "available": true, @@ -744,22 +608,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:06:a7:a1:e8:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:06:a7:a1:e8", "endpoint_id": 1, "available": true, @@ -792,22 +640,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:06:a7:a1:e8:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:06:a7:a1:e8", "endpoint_id": 1, "available": true, @@ -840,22 +672,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:06:a7:a1:e8:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:06:a7:a1:e8", "endpoint_id": 1, "available": true, @@ -890,22 +706,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:06:a7:a1:e8:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:06:a7:a1:e8", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-nklqjk62-ts0601.json b/tests/data/devices/tze284-nklqjk62-ts0601.json index ee3f8cde0..2db12de60 100644 --- a/tests/data/devices/tze284-nklqjk62-ts0601.json +++ b/tests/data/devices/tze284-nklqjk62-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:76:83:38:bb", "nwk": "0x2F7C", "manufacturer": "_TZE284_nklqjk62", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -117,6 +124,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -183,22 +191,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:76:83:38:bb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:76:83:38:bb", "endpoint_id": 1, "available": true, @@ -227,22 +219,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:76:83:38:bb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:76:83:38:bb", "endpoint_id": 1, "available": true, @@ -273,22 +249,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:76:83:38:bb:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:76:83:38:bb", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-nnhwcvbk-ts0601.json b/tests/data/devices/tze284-nnhwcvbk-ts0601.json index f0391a436..6aa0aeec8 100644 --- a/tests/data/devices/tze284-nnhwcvbk-ts0601.json +++ b/tests/data/devices/tze284-nnhwcvbk-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:15:ef:b2:34", "nwk": "0xBD12", "manufacturer": "_TZE284_nnhwcvbk", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -84,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -154,22 +161,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:15:ef:b2:34:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:15:ef:b2:34", "endpoint_id": 1, "available": true, @@ -198,22 +189,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:15:ef:b2:34:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:15:ef:b2:34", "endpoint_id": 1, "available": true, @@ -244,22 +219,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:15:ef:b2:34:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:15:ef:b2:34", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-o3x45p96-ts0601.json b/tests/data/devices/tze284-o3x45p96-ts0601.json index 194b59b2f..906065ff3 100644 --- a/tests/data/devices/tze284-o3x45p96-ts0601.json +++ b/tests/data/devices/tze284-o3x45p96-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:4e:95:64:6b", "nwk": "0x64FC", "manufacturer": "_TZE284_o3x45p96", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -138,11 +142,13 @@ { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -150,11 +156,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -221,22 +229,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:4e:95:64:6b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:95:64:6b", "endpoint_id": 1, "available": true, @@ -266,22 +258,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:4e:95:64:6b:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:4e:95:64:6b", "endpoint_id": 1, "available": true, @@ -345,22 +321,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:4e:95:64:6b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:95:64:6b", "endpoint_id": 1, "available": true, @@ -394,22 +354,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4e:95:64:6b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:95:64:6b", "endpoint_id": 1, "available": true, @@ -438,22 +382,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4e:95:64:6b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:95:64:6b", "endpoint_id": 1, "available": true, @@ -482,22 +410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:4e:95:64:6b:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:4e:95:64:6b", "endpoint_id": 1, "available": true, @@ -528,22 +440,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:4e:95:64:6b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:95:64:6b", "endpoint_id": 1, "available": true, @@ -576,22 +472,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:4e:95:64:6b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:95:64:6b", "endpoint_id": 1, "available": true, @@ -624,22 +504,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:4e:95:64:6b:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:95:64:6b", "endpoint_id": 1, "available": true, @@ -674,22 +538,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:4e:95:64:6b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4e:95:64:6b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-o9ofysmo-ts0601.json b/tests/data/devices/tze284-o9ofysmo-ts0601.json index 7aa2ceaeb..b88a4206c 100644 --- a/tests/data/devices/tze284-o9ofysmo-ts0601.json +++ b/tests/data/devices/tze284-o9ofysmo-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:6b:ff:c5:80", "nwk": "0xD1F5", "manufacturer": "_TZE284_o9ofysmo", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -160,22 +167,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6b:ff:c5:80:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6b:ff:c5:80", "endpoint_id": 1, "available": true, @@ -204,22 +195,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6b:ff:c5:80:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6b:ff:c5:80", "endpoint_id": 1, "available": true, @@ -250,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:6b:ff:c5:80:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6b:ff:c5:80", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-ogx8u5z6-ts0601.json b/tests/data/devices/tze284-ogx8u5z6-ts0601.json index dd3c96794..53fce6c39 100644 --- a/tests/data/devices/tze284-ogx8u5z6-ts0601.json +++ b/tests/data/devices/tze284-ogx8u5z6-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:c0:04:1b:41", "nwk": "0x5C98", "manufacturer": "_TZE284_ogx8u5z6", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,16 +69,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -138,11 +142,13 @@ { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -150,11 +156,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -221,22 +229,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:c0:04:1b:41:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c0:04:1b:41", "endpoint_id": 1, "available": true, @@ -266,22 +258,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c0:04:1b:41:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c0:04:1b:41", "endpoint_id": 1, "available": true, @@ -345,22 +321,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:c0:04:1b:41:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c0:04:1b:41", "endpoint_id": 1, "available": true, @@ -394,22 +354,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c0:04:1b:41:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c0:04:1b:41", "endpoint_id": 1, "available": true, @@ -438,22 +382,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c0:04:1b:41:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c0:04:1b:41", "endpoint_id": 1, "available": true, @@ -482,22 +410,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostatV2", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:c0:04:1b:41:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:c0:04:1b:41", "endpoint_id": 1, "available": true, @@ -528,22 +440,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:c0:04:1b:41:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c0:04:1b:41", "endpoint_id": 1, "available": true, @@ -576,22 +472,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:c0:04:1b:41:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c0:04:1b:41", "endpoint_id": 1, "available": true, @@ -624,22 +504,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:c0:04:1b:41:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c0:04:1b:41", "endpoint_id": 1, "available": true, @@ -674,22 +538,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:c0:04:1b:41:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c0:04:1b:41", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-oitavov2-ts0601.json b/tests/data/devices/tze284-oitavov2-ts0601.json index 0cf71ea73..cdbfb2191 100644 --- a/tests/data/devices/tze284-oitavov2-ts0601.json +++ b/tests/data/devices/tze284-oitavov2-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:62:26:55:a3", "nwk": "0xBE49", "manufacturer": "_TZE284_oitavov2", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -98,12 +99,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -122,12 +130,25 @@ "name": "battery_size", "zcl_type": "enum8", "value": 3 + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffe", @@ -140,40 +161,57 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2700 + "value": 2700, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0408", "endpoint_attribute": "soil_moisture", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -181,11 +219,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -254,22 +294,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:62:26:55:a3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:62:26:55:a3", "endpoint_id": 1, "available": true, @@ -298,22 +322,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:62:26:55:a3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:62:26:55:a3", "endpoint_id": 1, "available": true, @@ -342,22 +350,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:62:26:55:a3:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:62:26:55:a3", "endpoint_id": 1, "available": true, @@ -393,22 +385,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:62:26:55:a3:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:62:26:55:a3", "endpoint_id": 1, "available": true, @@ -437,22 +413,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SoilMoistureClusterHandler", - "generic_id": "cluster_handler_0x0408", - "endpoint_id": 1, - "cluster": { - "id": 1032, - "name": "Soil Moisture Measurement", - "type": "server" - }, - "id": "1:0x0408", - "unique_id": "ab:cd:ef:12:62:26:55:a3:1:0x0408", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:62:26:55:a3", "endpoint_id": 1, "available": true, @@ -483,22 +443,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:62:26:55:a3:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:62:26:55:a3", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-pcdmj88b-ts0601.json b/tests/data/devices/tze284-pcdmj88b-ts0601.json index fa656f810..51492d0b9 100644 --- a/tests/data/devices/tze284-pcdmj88b-ts0601.json +++ b/tests/data/devices/tze284-pcdmj88b-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:7b:62:e5:e2", "nwk": "0xEAE2", "manufacturer": "_TZE284_pcdmj88b", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -84,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -154,22 +161,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7b:62:e5:e2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:62:e5:e2", "endpoint_id": 1, "available": true, @@ -198,22 +189,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7b:62:e5:e2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:62:e5:e2", "endpoint_id": 1, "available": true, @@ -244,22 +219,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:7b:62:e5:e2:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:62:e5:e2", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-qyflbnbj-ts0601.json b/tests/data/devices/tze284-qyflbnbj-ts0601.json index 12220ef22..06a88d8a0 100644 --- a/tests/data/devices/tze284-qyflbnbj-ts0601.json +++ b/tests/data/devices/tze284-qyflbnbj-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:be:8d:9e:2b", "nwk": "0xD7CB", "manufacturer": "_TZE284_qyflbnbj", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0052", @@ -98,16 +100,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -138,16 +143,19 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -155,6 +163,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -185,6 +194,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -253,22 +263,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:be:8d:9e:2b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:be:8d:9e:2b", "endpoint_id": 1, "available": true, @@ -297,22 +291,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:be:8d:9e:2b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:be:8d:9e:2b", "endpoint_id": 1, "available": true, @@ -341,22 +319,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:be:8d:9e:2b:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:be:8d:9e:2b", "endpoint_id": 1, "available": true, @@ -392,22 +354,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:be:8d:9e:2b:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:be:8d:9e:2b", "endpoint_id": 1, "available": true, @@ -436,22 +382,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:be:8d:9e:2b:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:be:8d:9e:2b", "endpoint_id": 1, "available": true, @@ -482,22 +412,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:be:8d:9e:2b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:be:8d:9e:2b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-rjxqso4a-ts0601.json b/tests/data/devices/tze284-rjxqso4a-ts0601.json index a09614ff1..bda23713b 100644 --- a/tests/data/devices/tze284-rjxqso4a-ts0601.json +++ b/tests/data/devices/tze284-rjxqso4a-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:6a:91:4e:bb", "nwk": "0xDFB7", "manufacturer": "_TZE284_rjxqso4a", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -92,16 +94,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -114,11 +119,13 @@ { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -126,11 +133,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -198,22 +207,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:6a:91:4e:bb:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6a:91:4e:bb", "endpoint_id": 1, "available": true, @@ -243,22 +236,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6a:91:4e:bb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6a:91:4e:bb", "endpoint_id": 1, "available": true, @@ -287,22 +264,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6a:91:4e:bb:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6a:91:4e:bb", "endpoint_id": 1, "available": true, @@ -331,22 +292,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:6a:91:4e:bb:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:6a:91:4e:bb", "endpoint_id": 1, "available": true, @@ -382,22 +327,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:6a:91:4e:bb:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6a:91:4e:bb", "endpoint_id": 1, "available": true, @@ -426,22 +355,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:6a:91:4e:bb:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6a:91:4e:bb", "endpoint_id": 1, "available": true, @@ -472,22 +385,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:6a:91:4e:bb:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6a:91:4e:bb", "endpoint_id": 1, "available": true, @@ -522,22 +419,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:6a:91:4e:bb:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6a:91:4e:bb", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-rlytpmij-ts0601.json b/tests/data/devices/tze284-rlytpmij-ts0601.json index 164479a10..c9d19b087 100644 --- a/tests/data/devices/tze284-rlytpmij-ts0601.json +++ b/tests/data/devices/tze284-rlytpmij-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:11:d8:40:d8", "nwk": "0x54C8", "manufacturer": "_TZE284_rlytpmij", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -117,6 +124,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -183,22 +191,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:11:d8:40:d8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:11:d8:40:d8", "endpoint_id": 1, "available": true, @@ -227,22 +219,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:11:d8:40:d8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:11:d8:40:d8", "endpoint_id": 1, "available": true, @@ -273,22 +249,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:11:d8:40:d8:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:11:d8:40:d8", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-rqcuwlsa-ts0601.json b/tests/data/devices/tze284-rqcuwlsa-ts0601.json index 9bba0a8a8..fd4c8658b 100644 --- a/tests/data/devices/tze284-rqcuwlsa-ts0601.json +++ b/tests/data/devices/tze284-rqcuwlsa-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d2:7a:53:32", "nwk": "0x2151", "manufacturer": "_TZE284_rqcuwlsa", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,6 +63,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -86,16 +88,19 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -108,6 +113,7 @@ { "cluster_id": "0x0408", "endpoint_attribute": "soil_moisture", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -120,16 +126,19 @@ { "cluster_id": "0x040a", "endpoint_attribute": "electrical_conductivity", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -137,11 +146,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -204,22 +215,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d2:7a:53:32:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:7a:53:32", "endpoint_id": 1, "available": true, @@ -248,22 +243,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d2:7a:53:32:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:7a:53:32", "endpoint_id": 1, "available": true, @@ -292,22 +271,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:d2:7a:53:32:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:d2:7a:53:32", "endpoint_id": 1, "available": true, @@ -343,22 +306,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:d2:7a:53:32:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:d2:7a:53:32", "endpoint_id": 1, "available": true, @@ -387,22 +334,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SoilMoistureClusterHandler", - "generic_id": "cluster_handler_0x0408", - "endpoint_id": 1, - "cluster": { - "id": 1032, - "name": "Soil Moisture Measurement", - "type": "server" - }, - "id": "1:0x0408", - "unique_id": "ab:cd:ef:12:d2:7a:53:32:1:0x0408", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:d2:7a:53:32", "endpoint_id": 1, "available": true, @@ -431,22 +362,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalConductivityClusterHandler", - "generic_id": "cluster_handler_0x040a", - "endpoint_id": 1, - "cluster": { - "id": 1034, - "name": "Electrical Conductivity", - "type": "server" - }, - "id": "1:0x040a", - "unique_id": "ab:cd:ef:12:d2:7a:53:32:1:0x040a", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:d2:7a:53:32", "endpoint_id": 1, "available": true, @@ -477,22 +392,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d2:7a:53:32:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:7a:53:32", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-sgabhwa6-ts0601.json b/tests/data/devices/tze284-sgabhwa6-ts0601.json index dd5ba5b95..155b4664d 100644 --- a/tests/data/devices/tze284-sgabhwa6-ts0601.json +++ b/tests/data/devices/tze284-sgabhwa6-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e7:63:0a:df", "nwk": "0xB658", "manufacturer": "_TZE284_sgabhwa6", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -92,6 +94,7 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -116,6 +119,7 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -170,21 +174,25 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0408", "endpoint_attribute": "soil_moisture", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -192,6 +200,7 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -270,6 +279,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -338,22 +348,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e7:63:0a:df:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:63:0a:df", "endpoint_id": 1, "available": true, @@ -382,22 +376,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e7:63:0a:df:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:63:0a:df", "endpoint_id": 1, "available": true, @@ -426,22 +404,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:e7:63:0a:df:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:e7:63:0a:df", "endpoint_id": 1, "available": true, @@ -477,22 +439,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:e7:63:0a:df:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:e7:63:0a:df", "endpoint_id": 1, "available": true, @@ -521,22 +467,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "SoilMoistureClusterHandler", - "generic_id": "cluster_handler_0x0408", - "endpoint_id": 1, - "cluster": { - "id": 1032, - "name": "Soil Moisture Measurement", - "type": "server" - }, - "id": "1:0x0408", - "unique_id": "ab:cd:ef:12:e7:63:0a:df:1:0x0408", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:e7:63:0a:df", "endpoint_id": 1, "available": true, @@ -567,22 +497,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e7:63:0a:df:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:63:0a:df", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-upagmta9-ts0601.json b/tests/data/devices/tze284-upagmta9-ts0601.json index 1be752223..8b4d4bda8 100644 --- a/tests/data/devices/tze284-upagmta9-ts0601.json +++ b/tests/data/devices/tze284-upagmta9-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:10:4c:9a:94", "nwk": "0x38F1", "manufacturer": "_TZE284_upagmta9", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,6 +69,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -92,31 +94,37 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -124,11 +132,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -197,22 +207,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:10:4c:9a:94:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:10:4c:9a:94", "endpoint_id": 1, "available": true, @@ -246,22 +240,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:10:4c:9a:94:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:10:4c:9a:94", "endpoint_id": 1, "available": true, @@ -290,22 +268,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:10:4c:9a:94:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:10:4c:9a:94", "endpoint_id": 1, "available": true, @@ -334,22 +296,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:10:4c:9a:94:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:10:4c:9a:94", "endpoint_id": 1, "available": true, @@ -385,22 +331,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:10:4c:9a:94:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:10:4c:9a:94", "endpoint_id": 1, "available": true, @@ -429,22 +359,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "ab:cd:ef:12:10:4c:9a:94:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:10:4c:9a:94", "endpoint_id": 1, "available": true, @@ -475,22 +389,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:10:4c:9a:94:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:10:4c:9a:94", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-vawy74yh-ts0601.json b/tests/data/devices/tze284-vawy74yh-ts0601.json index b2b6c651e..330057125 100644 --- a/tests/data/devices/tze284-vawy74yh-ts0601.json +++ b/tests/data/devices/tze284-vawy74yh-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:39:6f:28:8a", "nwk": "0x527A", "manufacturer": "_TZE284_vawy74yh", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -160,22 +167,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:39:6f:28:8a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:28:8a", "endpoint_id": 1, "available": true, @@ -204,22 +195,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:39:6f:28:8a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:28:8a", "endpoint_id": 1, "available": true, @@ -250,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:39:6f:28:8a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:39:6f:28:8a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-vuwtqx0t-ts0601.json b/tests/data/devices/tze284-vuwtqx0t-ts0601.json index a1b6bfa9b..51e6dfd6e 100644 --- a/tests/data/devices/tze284-vuwtqx0t-ts0601.json +++ b/tests/data/devices/tze284-vuwtqx0t-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f5:c9:76:a5", "nwk": "0xE5F5", "manufacturer": "_TZE284_vuwtqx0t", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -160,22 +167,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f5:c9:76:a5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:c9:76:a5", "endpoint_id": 1, "available": true, @@ -204,22 +195,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f5:c9:76:a5:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:c9:76:a5", "endpoint_id": 1, "available": true, @@ -250,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f5:c9:76:a5:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f5:c9:76:a5", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-wtikaxzs-ts0601.json b/tests/data/devices/tze284-wtikaxzs-ts0601.json index a75e9079d..1db7e2838 100644 --- a/tests/data/devices/tze284-wtikaxzs-ts0601.json +++ b/tests/data/devices/tze284-wtikaxzs-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:13:75:cc:9f", "nwk": "0x1339", "manufacturer": "_TZE284_wtikaxzs", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -84,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -154,22 +161,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:13:75:cc:9f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:13:75:cc:9f", "endpoint_id": 1, "available": true, @@ -198,22 +189,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:13:75:cc:9f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:13:75:cc:9f", "endpoint_id": 1, "available": true, @@ -244,22 +219,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:13:75:cc:9f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:13:75:cc:9f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-zjhoqbrd-ts0601.json b/tests/data/devices/tze284-zjhoqbrd-ts0601.json index 62b880caa..bca6ccdfc 100644 --- a/tests/data/devices/tze284-zjhoqbrd-ts0601.json +++ b/tests/data/devices/tze284-zjhoqbrd-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:cf:61:e4:86", "nwk": "0xCA2C", "manufacturer": "_TZE284_zjhoqbrd", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -160,22 +167,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cf:61:e4:86:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cf:61:e4:86", "endpoint_id": 1, "available": true, @@ -204,22 +195,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cf:61:e4:86:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cf:61:e4:86", "endpoint_id": 1, "available": true, @@ -250,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:cf:61:e4:86:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cf:61:e4:86", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-zm8zpwas-ts0601.json b/tests/data/devices/tze284-zm8zpwas-ts0601.json index 1e703ae42..46a1e1f87 100644 --- a/tests/data/devices/tze284-zm8zpwas-ts0601.json +++ b/tests/data/devices/tze284-zm8zpwas-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:34:4b:0f:b2", "nwk": "0x10F0", "manufacturer": "_TZE284_zm8zpwas", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -74,21 +75,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -96,11 +101,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -166,22 +173,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:34:4b:0f:b2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:34:4b:0f:b2", "endpoint_id": 1, "available": true, @@ -210,22 +201,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:34:4b:0f:b2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:34:4b:0f:b2", "endpoint_id": 1, "available": true, @@ -256,22 +231,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:34:4b:0f:b2:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:34:4b:0f:b2", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-znvwzxkq-ts0601.json b/tests/data/devices/tze284-znvwzxkq-ts0601.json index 373934bae..008cf177e 100644 --- a/tests/data/devices/tze284-znvwzxkq-ts0601.json +++ b/tests/data/devices/tze284-znvwzxkq-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:12:bb:1b:9d", "nwk": "0x2DC5", "manufacturer": "_TZE284_znvwzxkq", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -90,11 +95,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -160,22 +167,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:12:bb:1b:9d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:12:bb:1b:9d", "endpoint_id": 1, "available": true, @@ -204,22 +195,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:12:bb:1b:9d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:12:bb:1b:9d", "endpoint_id": 1, "available": true, @@ -250,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:12:bb:1b:9d:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:12:bb:1b:9d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze600-iypcp4py-ts0105.json b/tests/data/devices/tze600-iypcp4py-ts0105.json index cf2c07f3e..902e97e6c 100644 --- a/tests/data/devices/tze600-iypcp4py-ts0105.json +++ b/tests/data/devices/tze600-iypcp4py-ts0105.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e3:fb:03:e7", "nwk": "0xCBA9", "manufacturer": "_TZE600_iypcp4py", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -79,6 +83,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -94,6 +99,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -158,22 +164,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:e3:fb:03:e7:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e3:fb:03:e7", "endpoint_id": 1, "available": true, @@ -206,22 +196,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e3:fb:03:e7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e3:fb:03:e7", "endpoint_id": 1, "available": true, @@ -250,22 +224,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e3:fb:03:e7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e3:fb:03:e7", "endpoint_id": 1, "available": true, @@ -296,22 +254,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e3:fb:03:e7:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e3:fb:03:e7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze608-c75zqghm-ts0603.json b/tests/data/devices/tze608-c75zqghm-ts0603.json index 1ea395b13..a2f0d8dab 100644 --- a/tests/data/devices/tze608-c75zqghm-ts0603.json +++ b/tests/data/devices/tze608-c75zqghm-ts0603.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:38:20:4f:1a", "nwk": "0x27FF", "manufacturer": "_TZE608_c75zqghm", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,21 +63,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, + "bind": "SUCCESS", "attributes": [] } ], @@ -84,11 +89,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -111,6 +118,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -177,22 +185,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:38:20:4f:1a:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:38:20:4f:1a", "endpoint_id": 1, "available": true, @@ -225,22 +217,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:38:20:4f:1a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:38:20:4f:1a", "endpoint_id": 1, "available": true, @@ -269,22 +245,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:38:20:4f:1a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:38:20:4f:1a", "endpoint_id": 1, "available": true, @@ -315,22 +275,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:38:20:4f:1a:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:38:20:4f:1a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ubisys-s1-5501.json b/tests/data/devices/ubisys-s1-5501.json index 05e115196..91cb26645 100644 --- a/tests/data/devices/ubisys-s1-5501.json +++ b/tests/data/devices/ubisys-s1-5501.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e4:d6:5c:c2", "nwk": "0x0DB4", "manufacturer": "ubisys", @@ -46,6 +46,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -64,27 +65,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -97,6 +108,7 @@ { "cluster_id": "0xfbff", "endpoint_attribute": "ubisys_input_config", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -125,11 +137,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -137,31 +151,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -176,59 +196,109 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", @@ -246,7 +316,13 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0306", @@ -264,7 +340,13 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0 + "value": 0, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0303", @@ -283,24 +365,43 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", + "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000 + "value": 1000, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 49766 + "value": 49766, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0401", @@ -324,31 +425,61 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050d", @@ -372,73 +503,145 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 1 + "value": 1, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0103", "name": "dc_current", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0203", "name": "dc_current_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0202", "name": "dc_current_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0106", "name": "dc_power", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0205", "name": "dc_power_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0204", "name": "dc_power_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0100", "name": "dc_voltage", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0201", "name": "dc_voltage_divisor", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0200", "name": "dc_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -450,7 +653,13 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0510", @@ -474,13 +683,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 4 + "value": 4, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x050a", @@ -504,19 +725,37 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 232 + "value": 232, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0507", @@ -540,19 +779,37 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "value": 0 + "value": 0, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -569,11 +826,13 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "ubisys_cluster", + "bind": "SUCCESS", "attributes": [] } ], @@ -581,11 +840,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -607,6 +868,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -614,6 +876,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -717,22 +980,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:e4:d6:5c:c2:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e4:d6:5c:c2", "endpoint_id": 1, "available": true, @@ -765,22 +1012,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:e4:d6:5c:c2:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e4:d6:5c:c2", "endpoint_id": 1, "available": true, @@ -814,22 +1045,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfbff", - "endpoint_id": 1, - "cluster": { - "id": 64511, - "name": "Ubisys Input Configuration", - "type": "server" - }, - "id": "1:0xfbff", - "unique_id": "ab:cd:ef:12:e4:d6:5c:c2:1:0xfbff", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e4:d6:5c:c2", "endpoint_id": 1, "available": true, @@ -864,22 +1079,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e4:d6:5c:c2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e4:d6:5c:c2", "endpoint_id": 1, "available": true, @@ -908,22 +1107,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e4:d6:5c:c2:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e4:d6:5c:c2", "endpoint_id": 1, "available": true, @@ -952,22 +1135,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 3, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "3:0x0702", - "unique_id": "ab:cd:ef:12:e4:d6:5c:c2:3:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:e4:d6:5c:c2", "endpoint_id": 3, "available": true, @@ -1003,22 +1170,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 3, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "3:0x0702", - "unique_id": "ab:cd:ef:12:e4:d6:5c:c2:3:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:e4:d6:5c:c2", "endpoint_id": 3, "available": true, @@ -1054,22 +1205,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 3, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "3:0x0702", - "unique_id": "ab:cd:ef:12:e4:d6:5c:c2:3:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:e4:d6:5c:c2", "endpoint_id": 3, "available": true, @@ -1105,22 +1240,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 3, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "3:0x0b04", - "unique_id": "ab:cd:ef:12:e4:d6:5c:c2:3:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:e4:d6:5c:c2", "endpoint_id": 3, "available": true, @@ -1154,22 +1273,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 3, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "3:0x0b04", - "unique_id": "ab:cd:ef:12:e4:d6:5c:c2:3:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:e4:d6:5c:c2", "endpoint_id": 3, "available": true, @@ -1203,22 +1306,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 3, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "3:0x0b04", - "unique_id": "ab:cd:ef:12:e4:d6:5c:c2:3:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:e4:d6:5c:c2", "endpoint_id": 3, "available": true, @@ -1251,22 +1338,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 3, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "3:0x0b04", - "unique_id": "ab:cd:ef:12:e4:d6:5c:c2:3:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:e4:d6:5c:c2", "endpoint_id": 3, "available": true, @@ -1299,22 +1370,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 3, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "3:0x0b04", - "unique_id": "ab:cd:ef:12:e4:d6:5c:c2:3:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:e4:d6:5c:c2", "endpoint_id": 3, "available": true, @@ -1348,22 +1403,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 3, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "3:0x0b04", - "unique_id": "ab:cd:ef:12:e4:d6:5c:c2:3:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:e4:d6:5c:c2", "endpoint_id": 3, "available": true, @@ -1397,22 +1436,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 3, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "3:0x0b04", - "unique_id": "ab:cd:ef:12:e4:d6:5c:c2:3:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:e4:d6:5c:c2", "endpoint_id": 3, "available": true, @@ -1448,22 +1471,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:e4:d6:5c:c2:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:e4:d6:5c:c2", "endpoint_id": 1, "available": true, @@ -1490,22 +1497,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xfbff", - "endpoint_id": 1, - "cluster": { - "id": 64511, - "name": "Ubisys Input Configuration", - "type": "server" - }, - "id": "1:0xfbff", - "unique_id": "ab:cd:ef:12:e4:d6:5c:c2:1:0xfbff", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e4:d6:5c:c2", "endpoint_id": 1, "available": true, @@ -1540,22 +1531,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 232, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "232:0x0019_client", - "unique_id": "ab:cd:ef:12:e4:d6:5c:c2:232:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e4:d6:5c:c2", "endpoint_id": 232, "available": true, diff --git a/tests/data/devices/uiot-uiot-windowcovring2-0402.json b/tests/data/devices/uiot-uiot-windowcovring2-0402.json index b2f8eaefe..f40fe4432 100644 --- a/tests/data/devices/uiot-uiot-windowcovring2-0402.json +++ b/tests/data/devices/uiot-uiot-windowcovring2-0402.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:c1:6d:31:24", "nwk": "0xD24F", "manufacturer": "UIOT", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,11 +63,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -79,6 +82,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -90,13 +94,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -139,11 +155,13 @@ { "cluster_id": "0xfe00", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -151,31 +169,37 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfe00", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -190,16 +214,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -211,13 +238,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -260,6 +299,7 @@ { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -267,21 +307,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -296,16 +340,19 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -317,13 +364,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -366,6 +425,7 @@ { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -373,21 +433,25 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -483,22 +547,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:c1:6d:31:24:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c1:6d:31:24", "endpoint_id": 1, "available": true, @@ -531,22 +579,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:c1:6d:31:24:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:c1:6d:31:24", "endpoint_id": 1, "available": true, @@ -579,22 +611,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 2, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "2:0x0102", - "unique_id": "ab:cd:ef:12:c1:6d:31:24:2:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:c1:6d:31:24", "endpoint_id": 2, "available": true, @@ -627,22 +643,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 3, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "3:0x0102", - "unique_id": "ab:cd:ef:12:c1:6d:31:24:3:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:c1:6d:31:24", "endpoint_id": 3, "available": true, @@ -677,22 +677,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c1:6d:31:24:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c1:6d:31:24", "endpoint_id": 1, "available": true, @@ -721,22 +705,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c1:6d:31:24:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c1:6d:31:24", "endpoint_id": 1, "available": true, @@ -765,22 +733,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:c1:6d:31:24:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:c1:6d:31:24", "endpoint_id": 1, "available": true, @@ -809,22 +761,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 2, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "2:0x0102", - "unique_id": "ab:cd:ef:12:c1:6d:31:24:2:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:c1:6d:31:24", "endpoint_id": 2, "available": true, @@ -853,22 +789,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 3, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "3:0x0102", - "unique_id": "ab:cd:ef:12:c1:6d:31:24:3:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:c1:6d:31:24", "endpoint_id": 3, "available": true, @@ -899,22 +819,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:c1:6d:31:24:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c1:6d:31:24", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/universal-electronics-inc-urc4460bc0-x-r.json b/tests/data/devices/universal-electronics-inc-urc4460bc0-x-r.json index 3fc82ccf4..43663f5e2 100644 --- a/tests/data/devices/universal-electronics-inc-urc4460bc0-x-r.json +++ b/tests/data/devices/universal-electronics-inc-urc4460bc0-x-r.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:65:4f:d8:da", "nwk": "0x9980", "manufacturer": "Universal Electronics Inc", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 89 + "value": 89, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 25 + "value": 25, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -109,18 +125,26 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1300 + "value": 1300, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -160,6 +184,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -167,6 +192,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -233,22 +259,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:65:4f:d8:da:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:65:4f:d8:da", "endpoint_id": 1, "available": true, @@ -278,22 +288,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:65:4f:d8:da:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:65:4f:d8:da", "endpoint_id": 1, "available": true, @@ -326,22 +320,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:65:4f:d8:da:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:65:4f:d8:da", "endpoint_id": 1, "available": true, @@ -370,22 +348,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:65:4f:d8:da:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:65:4f:d8:da", "endpoint_id": 1, "available": true, @@ -414,22 +376,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:65:4f:d8:da:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:65:4f:d8:da", "endpoint_id": 1, "available": true, @@ -466,22 +412,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:65:4f:d8:da:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:65:4f:d8:da", "endpoint_id": 1, "available": true, @@ -512,22 +442,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:65:4f:d8:da:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:65:4f:d8:da", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/unk-manufacturer-unk-model.json b/tests/data/devices/unk-manufacturer-unk-model.json index ccb30b1b5..d83bf1f2e 100644 --- a/tests/data/devices/unk-manufacturer-unk-model.json +++ b/tests/data/devices/unk-manufacturer-unk-model.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:bb:85:b4:de", "nwk": "0xC94A", "manufacturer": "unk_manufacturer", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,16 +63,19 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -84,12 +88,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -102,12 +113,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 1 + "value": 1, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -162,16 +180,19 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0015", "endpoint_attribute": "commissioning", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0100", "endpoint_attribute": "shade", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -208,11 +229,13 @@ { "cluster_id": "0xfc20", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc21", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -220,11 +243,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc20", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -289,22 +314,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:bb:85:b4:de:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bb:85:b4:de", "endpoint_id": 1, "available": true, @@ -337,50 +346,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:bb:85:b4:de:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:bb:85:b4:de:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ShadeClusterHandler", - "generic_id": "cluster_handler_0x0100", - "endpoint_id": 1, - "cluster": { - "id": 256, - "name": "Shade Configuration", - "type": "server" - }, - "id": "1:0x0100", - "unique_id": "ab:cd:ef:12:bb:85:b4:de:1:0x0100", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bb:85:b4:de", "endpoint_id": 1, "available": true, @@ -411,22 +376,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:bb:85:b4:de:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:bb:85:b4:de", "endpoint_id": 1, "available": true, @@ -460,22 +409,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:bb:85:b4:de:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bb:85:b4:de", "endpoint_id": 1, "available": true, @@ -504,22 +437,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:bb:85:b4:de:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bb:85:b4:de", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/visonic-mct-340-sma.json b/tests/data/devices/visonic-mct-340-sma.json index 7c2fc6ed6..107566a0c 100644 --- a/tests/data/devices/visonic-mct-340-sma.json +++ b/tests/data/devices/visonic-mct-340-sma.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:80:a4:c3:ba", "nwk": "0xFD81", "manufacturer": "Visonic", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,7 +63,20 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "unsupported": false, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } + }, { "id": "0x0033", "name": "battery_quantity", @@ -79,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28 + "value": 28, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -103,18 +125,26 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2200 + "value": 2200, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", + "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -154,6 +184,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -161,6 +192,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -220,22 +252,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:80:a4:c3:ba:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:80:a4:c3:ba", "endpoint_id": 1, "available": true, @@ -265,22 +281,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:80:a4:c3:ba:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:80:a4:c3:ba", "endpoint_id": 1, "available": true, @@ -313,22 +313,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:80:a4:c3:ba:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:80:a4:c3:ba", "endpoint_id": 1, "available": true, @@ -357,22 +341,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:80:a4:c3:ba:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:80:a4:c3:ba", "endpoint_id": 1, "available": true, @@ -401,22 +369,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:80:a4:c3:ba:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:80:a4:c3:ba", "endpoint_id": 1, "available": true, @@ -453,22 +405,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:80:a4:c3:ba:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:80:a4:c3:ba", "endpoint_id": 1, "available": true, @@ -499,22 +435,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:80:a4:c3:ba:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:80:a4:c3:ba", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/xiaomi-lywsd03mmc.json b/tests/data/devices/xiaomi-lywsd03mmc.json index ba459bf7b..b10b4d119 100644 --- a/tests/data/devices/xiaomi-lywsd03mmc.json +++ b/tests/data/devices/xiaomi-lywsd03mmc.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "a4:c1:38:dd:ed:49:77:95", "nwk": "0xE280", "manufacturer": "Xiaomi", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 3 + "value": 3, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,18 +93,26 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 22 + "value": 22, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -109,29 +125,44 @@ { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1997 + "value": 1997, + "reporting": { + "min": 30, + "max": 900, + "change": 50, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5296 + "value": 5296, + "reporting": { + "min": 30, + "max": 900, + "change": 100, + "status": "SUCCESS" + } } ] } @@ -140,6 +171,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -199,22 +231,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "a4:c1:38:dd:ed:49:77:95:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:dd:ed:49:77:95", "endpoint_id": 1, "available": true, @@ -247,22 +263,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "a4:c1:38:dd:ed:49:77:95:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:dd:ed:49:77:95", "endpoint_id": 1, "available": true, @@ -294,22 +294,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "a4:c1:38:dd:ed:49:77:95:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:dd:ed:49:77:95", "endpoint_id": 1, "available": true, @@ -341,22 +325,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "a4:c1:38:dd:ed:49:77:95:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:dd:ed:49:77:95", "endpoint_id": 1, "available": true, @@ -388,22 +356,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "a4:c1:38:dd:ed:49:77:95:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:dd:ed:49:77:95", "endpoint_id": 1, "available": true, @@ -435,22 +387,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "a4:c1:38:dd:ed:49:77:95:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "a4:c1:38:dd:ed:49:77:95", "endpoint_id": 1, "available": true, @@ -482,22 +418,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "a4:c1:38:dd:ed:49:77:95:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "a4:c1:38:dd:ed:49:77:95", "endpoint_id": 1, "available": true, @@ -531,22 +451,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "a4:c1:38:dd:ed:49:77:95:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:dd:ed:49:77:95", "endpoint_id": 1, "available": true, @@ -575,22 +479,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "a4:c1:38:dd:ed:49:77:95:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:dd:ed:49:77:95", "endpoint_id": 1, "available": true, @@ -619,22 +507,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "a4:c1:38:dd:ed:49:77:95:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "a4:c1:38:dd:ed:49:77:95", "endpoint_id": 1, "available": true, @@ -669,22 +541,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "a4:c1:38:dd:ed:49:77:95:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "a4:c1:38:dd:ed:49:77:95", "endpoint_id": 1, "available": true, @@ -713,22 +569,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "RelativeHumidityClusterHandler", - "generic_id": "cluster_handler_0x0405", - "endpoint_id": 1, - "cluster": { - "id": 1029, - "name": "Relative Humidity Measurement", - "type": "server" - }, - "id": "1:0x0405", - "unique_id": "a4:c1:38:dd:ed:49:77:95:1:0x0405", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "a4:c1:38:dd:ed:49:77:95", "endpoint_id": 1, "available": true, @@ -759,22 +599,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "a4:c1:38:dd:ed:49:77:95:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:dd:ed:49:77:95", "endpoint_id": 1, "available": true, @@ -807,22 +631,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "a4:c1:38:dd:ed:49:77:95:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:dd:ed:49:77:95", "endpoint_id": 1, "available": true, @@ -857,22 +665,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "a4:c1:38:dd:ed:49:77:95:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "a4:c1:38:dd:ed:49:77:95", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/xiaoyan-terncy-sd01.json b/tests/data/devices/xiaoyan-terncy-sd01.json index edfaca0cd..1397c436f 100644 --- a/tests/data/devices/xiaoyan-terncy-sd01.json +++ b/tests/data/devices/xiaoyan-terncy-sd01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:0d:6f:00:16:73:c1:c9", "nwk": "0x3165", "manufacturer": "Xiaoyan", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 158 + "value": 158, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,23 +93,32 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfccc", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -109,6 +126,7 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -173,22 +191,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:0d:6f:00:16:73:c1:c9:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:16:73:c1:c9", "endpoint_id": 1, "available": true, @@ -221,22 +223,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:00:16:73:c1:c9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:16:73:c1:c9", "endpoint_id": 1, "available": true, @@ -265,22 +251,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:00:16:73:c1:c9:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:16:73:c1:c9", "endpoint_id": 1, "available": true, @@ -309,22 +279,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:0d:6f:00:16:73:c1:c9:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:0d:6f:00:16:73:c1:c9", "endpoint_id": 1, "available": true, @@ -360,22 +314,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:0d:6f:00:16:73:c1:c9:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:16:73:c1:c9", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/xyzroe-diy-zintercom.json b/tests/data/devices/xyzroe-diy-zintercom.json index e72a19249..e991299dd 100644 --- a/tests/data/devices/xyzroe-diy-zintercom.json +++ b/tests/data/devices/xyzroe-diy-zintercom.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:0a:c9:43:1a", "nwk": "0x1927", "manufacturer": "xyzroe", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -64,6 +65,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -82,6 +84,7 @@ { "cluster_id": "0x0101", "endpoint_attribute": "door_lock", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -136,22 +139,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:0a:c9:43:1a:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0a:c9:43:1a", "endpoint_id": 1, "available": true, @@ -181,22 +168,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0a:c9:43:1a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0a:c9:43:1a", "endpoint_id": 1, "available": true, @@ -225,22 +196,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:0a:c9:43:1a:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:0a:c9:43:1a", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/yale-yrd256-tsdb.json b/tests/data/devices/yale-yrd256-tsdb.json index a1d484237..9d6165ad3 100644 --- a/tests/data/devices/yale-yrd256-tsdb.json +++ b/tests/data/devices/yale-yrd256-tsdb.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "00:0d:6f:00:11:19:1f:7b", "nwk": "0x76B5", "manufacturer": "Yale", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -68,12 +69,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 130 + "value": 130, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -91,28 +99,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 52 + "value": 52, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,6 +143,7 @@ { "cluster_id": "0x0101", "endpoint_attribute": "door_lock", + "bind": "SUCCESS", "attributes": [ { "id": "0x0023", @@ -142,7 +161,13 @@ "id": "0x0000", "name": "lock_state", "zcl_type": "enum8", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -173,6 +198,7 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -180,11 +206,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -253,22 +281,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "00:0d:6f:00:11:19:1f:7b:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:11:19:1f:7b", "endpoint_id": 1, "available": true, @@ -301,22 +313,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "DoorLockClusterHandler", - "generic_id": "cluster_handler_0x0101", - "endpoint_id": 1, - "cluster": { - "id": 257, - "name": "Door Lock", - "type": "server" - }, - "id": "1:0x0101", - "unique_id": "00:0d:6f:00:11:19:1f:7b:1:0x0101", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:11:19:1f:7b", "endpoint_id": 1, "available": true, @@ -345,22 +341,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:00:11:19:1f:7b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:11:19:1f:7b", "endpoint_id": 1, "available": true, @@ -389,22 +369,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "00:0d:6f:00:11:19:1f:7b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:11:19:1f:7b", "endpoint_id": 1, "available": true, @@ -433,22 +397,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "00:0d:6f:00:11:19:1f:7b:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "00:0d:6f:00:11:19:1f:7b", "endpoint_id": 1, "available": true, @@ -487,22 +435,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "00:0d:6f:00:11:19:1f:7b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "00:0d:6f:00:11:19:1f:7b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/yooksmart-d10110.json b/tests/data/devices/yooksmart-d10110.json index a1dcb35c2..181666ffd 100644 --- a/tests/data/devices/yooksmart-d10110.json +++ b/tests/data/devices/yooksmart-d10110.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "6c:5c:b1:ff:fe:60:80:6f", "nwk": "0x547E", "manufacturer": "yooksmart", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 130 + "value": 130, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,28 +93,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -119,6 +137,7 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", + "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -130,13 +149,25 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", @@ -181,11 +212,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -253,22 +286,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "6c:5c:b1:ff:fe:60:80:6f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "6c:5c:b1:ff:fe:60:80:6f", "endpoint_id": 1, "available": true, @@ -301,22 +318,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "6c:5c:b1:ff:fe:60:80:6f:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "6c:5c:b1:ff:fe:60:80:6f", "endpoint_id": 1, "available": true, @@ -351,22 +352,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "6c:5c:b1:ff:fe:60:80:6f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "6c:5c:b1:ff:fe:60:80:6f", "endpoint_id": 1, "available": true, @@ -395,22 +380,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "6c:5c:b1:ff:fe:60:80:6f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "6c:5c:b1:ff:fe:60:80:6f", "endpoint_id": 1, "available": true, @@ -439,22 +408,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "6c:5c:b1:ff:fe:60:80:6f:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "6c:5c:b1:ff:fe:60:80:6f", "endpoint_id": 1, "available": true, @@ -488,22 +441,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "6c:5c:b1:ff:fe:60:80:6f:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "6c:5c:b1:ff:fe:60:80:6f", "endpoint_id": 1, "available": true, @@ -534,22 +471,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "6c:5c:b1:ff:fe:60:80:6f:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "6c:5c:b1:ff:fe:60:80:6f", "endpoint_id": 1, "available": true, @@ -584,22 +505,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "6c:5c:b1:ff:fe:60:80:6f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "6c:5c:b1:ff:fe:60:80:6f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/yunding-ford.json b/tests/data/devices/yunding-ford.json index d441660e4..2962b5810 100644 --- a/tests/data/devices/yunding-ford.json +++ b/tests/data/devices/yunding-ford.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "68:0a:e2:ff:fe:6a:22:af", "nwk": "0x056B", "manufacturer": "Yunding", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200 + "value": 200, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,40 +93,57 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0101", "endpoint_attribute": "door_lock", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "lock_state", "zcl_type": "enum8", - "value": 2 + "value": 2, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "manufacturer_specific", + "bind": "SUCCESS", "attributes": [] } ], @@ -126,16 +151,19 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -197,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "68:0a:e2:ff:fe:6a:22:af:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "68:0a:e2:ff:fe:6a:22:af", "endpoint_id": 1, "available": true, @@ -245,22 +257,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "DoorLockClusterHandler", - "generic_id": "cluster_handler_0x0101", - "endpoint_id": 1, - "cluster": { - "id": 257, - "name": "Door Lock", - "type": "server" - }, - "id": "1:0x0101", - "unique_id": "68:0a:e2:ff:fe:6a:22:af:1:0x0101", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "68:0a:e2:ff:fe:6a:22:af", "endpoint_id": 1, "available": true, @@ -289,22 +285,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "68:0a:e2:ff:fe:6a:22:af:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "68:0a:e2:ff:fe:6a:22:af", "endpoint_id": 1, "available": true, @@ -333,22 +313,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "68:0a:e2:ff:fe:6a:22:af:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "68:0a:e2:ff:fe:6a:22:af", "endpoint_id": 1, "available": true, @@ -377,22 +341,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "68:0a:e2:ff:fe:6a:22:af:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "68:0a:e2:ff:fe:6a:22:af", "endpoint_id": 1, "available": true, @@ -430,22 +378,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "68:0a:e2:ff:fe:6a:22:af:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "68:0a:e2:ff:fe:6a:22:af", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/zbeacon-ts0001.json b/tests/data/devices/zbeacon-ts0001.json index 442c986fc..b5c602951 100644 --- a/tests/data/devices/zbeacon-ts0001.json +++ b/tests/data/devices/zbeacon-ts0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:c6:20:7e:d6", "nwk": "0x2944", "manufacturer": "Zbeacon", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -68,21 +69,25 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -94,7 +99,13 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4001", @@ -113,26 +124,31 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1888", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -194,22 +210,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:c6:20:7e:d6:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c6:20:7e:d6", "endpoint_id": 1, "available": true, @@ -242,22 +242,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:c6:20:7e:d6:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:c6:20:7e:d6", "endpoint_id": 1, "available": true, @@ -310,22 +294,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:c6:20:7e:d6:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:c6:20:7e:d6", "endpoint_id": 1, "available": true, @@ -361,22 +329,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c6:20:7e:d6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c6:20:7e:d6", "endpoint_id": 1, "available": true, @@ -405,22 +357,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c6:20:7e:d6:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c6:20:7e:d6", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/zbeacon-ts0505.json b/tests/data/devices/zbeacon-ts0505.json index 2e87fe6b1..036bd6591 100644 --- a/tests/data/devices/zbeacon-ts0505.json +++ b/tests/data/devices/zbeacon-ts0505.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ba:80:83:70", "nwk": "0xE88F", "manufacturer": "zbeacon", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,27 +63,37 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x4003", @@ -95,12 +106,19 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 126 + "value": 126, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0014", @@ -143,11 +161,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", + "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -183,7 +203,13 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 153 + "value": 153, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0000", @@ -201,13 +227,25 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 10040 + "value": 10040, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 3116 + "value": 3116, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x000f", @@ -226,26 +264,501 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0000", + "name": "current_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "current_tier1_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0102", + "name": "current_tier2_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0104", + "name": "current_tier3_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "current_tier4_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0108", + "name": "current_tier5_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x010a", + "name": "current_tier6_summ_delivered", + "zcl_type": "uint48", + "unsupported": false, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0400", + "name": "instantaneous_demand", + "zcl_type": "int24", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "status", + "zcl_type": "map8", + "unsupported": false, + "reporting": { + "min": 1, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "attributes": [] + "bind": "SUCCESS", + "attributes": [ + { + "id": "0x0603", + "name": "ac_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0602", + "name": "ac_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0300", + "name": "ac_frequency", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0605", + "name": "ac_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0604", + "name": "ac_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0601", + "name": "ac_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0600", + "name": "ac_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x050b", + "name": "active_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x050f", + "name": "apparent_power", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0403", + "name": "power_divisor", + "zcl_type": "uint32", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0402", + "name": "power_multiplier", + "zcl_type": "uint32", + "unsupported": false, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0508", + "name": "rms_current", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0505", + "name": "rms_voltage", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": false, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } + } + ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe000", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -310,22 +823,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:ba:80:83:70:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ba:80:83:70", "endpoint_id": 1, "available": true, @@ -358,50 +855,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ba:80:83:70:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:ba:80:83:70:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:ba:80:83:70:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:ba:80:83:70", "endpoint_id": 1, "available": true, @@ -460,22 +913,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:ba:80:83:70:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:ba:80:83:70", "endpoint_id": 1, "available": true, @@ -507,22 +944,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:ba:80:83:70:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:ba:80:83:70", "endpoint_id": 1, "available": true, @@ -554,22 +975,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:ba:80:83:70:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:ba:80:83:70", "endpoint_id": 1, "available": true, @@ -601,22 +1006,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:ba:80:83:70:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:ba:80:83:70", "endpoint_id": 1, "available": true, @@ -648,22 +1037,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:ba:80:83:70:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:ba:80:83:70", "endpoint_id": 1, "available": true, @@ -697,22 +1070,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ba:80:83:70:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ba:80:83:70", "endpoint_id": 1, "available": true, @@ -748,22 +1105,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ba:80:83:70:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ba:80:83:70", "endpoint_id": 1, "available": true, @@ -792,22 +1133,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ba:80:83:70:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ba:80:83:70", "endpoint_id": 1, "available": true, @@ -836,22 +1161,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:ba:80:83:70:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:ba:80:83:70", "endpoint_id": 1, "available": true, @@ -886,22 +1195,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:ba:80:83:70:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:ba:80:83:70", "endpoint_id": 1, "available": true, @@ -936,22 +1229,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:ba:80:83:70:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:ba:80:83:70", "endpoint_id": 1, "available": true, @@ -984,22 +1261,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:ba:80:83:70:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:ba:80:83:70", "endpoint_id": 1, "available": true, @@ -1032,22 +1293,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:ba:80:83:70:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:ba:80:83:70", "endpoint_id": 1, "available": true, @@ -1079,22 +1324,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:ba:80:83:70:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:ba:80:83:70", "endpoint_id": 1, "available": true, @@ -1126,22 +1355,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:ba:80:83:70:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:ba:80:83:70", "endpoint_id": 1, "available": true, @@ -1174,22 +1387,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:ba:80:83:70:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:ba:80:83:70", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/zehnder-group-vaux-andigny-alcantara2-d1-00p1-02z1-00.json b/tests/data/devices/zehnder-group-vaux-andigny-alcantara2-d1-00p1-02z1-00.json index 43f9c34a2..64d98c1c7 100644 --- a/tests/data/devices/zehnder-group-vaux-andigny-alcantara2-d1-00p1-02z1-00.json +++ b/tests/data/devices/zehnder-group-vaux-andigny-alcantara2-d1-00p1-02z1-00.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:7f:49:22:da", "nwk": "0xD3DA", "manufacturer": "ZEHNDER GROUP VAUX ANDIGNY ", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,11 +63,13 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -102,7 +105,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 700 + "value": 700, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -138,61 +147,121 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "value": 1 + "value": 1, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2600 + "value": 2600, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 700 + "value": 700, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 1 + "value": 1, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "value": 800 + "value": 800, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] } @@ -201,6 +270,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -215,22 +285,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 1 + "value": 1, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } } ] } @@ -239,6 +318,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -253,22 +333,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", + "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0 + "value": 0, + "reporting": { + "min": 0, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x006f", @@ -283,6 +372,7 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -298,6 +388,7 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", + "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -385,22 +476,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OccupancySensingClusterHandler", - "generic_id": "cluster_handler_0x0406", - "endpoint_id": 2, - "cluster": { - "id": 1030, - "name": "Occupancy Sensing", - "type": "server" - }, - "id": "2:0x0406", - "unique_id": "ab:cd:ef:12:7f:49:22:da:2:0x0406", - "status": "INITIALIZED", - "value_attribute": "occupancy" - } - ], "device_ieee": "ab:cd:ef:12:7f:49:22:da", "endpoint_id": 2, "available": true, @@ -428,22 +503,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BinaryInputClusterHandler", - "generic_id": "cluster_handler_0x000f", - "endpoint_id": 3, - "cluster": { - "id": 15, - "name": "Binary Input (Basic)", - "type": "server" - }, - "id": "3:0x000f", - "unique_id": "ab:cd:ef:12:7f:49:22:da:3:0x000f", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:7f:49:22:da", "endpoint_id": 3, "available": true, @@ -473,22 +532,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:7f:49:22:da:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7f:49:22:da", "endpoint_id": 1, "available": true, @@ -521,22 +564,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:7f:49:22:da:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:7f:49:22:da", "endpoint_id": 1, "available": true, @@ -600,22 +627,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:7f:49:22:da:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:7f:49:22:da", "endpoint_id": 1, "available": true, @@ -649,22 +660,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7f:49:22:da:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7f:49:22:da", "endpoint_id": 1, "available": true, @@ -693,22 +688,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7f:49:22:da:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7f:49:22:da", "endpoint_id": 1, "available": true, @@ -737,22 +716,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:7f:49:22:da:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:7f:49:22:da", "endpoint_id": 1, "available": true, @@ -781,22 +744,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:7f:49:22:da:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:7f:49:22:da", "endpoint_id": 1, "available": true, @@ -825,22 +772,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:7f:49:22:da:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:7f:49:22:da", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/zen-within-zen-01.json b/tests/data/devices/zen-within-zen-01.json index 347a53076..26778b4c5 100644 --- a/tests/data/devices/zen-within-zen-01.json +++ b/tests/data/devices/zen-within-zen-01.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e9:5a:2c:fd", "nwk": "0x93EA", "manufacturer": "Zen Within", @@ -44,6 +44,7 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -62,12 +63,19 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", + "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0033", @@ -85,28 +93,38 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 60 + "value": 60, + "reporting": { + "min": 3600, + "max": 10800, + "change": 1, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -119,6 +137,7 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", + "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -154,7 +173,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2170 + "value": 2170, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0010", @@ -190,43 +215,85 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2350 + "value": 2350, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1700 + "value": 1700, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 5, + "status": "SUCCESS" + } }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0 + "value": 0, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0030", @@ -238,31 +305,56 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4 + "value": 4, + "reporting": { + "min": 30, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true + "unsupported": true, + "reporting": { + "min": 30, + "max": 900, + "change": 25, + "status": "SUCCESS" + } } ] }, { "cluster_id": "0x0202", "endpoint_attribute": "fan", + "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "fan_mode", "zcl_type": "enum8", - "value": 5 + "value": 5, + "reporting": { + "min": 5, + "max": 900, + "change": 1, + "status": "SUCCESS" + } }, { "id": "0x0001", @@ -275,6 +367,7 @@ { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", + "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -287,11 +380,13 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe11", "endpoint_attribute": "manufacturer_specific", + "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -299,11 +394,13 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", + "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", + "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -375,22 +472,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:e9:5a:2c:fd:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e9:5a:2c:fd", "endpoint_id": 1, "available": true, @@ -423,36 +504,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e9:5a:2c:fd:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - }, - { - "class_name": "FanClusterHandler", - "generic_id": "cluster_handler_0x0202", - "endpoint_id": 1, - "cluster": { - "id": 514, - "name": "Fan Control", - "type": "server" - }, - "id": "1:0x0202", - "unique_id": "ab:cd:ef:12:e9:5a:2c:fd:1:0x0202", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e9:5a:2c:fd", "endpoint_id": 1, "available": true, @@ -521,22 +572,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e9:5a:2c:fd:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e9:5a:2c:fd", "endpoint_id": 1, "available": true, @@ -568,22 +603,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e9:5a:2c:fd:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e9:5a:2c:fd", "endpoint_id": 1, "available": true, @@ -615,22 +634,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e9:5a:2c:fd:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e9:5a:2c:fd", "endpoint_id": 1, "available": true, @@ -664,22 +667,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "UserInterfaceClusterHandler", - "generic_id": "cluster_handler_0x0204", - "endpoint_id": 1, - "cluster": { - "id": 516, - "name": "Thermostat User Interface Configuration", - "type": "server" - }, - "id": "1:0x0204", - "unique_id": "ab:cd:ef:12:e9:5a:2c:fd:1:0x0204", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e9:5a:2c:fd", "endpoint_id": 1, "available": true, @@ -716,22 +703,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e9:5a:2c:fd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e9:5a:2c:fd", "endpoint_id": 1, "available": true, @@ -760,22 +731,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e9:5a:2c:fd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e9:5a:2c:fd", "endpoint_id": 1, "available": true, @@ -804,22 +759,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:e9:5a:2c:fd:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:e9:5a:2c:fd", "endpoint_id": 1, "available": true, @@ -856,22 +795,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e9:5a:2c:fd:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e9:5a:2c:fd", "endpoint_id": 1, "available": true, @@ -900,22 +823,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "Thermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:e9:5a:2c:fd:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:e9:5a:2c:fd", "endpoint_id": 1, "available": true, @@ -946,22 +853,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e9:5a:2c:fd:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e9:5a:2c:fd", "endpoint_id": 1, "available": true, From d82c83eeb7a808e52fce7b8a3ffaddb1757f727a Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Thu, 5 Feb 2026 23:33:40 +0100 Subject: [PATCH 04/85] Account for cross-platform device type unique ID logic from old discovery --- zha/application/discovery.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/zha/application/discovery.py b/zha/application/discovery.py index aec9a259c..c906f02d6 100644 --- a/zha/application/discovery.py +++ b/zha/application/discovery.py @@ -459,7 +459,7 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit endpoint.zigpy_endpoint.profile_id, endpoint.zigpy_endpoint.device_type, ) - if ( + if platform_override is None and ( match.profile_device_types is not None and profile_device_type not in match.profile_device_types and not ( @@ -469,7 +469,7 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit ): continue - if ( + if platform_override is None and ( match.not_profile_device_types is not None and profile_device_type in match.not_profile_device_types and not ( From e17e904acbd8e1a67dc4865a7e74980361741165 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Fri, 6 Feb 2026 14:10:29 +0100 Subject: [PATCH 05/85] Avoid boosting entirely --- zha/application/discovery.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/zha/application/discovery.py b/zha/application/discovery.py index c906f02d6..07a1fe254 100644 --- a/zha/application/discovery.py +++ b/zha/application/discovery.py @@ -528,9 +528,21 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit ignored_matches, ) - matches = matches_by_priority[highest_priority] + selected_matches = matches_by_priority[highest_priority] - for match, entity_class in matches: + # Use platform overrides to replace the results of the normal priority scoring + # system when competing entities are part of the same feature group + if platform_override is not None and feature is not None: + override_matches = [ + (match, entity) + for priority_matches in matches_by_priority.values() + for match, entity in priority_matches + if platform_override == entity.PLATFORM + ] + if override_matches: + selected_matches = override_matches + + for match, entity_class in selected_matches: server_handlers = set(match.cluster_handlers) for optional in match.optional_cluster_handlers: From 389162ceb0704fcbac0dbac4d57e7e96578c15f6 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Fri, 6 Feb 2026 16:28:19 +0100 Subject: [PATCH 06/85] WIP: Test provisional config format for matching clusters --- zha/application/discovery.py | 119 +++++++++++++++---- zha/application/platforms/__init__.py | 71 ++++++++++- zha/application/platforms/sensor/__init__.py | 47 +++++++- zha/zigbee/device.py | 41 ++++++- 4 files changed, 246 insertions(+), 32 deletions(-) diff --git a/zha/application/discovery.py b/zha/application/discovery.py index 07a1fe254..9e2893a8e 100644 --- a/zha/application/discovery.py +++ b/zha/application/discovery.py @@ -29,6 +29,7 @@ GROUP_ENTITY_REGISTRY, BaseEntity, ClusterHandlerMatch, + ClusterMatch, PlatformEntity, PlatformFeatureGroup, alarm_control_panel, @@ -390,6 +391,44 @@ def discover_quirks_v2_entities(device: Device) -> Iterator[PlatformEntity]: cluster_handler.BIND = False +def _resolve_cluster_handlers_for_match( + endpoint: Endpoint, match: ClusterMatch +) -> list[ClusterHandler]: + """Resolve server cluster handlers from a ClusterMatch.""" + result: list[ClusterHandler] = [] + + for cluster_id in match.server_clusters: + key = f"{endpoint.id}:0x{cluster_id:04x}" + if key in endpoint.all_cluster_handlers: + result.append(endpoint.all_cluster_handlers[key]) + + for cluster_id in match.optional_server_clusters: + key = f"{endpoint.id}:0x{cluster_id:04x}" + if key in endpoint.all_cluster_handlers: + result.append(endpoint.all_cluster_handlers[key]) + + return result + + +def _resolve_client_cluster_handlers_for_match( + endpoint: Endpoint, match: ClusterMatch +) -> list[ClientClusterHandler]: + """Resolve client cluster handlers from a ClusterMatch.""" + result: list[ClientClusterHandler] = [] + + for cluster_id in match.client_clusters: + key = f"{endpoint.id}:0x{cluster_id:04x}_client" + if key in endpoint.client_cluster_handlers: + result.append(endpoint.client_cluster_handlers[key]) + + for cluster_id in match.optional_client_clusters: + key = f"{endpoint.id}:0x{cluster_id:04x}_client" + if key in endpoint.client_cluster_handlers: + result.append(endpoint.client_cluster_handlers[key]) + + return result + + def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntity]: # noqa: C901 """Discover entities for an endpoint using the new registry-based discovery.""" device = endpoint.device @@ -409,10 +448,13 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit PlatformFeatureGroup | None, defaultdict[ int, # Weight - list[tuple[ClusterHandlerMatch, type[PlatformEntity]]], + list[tuple[ClusterHandlerMatch | ClusterMatch, type[PlatformEntity]]], ], ] = defaultdict(lambda: defaultdict(list)) + in_cluster_ids = set(endpoint.zigpy_endpoint.in_clusters) + out_cluster_ids = set(endpoint.zigpy_endpoint.out_clusters) + for cluster in itertools.chain( endpoint.zigpy_endpoint.in_clusters.values(), endpoint.zigpy_endpoint.out_clusters.values(), @@ -420,19 +462,31 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit # To speed up lookups, we key ENTITY_REGISTRY by cluster ID. First, we find all # compatible entities and their matching criteria. for entity_class in ENTITY_REGISTRY.get(cluster.cluster_id, []): - match = entity_class._cluster_handler_match - if match is None: - continue + match: ClusterHandlerMatch | ClusterMatch | None - if not match.cluster_handlers.issubset( - endpoint.cluster_handlers_by_name.keys() - ): + if entity_class._cluster_match is not None: + match = entity_class._cluster_match + elif entity_class._cluster_handler_match is not None: + match = entity_class._cluster_handler_match + else: continue - if not match.client_cluster_handlers.issubset( - endpoint.client_cluster_handlers_by_name.keys() - ): - continue + if isinstance(match, ClusterMatch): + if not match.server_clusters.issubset(in_cluster_ids): + continue + + if not match.client_clusters.issubset(out_cluster_ids): + continue + else: + if not match.cluster_handlers.issubset( + endpoint.cluster_handlers_by_name.keys() + ): + continue + + if not match.client_cluster_handlers.issubset( + endpoint.client_cluster_handlers_by_name.keys() + ): + continue if ( match.exposed_features is not None @@ -543,25 +597,38 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit selected_matches = override_matches for match, entity_class in selected_matches: - server_handlers = set(match.cluster_handlers) + if isinstance(match, ClusterMatch): + # New cluster-based discovery: resolve cluster handlers from + # cluster IDs for backward compatibility during migration. + # Handlers are NOT claimed: configuration is handled by + # configure_cluster_configs/initialize_cluster_configs. + server_cluster_handlers = _resolve_cluster_handlers_for_match( + endpoint, match + ) + client_cluster_handlers = _resolve_client_cluster_handlers_for_match( + endpoint, match + ) + else: + server_handlers = set(match.cluster_handlers) - for optional in match.optional_cluster_handlers: - if optional in endpoint.cluster_handlers_by_name: - server_handlers.add(optional) + for optional in match.optional_cluster_handlers: + if optional in endpoint.cluster_handlers_by_name: + server_handlers.add(optional) - client_handlers = set(match.client_cluster_handlers) + client_handlers = set(match.client_cluster_handlers) - server_cluster_handlers = [ - endpoint.cluster_handlers_by_name[name] for name in server_handlers - ] - client_cluster_handlers = [ - endpoint.client_cluster_handlers_by_name[name] - for name in client_handlers - ] + server_cluster_handlers = [ + endpoint.cluster_handlers_by_name[name] for name in server_handlers + ] + client_cluster_handlers = [ + endpoint.client_cluster_handlers_by_name[name] + for name in client_handlers + ] - # Claim on endpoint - endpoint.claim_cluster_handlers(server_cluster_handlers) - endpoint.claim_cluster_handlers(client_cluster_handlers) + # Claim on endpoint (only for legacy ClusterHandlerMatch entities) + if not isinstance(match, ClusterMatch): + endpoint.claim_cluster_handlers(server_cluster_handlers) + endpoint.claim_cluster_handlers(client_cluster_handlers) _LOGGER.debug( "'%s' platform -> '%s' using %s + %s", diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index 9da3fc16c..649262b27 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -8,6 +8,7 @@ from collections.abc import Callable from contextlib import suppress import dataclasses +from dataclasses import dataclass, field from enum import StrEnum from functools import cached_property import logging @@ -17,6 +18,7 @@ from zigpy.quirks.v2 import EntityMetadata, EntityType from zigpy.types import ClusterId from zigpy.types.named import EUI64 +from zigpy.zcl.foundation import ZCLAttributeDef from zha.application import Platform from zha.application.const import UniqueIdMigration @@ -79,6 +81,64 @@ class PlatformFeatureGroup(StrEnum): SIREN = "siren" +@dataclass(frozen=True) +class AttrConfig: + """Per-attribute configuration for cluster setup.""" + + read_on_startup: bool + """Whether to force a fresh read on startup (True) or use cache (False).""" + + reporting: tuple[int, int, int | float] | None = None + """Reporting config: (min_interval, max_interval, reportable_change) or None.""" + + +@dataclass(frozen=True) +class ClusterConfig: + """Per-cluster configuration.""" + + bind: bool = False + """Whether to bind this cluster to the coordinator.""" + + attributes: dict[ZCLAttributeDef, AttrConfig] = field(default_factory=dict) + """Per-attribute configuration keyed by ZCL attribute definition.""" + + +@dataclass(frozen=True) +class ClusterMatch: + """Declares which clusters an entity requires for discovery.""" + + server_clusters: frozenset[int] = frozenset() + client_clusters: frozenset[int] = frozenset() + optional_server_clusters: frozenset[int] = frozenset() + optional_client_clusters: frozenset[int] = frozenset() + + # Strict filters: if present, device info must match + manufacturers: frozenset[str] | None = None + models: frozenset[str] | None = None + exposed_features: frozenset[str] | None = None + + # Profile and device type filters + profile_device_types: ( + frozenset[ + tuple[Literal[zha.PROFILE_ID], zha.DeviceType] + | tuple[Literal[zll.PROFILE_ID], zll.DeviceType] + | tuple[int, int] + ] + | None + ) = None + not_profile_device_types: ( + frozenset[ + tuple[Literal[zha.PROFILE_ID], zha.DeviceType] + | tuple[Literal[zll.PROFILE_ID], zll.DeviceType] + | tuple[int, int] + ] + | None + ) = None + + # For a given feature, only entities with the highest priority will be considered + feature_priority: tuple[PlatformFeatureGroup, int] | None = None + + @dataclasses.dataclass(frozen=True) class ClusterHandlerMatch: """Declares cluster handler requirements for an entity class.""" @@ -451,8 +511,15 @@ class PlatformEntity(BaseEntity): _migrate_platform_unique_ids: tuple[tuple[UniqueIdMigration, str]] | None = None - # Auto-discovery for the entity - _cluster_handler_match: ClusterHandlerMatch | None + # Legacy: Auto-discovery for the entity (being phased out) + _cluster_handler_match: ClusterHandlerMatch | None = None + + # New: Direct cluster matching for discovery + _cluster_match: ClusterMatch | None = None + + # New: Per-cluster configuration (keyed by cluster ID) + _server_cluster_config: dict[int, ClusterConfig] = {} + _client_cluster_config: dict[int, ClusterConfig] = {} def __init__( self, diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 4b3cb0079..a0c037bfe 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -53,10 +53,13 @@ from zha.application import Platform from zha.application.platforms import ( + AttrConfig, BaseEntity, BaseEntityInfo, BaseIdentifiers, + ClusterConfig, ClusterHandlerMatch, + ClusterMatch, EntityCategory, PlatformEntity, PlatformFeatureGroup, @@ -124,6 +127,7 @@ CLUSTER_HANDLER_WIND_SPEED, IKEA_AIR_PURIFIER_CLUSTER, INOVELLI_CLUSTER, + REPORT_CONFIG_DEFAULT, SMARTTHINGS_HUMIDITY_CLUSTER, SONOFF_CLUSTER, TUYA_MANUFACTURER_CLUSTER, @@ -630,9 +634,46 @@ class AnalogInputSensor(Sensor): _unique_id_suffix = "analog_input" _attr_state_class = SensorStateClass.MEASUREMENT - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ANALOG_INPUT}), - ) + _cluster_match = ClusterMatch( + server_clusters=frozenset({AnalogInput.cluster_id}), + ) + + _server_cluster_config = { + AnalogInput.cluster_id: ClusterConfig( + bind=True, + attributes={ + AnalogInput.AttributeDefs.present_value: AttrConfig( + read_on_startup=False, + reporting=REPORT_CONFIG_DEFAULT, + ), + AnalogInput.AttributeDefs.description: AttrConfig( + read_on_startup=False + ), + AnalogInput.AttributeDefs.max_present_value: AttrConfig( + read_on_startup=False + ), + AnalogInput.AttributeDefs.min_present_value: AttrConfig( + read_on_startup=False + ), + AnalogInput.AttributeDefs.out_of_service: AttrConfig( + read_on_startup=False + ), + AnalogInput.AttributeDefs.reliability: AttrConfig( + read_on_startup=False + ), + AnalogInput.AttributeDefs.resolution: AttrConfig(read_on_startup=False), + AnalogInput.AttributeDefs.status_flags: AttrConfig( + read_on_startup=False + ), + AnalogInput.AttributeDefs.engineering_units: AttrConfig( + read_on_startup=False + ), + AnalogInput.AttributeDefs.application_type: AttrConfig( + read_on_startup=False + ), + }, + ), + } def recompute_capabilities(self) -> None: """Recompute capabilities.""" diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index 314c5b738..912a869c5 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -86,7 +86,16 @@ from zha.event import EventBase from zha.exceptions import ZHAException from zha.mixins import LogMixin -from zha.zigbee.cluster_handlers import ClusterHandler, ZDOClusterHandler +from zha.zigbee.cluster_config import ( + aggregate_cluster_configs, + configure_cluster_configs, + initialize_cluster_configs, +) +from zha.zigbee.cluster_handlers import ( + ClusterHandler, + ClusterHandlerStatus, + ZDOClusterHandler, +) from zha.zigbee.endpoint import Endpoint if TYPE_CHECKING: @@ -950,6 +959,21 @@ async def async_configure(self) -> None: *(endpoint.async_configure() for endpoint in self._endpoints.values()) ) + # Configure binding and reporting from entity-level cluster configs + aggregated = aggregate_cluster_configs(self._pending_entities) + if aggregated: + await configure_cluster_configs(aggregated, self.manufacturer_code) + + # Mark cluster handlers as CONFIGURED for ClusterMatch entities + for entity in self._pending_entities: + if ( + not hasattr(entity, "_cluster_match") + or entity._cluster_match is None + ): + continue + for ch in entity._cluster_handlers: + ch._status = ClusterHandlerStatus.CONFIGURED + self.emit_reconfigure_done() self.debug("completed configuration") @@ -1231,6 +1255,21 @@ async def async_initialize(self, from_cache: bool = False) -> None: except Exception: # pylint: disable=broad-exception-caught self.debug("Failed to initialize endpoint", exc_info=True) + # Read initial attributes from entity-level cluster configs + aggregated = aggregate_cluster_configs(self._pending_entities) + if aggregated: + await initialize_cluster_configs(aggregated, from_cache) + + # Mark cluster handlers as INITIALIZED for ClusterMatch entities + for entity in self._pending_entities: + if ( + not hasattr(entity, "_cluster_match") + or entity._cluster_match is None + ): + continue + for ch in entity._cluster_handlers: + ch._status = ClusterHandlerStatus.INITIALIZED + # And add them after. Emit events only on re-initialization, not the first. await self._add_pending_entities(emit_event=self._initialized) self._initialized = True From d39cae6e60b12e00c5b6651c2f8a2efd6243a1cd Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Fri, 6 Feb 2026 17:26:56 +0100 Subject: [PATCH 07/85] Fix async tests for 3.14 --- tests/test_async_.py | 93 +++++++++++++++++++++++++++++--------------- 1 file changed, 62 insertions(+), 31 deletions(-) diff --git a/tests/test_async_.py b/tests/test_async_.py index d049cec34..9407e6fc3 100644 --- a/tests/test_async_.py +++ b/tests/test_async_.py @@ -37,12 +37,18 @@ def run_job(job: ZHAJob) -> None: async def test_async_add_zha_job_schedule_callback() -> None: """Test that we schedule callbacks and add jobs to the job pool.""" - zha_gateway = MagicMock(loop=MagicMock(wraps=asyncio.get_running_loop())) + loop = asyncio.get_running_loop() + zha_gateway = MagicMock(loop=loop) job = MagicMock() - AsyncUtilMixin.async_add_zha_job(zha_gateway, ZHAJob(job)) - assert len(zha_gateway.loop.call_soon.mock_calls) == 1 - assert len(zha_gateway.loop.create_task.mock_calls) == 0 + with ( + patch.object(loop, "call_soon", wraps=loop.call_soon) as mock_call_soon, + patch.object(loop, "create_task", wraps=loop.create_task) as mock_create_task, + ): + AsyncUtilMixin.async_add_zha_job(zha_gateway, ZHAJob(job)) + + assert len(mock_call_soon.mock_calls) == 1 + assert len(mock_create_task.mock_calls) == 0 assert len(zha_gateway.add_job.mock_calls) == 0 @@ -177,32 +183,43 @@ async def mycoro(): async def test_async_add_zha_job_schedule_partial_callback() -> None: """Test that we schedule partial coros and add jobs to the job pool.""" - zha_gateway = MagicMock(loop=MagicMock(wraps=asyncio.get_running_loop())) + loop = asyncio.get_running_loop() + zha_gateway = MagicMock(loop=loop) job = MagicMock() partial = functools.partial(job) - AsyncUtilMixin.async_add_zha_job(zha_gateway, ZHAJob(partial)) - assert len(zha_gateway.loop.call_soon.mock_calls) == 1 - assert len(zha_gateway.loop.create_task.mock_calls) == 0 + with ( + patch.object(loop, "call_soon", wraps=loop.call_soon) as mock_call_soon, + patch.object(loop, "create_task", wraps=loop.create_task) as mock_create_task, + ): + AsyncUtilMixin.async_add_zha_job(zha_gateway, ZHAJob(partial)) + + assert len(mock_call_soon.mock_calls) == 1 + assert len(mock_create_task.mock_calls) == 0 assert len(zha_gateway.add_job.mock_calls) == 0 async def test_async_add_zha_job_schedule_coroutinefunction() -> None: """Test that we schedule coroutines and add jobs to the job pool.""" - zha_gateway = MagicMock(loop=MagicMock(wraps=asyncio.get_running_loop())) + loop = asyncio.get_running_loop() + zha_gateway = MagicMock(loop=loop) async def job(): pass - AsyncUtilMixin.async_add_zha_job(zha_gateway, ZHAJob(job)) - assert len(zha_gateway.loop.call_soon.mock_calls) == 0 - assert len(zha_gateway.loop.create_task.mock_calls) == 1 + with ( + patch.object(loop, "create_task", wraps=loop.create_task) as mock_create_task, + ): + AsyncUtilMixin.async_add_zha_job(zha_gateway, ZHAJob(job)) + + assert len(mock_create_task.mock_calls) == 1 assert len(zha_gateway.add_job.mock_calls) == 0 async def test_async_add_zha_job_schedule_corofunction_eager_start() -> None: """Test that we schedule coroutines and add jobs to the job pool.""" - zha_gateway = MagicMock(loop=(loop := asyncio.get_running_loop())) + loop = asyncio.get_running_loop() + zha_gateway = MagicMock(loop=loop) async def job(): pass @@ -215,27 +232,32 @@ async def job(): ): zha_job = ZHAJob(job) task = AsyncUtilMixin.async_add_zha_job(zha_gateway, zha_job, eager_start=True) - assert task is not None - assert mock_loop_call_soon.call_count == 0 - assert len(zha_gateway.add_job.mock_calls) == 0 - assert mock_create_eager_task.mock_calls - await task + + assert task is not None + assert mock_loop_call_soon.call_count == 0 + assert len(zha_gateway.add_job.mock_calls) == 0 + assert mock_create_eager_task.mock_calls + await task async def test_async_add_zha_job_schedule_partial_coroutinefunction( zha_gateway: Gateway, ) -> None: """Test that we schedule partial coros and add jobs to the job pool.""" - zha_gateway = MagicMock(loop=MagicMock(wraps=asyncio.get_running_loop())) + loop = asyncio.get_running_loop() + zha_gateway = MagicMock(loop=loop) async def job(): pass partial = functools.partial(job) - AsyncUtilMixin.async_add_zha_job(zha_gateway, ZHAJob(partial)) - assert len(zha_gateway.loop.call_soon.mock_calls) == 0 - assert len(zha_gateway.loop.create_task.mock_calls) == 1 + with ( + patch.object(loop, "create_task", wraps=loop.create_task) as mock_create_task, + ): + AsyncUtilMixin.async_add_zha_job(zha_gateway, ZHAJob(partial)) + + assert len(mock_create_task.mock_calls) == 1 assert len(zha_gateway.add_job.mock_calls) == 0 @@ -254,20 +276,25 @@ def job(): async def test_async_create_task_schedule_coroutine() -> None: """Test that we schedule coroutines and add jobs to the job pool.""" - zha_gateway = MagicMock(loop=MagicMock(wraps=asyncio.get_running_loop())) + loop = asyncio.get_running_loop() + zha_gateway = MagicMock(loop=loop) async def job(): pass - AsyncUtilMixin.async_create_task(zha_gateway, job()) - assert len(zha_gateway.loop.call_soon.mock_calls) == 0 - assert len(zha_gateway.loop.create_task.mock_calls) == 1 + with ( + patch.object(loop, "create_task", wraps=loop.create_task) as mock_create_task, + ): + AsyncUtilMixin.async_create_task(zha_gateway, job()) + + assert len(mock_create_task.mock_calls) == 1 assert len(zha_gateway.add_job.mock_calls) == 0 async def test_async_create_task_eager_start_schedule_coroutine() -> None: """Test that we schedule coroutines and add jobs to the job pool.""" - zha_gateway = MagicMock(loop=(loop := asyncio.get_running_loop())) + loop = asyncio.get_running_loop() + zha_gateway = MagicMock(loop=loop) async def job(): pass @@ -282,14 +309,18 @@ async def job(): async def test_async_create_task_schedule_coroutine_with_name() -> None: """Test that we schedule coroutines and add jobs to the job pool with a name.""" - zha_gateway = MagicMock(loop=MagicMock(wraps=asyncio.get_running_loop())) + loop = asyncio.get_running_loop() + zha_gateway = MagicMock(loop=loop) async def job(): pass - task = AsyncUtilMixin.async_create_task(zha_gateway, job(), "named task") - assert len(zha_gateway.loop.call_soon.mock_calls) == 0 - assert len(zha_gateway.loop.create_task.mock_calls) == 1 + with ( + patch.object(loop, "create_task", wraps=loop.create_task) as mock_create_task, + ): + task = AsyncUtilMixin.async_create_task(zha_gateway, job(), "named task") + + assert len(mock_create_task.mock_calls) == 1 assert len(zha_gateway.add_job.mock_calls) == 0 assert "named task" in str(task) From e118889ed88605fbf841aee34a92788718b2a436 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Fri, 6 Feb 2026 18:57:20 +0100 Subject: [PATCH 08/85] Migrate simple platforms --- .../platforms/alarm_control_panel/__init__.py | 18 ++++++----- zha/application/platforms/device_tracker.py | 31 +++++++++++++++++-- zha/application/platforms/lock/__init__.py | 21 +++++++++++-- zha/application/platforms/siren.py | 10 ++++++ 4 files changed, 67 insertions(+), 13 deletions(-) diff --git a/zha/application/platforms/alarm_control_panel/__init__.py b/zha/application/platforms/alarm_control_panel/__init__.py index 50ea4608b..aa13b4a40 100644 --- a/zha/application/platforms/alarm_control_panel/__init__.py +++ b/zha/application/platforms/alarm_control_panel/__init__.py @@ -14,7 +14,8 @@ from zha.application import Platform from zha.application.platforms import ( BaseEntityInfo, - ClusterHandlerMatch, + ClusterConfig, + ClusterMatch, PlatformEntity, register_entity, ) @@ -27,10 +28,7 @@ AlarmState, CodeFormat, ) -from zha.zigbee.cluster_handlers.const import ( - CLUSTER_HANDLER_IAS_ACE, - CLUSTER_HANDLER_STATE_CHANGED, -) +from zha.zigbee.cluster_handlers.const import CLUSTER_HANDLER_STATE_CHANGED from zha.zigbee.cluster_handlers.security import ( ClusterHandlerStateChangedEvent, IasAceClientClusterHandler, @@ -133,10 +131,16 @@ class AlarmControlPanel(BaseAlarmControlPanel): | SUPPORT_ALARM_TRIGGER ) - _cluster_handler_match = ClusterHandlerMatch( - client_cluster_handlers=frozenset({CLUSTER_HANDLER_IAS_ACE}), + _cluster_match = ClusterMatch( + client_clusters=frozenset({IasAce.cluster_id}), ) + _client_cluster_config = { + IasAce.cluster_id: ClusterConfig( + bind=True, + ), + } + def __init__( self, cluster_handlers: list[ClusterHandler], diff --git a/zha/application/platforms/device_tracker.py b/zha/application/platforms/device_tracker.py index 0014f811c..e08915cb6 100644 --- a/zha/application/platforms/device_tracker.py +++ b/zha/application/platforms/device_tracker.py @@ -13,7 +13,9 @@ from zha.application import Platform from zha.application.platforms import ( - ClusterHandlerMatch, + AttrConfig, + ClusterConfig, + ClusterMatch, PlatformEntity, register_entity, ) @@ -23,6 +25,7 @@ from zha.zigbee.cluster_handlers.const import ( CLUSTER_HANDLER_ATTRIBUTE_UPDATED, CLUSTER_HANDLER_POWER_CONFIGURATION, + REPORT_CONFIG_BATTERY_SAVE, ) from zha.zigbee.cluster_handlers.general import PowerConfigurationClusterHandler @@ -87,13 +90,35 @@ class DeviceScannerEntity(BaseDeviceTracker): _attr_fallback_name: str = "Device scanner" __polling_interval: int - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_POWER_CONFIGURATION}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({PowerConfiguration.cluster_id}), profile_device_types=frozenset( {(zha.PROFILE_ID, SMARTTHINGS_ARRIVAL_SENSOR_DEVICE_TYPE)} ), ) + _server_cluster_config = { + PowerConfiguration.cluster_id: ClusterConfig( + bind=True, + attributes={ + PowerConfiguration.AttributeDefs.battery_voltage: AttrConfig( + read_on_startup=False, + reporting=REPORT_CONFIG_BATTERY_SAVE, + ), + PowerConfiguration.AttributeDefs.battery_percentage_remaining: AttrConfig( + read_on_startup=False, + reporting=REPORT_CONFIG_BATTERY_SAVE, + ), + PowerConfiguration.AttributeDefs.battery_size: AttrConfig( + read_on_startup=True, + ), + PowerConfiguration.AttributeDefs.battery_quantity: AttrConfig( + read_on_startup=True, + ), + }, + ), + } + def __init__( self, cluster_handlers: list[ClusterHandler], diff --git a/zha/application/platforms/lock/__init__.py b/zha/application/platforms/lock/__init__.py index 124ff15c3..90003d991 100644 --- a/zha/application/platforms/lock/__init__.py +++ b/zha/application/platforms/lock/__init__.py @@ -10,7 +10,9 @@ from zha.application import Platform from zha.application.platforms import ( - ClusterHandlerMatch, + AttrConfig, + ClusterConfig, + ClusterMatch, PlatformEntity, register_entity, ) @@ -24,6 +26,7 @@ from zha.zigbee.cluster_handlers.const import ( CLUSTER_HANDLER_ATTRIBUTE_UPDATED, CLUSTER_HANDLER_DOORLOCK, + REPORT_CONFIG_IMMEDIATE, ) if TYPE_CHECKING: @@ -65,10 +68,22 @@ class DoorLock(BaseLock): _attr_translation_key: str = "door_lock" _attr_primary_weight = 5 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_DOORLOCK}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({DoorLockCluster.cluster_id}), ) + _server_cluster_config = { + DoorLockCluster.cluster_id: ClusterConfig( + bind=True, + attributes={ + DoorLockCluster.AttributeDefs.lock_state: AttrConfig( + read_on_startup=False, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + }, + ), + } + def __init__( self, cluster_handlers: list[ClusterHandler], diff --git a/zha/application/platforms/siren.py b/zha/application/platforms/siren.py index eb2a673fa..fdcef3b1d 100644 --- a/zha/application/platforms/siren.py +++ b/zha/application/platforms/siren.py @@ -30,7 +30,9 @@ ) from zha.application.platforms import ( BaseEntityInfo, + ClusterConfig, ClusterHandlerMatch, + ClusterMatch, PlatformEntity, PlatformFeatureGroup, register_entity, @@ -128,6 +130,14 @@ class BaseZclSiren(BaseSiren, ABC): _cluster_handler: IasWdClusterHandler _off_listener: asyncio.TimerHandle | None + _cluster_match = ClusterMatch( + server_clusters=frozenset({IasWd.cluster_id}), + ) + _server_cluster_config = { + IasWd.cluster_id: ClusterConfig( + bind=True, + ), + } def __init__( self, From c3290c2208b50705df71557f2704dace1b2c2c1e Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 17 Feb 2026 13:38:03 -0500 Subject: [PATCH 09/85] WIP: Commit missing `cluster_config.py` --- zha/zigbee/cluster_config.py | 213 +++++++++++++++++++++++++++++++++++ 1 file changed, 213 insertions(+) create mode 100644 zha/zigbee/cluster_config.py diff --git a/zha/zigbee/cluster_config.py b/zha/zigbee/cluster_config.py new file mode 100644 index 000000000..bc3b9d9c5 --- /dev/null +++ b/zha/zigbee/cluster_config.py @@ -0,0 +1,213 @@ +"""Cluster configuration aggregation for ZHA entities.""" + +from __future__ import annotations + +from dataclasses import dataclass, field +import logging +from typing import TYPE_CHECKING + +import zigpy.exceptions +import zigpy.util +import zigpy.zcl +from zigpy.zcl import ReportingConfig + +from zha.application.platforms import AttrConfig + +if TYPE_CHECKING: + from collections.abc import Iterable + + from zha.application.platforms import BaseEntity + +_LOGGER = logging.getLogger(__name__) +RETRYABLE_REQUEST_DECORATOR = zigpy.util.retryable_request(tries=3) + + +@dataclass +class AggregatedAttrConfig: + """Aggregated attribute configuration from multiple entities.""" + + read_on_startup: bool = False + reporting: tuple[int, int, int | float] | None = None + + def merge(self, config: AttrConfig) -> None: + """Merge another attribute config (fresh read and tightest reporting win).""" + self.read_on_startup = self.read_on_startup or config.read_on_startup + + if config.reporting is not None: + if self.reporting is None: + self.reporting = config.reporting + else: + self.reporting = ( + min(self.reporting[0], config.reporting[0]), + min(self.reporting[1], config.reporting[1]), + min(self.reporting[2], config.reporting[2]), + ) + + +@dataclass +class AggregatedClusterConfig: + """Aggregated cluster configuration from multiple entities.""" + + cluster: zigpy.zcl.Cluster + bind: bool = False + attributes: dict[str, AggregatedAttrConfig] = field(default_factory=dict) + + +def aggregate_cluster_configs( + entities: Iterable[BaseEntity], +) -> dict[tuple[int, int], AggregatedClusterConfig]: + """Aggregate cluster configurations from entities. + + Returns a dict keyed by (endpoint_id, cluster_id) with merged configs. + """ + result: dict[tuple[int, int], AggregatedClusterConfig] = {} + + for entity in entities: + if not hasattr(entity, "_server_cluster_config"): + continue + + if not entity._server_cluster_config and not entity._client_cluster_config: + continue + + for cluster_id, config in entity._server_cluster_config.items(): + cluster = entity.endpoint.zigpy_endpoint.in_clusters.get(cluster_id) + if cluster is None: + continue + + key = (entity.endpoint.id, cluster_id) + if key not in result: + result[key] = AggregatedClusterConfig(cluster=cluster) + + agg = result[key] + agg.bind = agg.bind or config.bind + + for attr_def, attr_config in config.attributes.items(): + if attr_def.name not in agg.attributes: + agg.attributes[attr_def.name] = AggregatedAttrConfig() + agg.attributes[attr_def.name].merge(attr_config) + + for cluster_id, config in entity._client_cluster_config.items(): + cluster = entity.endpoint.zigpy_endpoint.out_clusters.get(cluster_id) + if cluster is None: + continue + + key = (entity.endpoint.id, cluster_id) + if key not in result: + result[key] = AggregatedClusterConfig(cluster=cluster) + + agg = result[key] + agg.bind = agg.bind or config.bind + + for attr_def, attr_config in config.attributes.items(): + if attr_def.name not in agg.attributes: + agg.attributes[attr_def.name] = AggregatedAttrConfig() + agg.attributes[attr_def.name].merge(attr_config) + + return result + + +async def configure_cluster_configs( + configs: dict[tuple[int, int], AggregatedClusterConfig], + manufacturer_code: int | None, +) -> None: + """Execute binding and reporting configuration from aggregated configs.""" + for agg in configs.values(): + if agg.bind: + try: + res = await RETRYABLE_REQUEST_DECORATOR(agg.cluster.bind)() + _LOGGER.debug( + "[%s] Bound cluster %s: %s", + agg.cluster.endpoint.device.ieee, + agg.cluster.ep_attribute, + res[0], + ) + except (zigpy.exceptions.ZigbeeException, TimeoutError) as ex: + _LOGGER.debug( + "[%s] Failed to bind cluster %s: %s", + agg.cluster.endpoint.device.ieee, + agg.cluster.ep_attribute, + ex, + ) + + reporting_attrs = {} + for attr_name, attr_config in agg.attributes.items(): + if attr_config.reporting is None: + continue + attr_def = agg.cluster.find_attribute(attr_name) + reporting_attrs[attr_def] = ReportingConfig( + min_interval=attr_config.reporting[0], + max_interval=attr_config.reporting[1], + reportable_change=attr_config.reporting[2], + ) + + if not reporting_attrs: + continue + + try: + res = await RETRYABLE_REQUEST_DECORATOR( + agg.cluster.configure_reporting_multiple + )(reporting_attrs) + _LOGGER.debug( + "[%s] Configured reporting for %s on cluster %s: %s", + agg.cluster.endpoint.device.ieee, + list(reporting_attrs.keys()), + agg.cluster.ep_attribute, + res, + ) + except Exception as ex: + _LOGGER.debug( + "[%s] Failed to configure reporting on cluster %s: %s", + agg.cluster.endpoint.device.ieee, + agg.cluster.ep_attribute, + ex, + ) + + +async def initialize_cluster_configs( + configs: dict[tuple[int, int], AggregatedClusterConfig], + from_cache: bool, +) -> None: + """Read initial attribute values from aggregated configs.""" + for agg in configs.values(): + cached_attrs = [ + attr_name + for attr_name, attr_config in agg.attributes.items() + if not attr_config.read_on_startup + ] + fresh_attrs = [ + attr_name + for attr_name, attr_config in agg.attributes.items() + if attr_config.read_on_startup + ] + + if cached_attrs: + try: + await agg.cluster.read_attributes( + cached_attrs, + allow_cache=True, + only_cache=from_cache, + ) + except (zigpy.exceptions.ZigbeeException, TimeoutError) as ex: + _LOGGER.debug( + "[%s] Failed to read cached attributes %s from cluster %s: %s", + agg.cluster.endpoint.device.ieee, + cached_attrs, + agg.cluster.ep_attribute, + ex, + ) + + if fresh_attrs: + try: + await agg.cluster.read_attributes( + fresh_attrs, + allow_cache=from_cache, + only_cache=from_cache, + ) + except (zigpy.exceptions.ZigbeeException, TimeoutError) as ex: + _LOGGER.debug( + "[%s] Failed to read fresh attributes %s from cluster %s: %s", + agg.cluster.endpoint.device.ieee, + fresh_attrs, + agg.cluster.ep_attribute, + ex, + ) From 56877d4fa65a44991c34d76252faa40658aca78a Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 12 May 2026 00:24:38 -0400 Subject: [PATCH 10/85] WIP --- zha/application/discovery.py | 37 ++++++++++++++----------- zha/application/platforms/__init__.py | 40 ++++----------------------- zha/application/platforms/siren.py | 10 +++---- 3 files changed, 31 insertions(+), 56 deletions(-) diff --git a/zha/application/discovery.py b/zha/application/discovery.py index 9e2893a8e..245e2177c 100644 --- a/zha/application/discovery.py +++ b/zha/application/discovery.py @@ -513,23 +513,22 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit endpoint.zigpy_endpoint.profile_id, endpoint.zigpy_endpoint.device_type, ) - if platform_override is None and ( + override_bypass = ( + platform_override is not None + and platform_override == entity_class.PLATFORM + ) + + if ( match.profile_device_types is not None and profile_device_type not in match.profile_device_types - and not ( - platform_override is not None - and platform_override == entity_class.PLATFORM - ) + and not override_bypass ): continue - if platform_override is None and ( + if ( match.not_profile_device_types is not None and profile_device_type in match.not_profile_device_types - and not ( - platform_override is not None - and platform_override == entity_class.PLATFORM - ) + and not override_bypass ): continue @@ -550,7 +549,8 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit # system when competing entities are part of the same feature group if platform_override is not None and feature is not None: override_by_priority: defaultdict[ - int, list[tuple[ClusterHandlerMatch, type[PlatformEntity]]] + int, + list[tuple[ClusterHandlerMatch | ClusterMatch, type[PlatformEntity]]], ] = defaultdict(list) for priority, priority_matches in matches_by_priority.items(): @@ -643,11 +643,16 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit server_cluster_handlers + client_cluster_handlers # type: ignore[operator] ) - yield entity_class( - cluster_handlers=cluster_handlers, - endpoint=endpoint, - device=device, - ) + try: + entity = entity_class( + cluster_handlers=cluster_handlers, + endpoint=endpoint, + device=device, + ) + except Exception: # pylint: disable=broad-except + _LOGGER.exception("Failed to create %s entity", entity_class.__name__) + continue + yield entity # Claim any remaining unclaimed cluster handlers that don't produce entities but # still need to be configured for bare events (bound, reporting set up, etc.) diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index 649262b27..41e25a0d6 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -12,9 +12,8 @@ from enum import StrEnum from functools import cached_property import logging -from typing import TYPE_CHECKING, Any, Final, Literal, final +from typing import TYPE_CHECKING, Any, Final, final -from zigpy.profiles import zha, zll from zigpy.quirks.v2 import EntityMetadata, EntityType from zigpy.types import ClusterId from zigpy.types.named import EUI64 @@ -116,24 +115,11 @@ class ClusterMatch: manufacturers: frozenset[str] | None = None models: frozenset[str] | None = None exposed_features: frozenset[str] | None = None + not_exposed_features: frozenset[str] | None = None # Profile and device type filters - profile_device_types: ( - frozenset[ - tuple[Literal[zha.PROFILE_ID], zha.DeviceType] - | tuple[Literal[zll.PROFILE_ID], zll.DeviceType] - | tuple[int, int] - ] - | None - ) = None - not_profile_device_types: ( - frozenset[ - tuple[Literal[zha.PROFILE_ID], zha.DeviceType] - | tuple[Literal[zll.PROFILE_ID], zll.DeviceType] - | tuple[int, int] - ] - | None - ) = None + profile_device_types: frozenset[tuple[int, int]] | None = None + not_profile_device_types: frozenset[tuple[int, int]] | None = None # For a given feature, only entities with the highest priority will be considered feature_priority: tuple[PlatformFeatureGroup, int] | None = None @@ -155,22 +141,8 @@ class ClusterHandlerMatch: # If present, device must match one of the given profile and device type combinations. # This will be ignored if `platform_override` is used. - profile_device_types: ( # type:ignore[valid-type] - frozenset[ - tuple[Literal[zha.PROFILE_ID], zha.DeviceType] - | tuple[Literal[zll.PROFILE_ID], zll.DeviceType] - | tuple[int, int] - ] - | None - ) = None - not_profile_device_types: ( # type:ignore[valid-type] - frozenset[ - tuple[Literal[zha.PROFILE_ID], zha.DeviceType] - | tuple[Literal[zll.PROFILE_ID], zll.DeviceType] - | tuple[int, int] - ] - | None - ) = None + profile_device_types: frozenset[tuple[int, int]] | None = None + not_profile_device_types: frozenset[tuple[int, int]] | None = None # For a given feature, only entities with the highest priority will be considered feature_priority: tuple[PlatformFeatureGroup, int] | None = None diff --git a/zha/application/platforms/siren.py b/zha/application/platforms/siren.py index fdcef3b1d..87875d988 100644 --- a/zha/application/platforms/siren.py +++ b/zha/application/platforms/siren.py @@ -31,13 +31,11 @@ from zha.application.platforms import ( BaseEntityInfo, ClusterConfig, - ClusterHandlerMatch, ClusterMatch, PlatformEntity, PlatformFeatureGroup, register_entity, ) -from zha.zigbee.cluster_handlers.const import CLUSTER_HANDLER_IAS_WD from zha.zigbee.cluster_handlers.security import IasWdClusterHandler if TYPE_CHECKING: @@ -199,8 +197,8 @@ class AdvancedSiren(BaseZclSiren): _attr_fallback_name: str = "Siren" _attr_primary_weight = 4 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_IAS_WD}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({IasWd.cluster_id}), feature_priority=(PlatformFeatureGroup.SIREN, 0), ) @@ -293,8 +291,8 @@ class BasicSiren(BaseZclSiren): _attr_fallback_name: str = "Siren" _attr_primary_weight = 4 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_IAS_WD}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({IasWd.cluster_id}), exposed_features=frozenset({SIREN_BASIC}), feature_priority=(PlatformFeatureGroup.SIREN, 1), ) From 849c4ecfeb6f65d3631e45e2fcbf2cfd505756a9 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 12 May 2026 00:56:01 -0400 Subject: [PATCH 11/85] WIP: next pass of migrations --- zha/application/platforms/button/__init__.py | 6 +- zha/application/platforms/climate/__init__.py | 149 +++++++++++++++--- zha/application/platforms/cover/__init__.py | 106 +++++++++++-- zha/application/platforms/fan/__init__.py | 26 ++- zha/application/platforms/light/__init__.py | 119 +++++++++++--- zha/application/platforms/update.py | 32 +++- zha/zigbee/device.py | 30 ++-- 7 files changed, 385 insertions(+), 83 deletions(-) diff --git a/zha/application/platforms/button/__init__.py b/zha/application/platforms/button/__init__.py index 64ce7c439..b4e87dd21 100644 --- a/zha/application/platforms/button/__init__.py +++ b/zha/application/platforms/button/__init__.py @@ -17,6 +17,7 @@ BaseEntity, BaseEntityInfo, ClusterHandlerMatch, + ClusterMatch, EntityCategory, PlatformEntity, register_entity, @@ -24,7 +25,6 @@ from zha.application.platforms.button.const import DEFAULT_DURATION, ButtonDeviceClass from zha.zigbee.cluster_handlers.const import ( AQARA_OPPLE_CLUSTER, - CLUSTER_HANDLER_IDENTIFY, TUYA_MANUFACTURER_CLUSTER, ) @@ -140,8 +140,8 @@ class IdentifyButton(Button): _kwargs = {} _args = [DEFAULT_DURATION] - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_IDENTIFY}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({Identify.cluster_id}), ) def is_supported_in_list(self, entities: list[BaseEntity]) -> bool: diff --git a/zha/application/platforms/climate/__init__.py b/zha/application/platforms/climate/__init__.py index 4cc8d37a5..8b1746e2c 100644 --- a/zha/application/platforms/climate/__init__.py +++ b/zha/application/platforms/climate/__init__.py @@ -11,6 +11,7 @@ from zigpy.profiles import zha from zigpy.zcl.clusters.hvac import ( + Fan as FanCluster, FanMode, RunningState, SystemMode, @@ -19,8 +20,11 @@ from zha.application import Platform from zha.application.platforms import ( + AttrConfig, BaseEntityInfo, + ClusterConfig, ClusterHandlerMatch, + ClusterMatch, PlatformEntity, PlatformFeatureGroup, register_entity, @@ -53,8 +57,15 @@ CLUSTER_HANDLER_ATTRIBUTE_UPDATED, CLUSTER_HANDLER_FAN, CLUSTER_HANDLER_THERMOSTAT, + REPORT_CONFIG_OP, +) +from zha.zigbee.cluster_handlers.hvac import ( + REPORT_CONFIG_CLIMATE, + REPORT_CONFIG_CLIMATE_DEMAND, + REPORT_CONFIG_CLIMATE_DISCRETE, + FanClusterHandler, + ThermostatClusterHandler, ) -from zha.zigbee.cluster_handlers.hvac import FanClusterHandler, ThermostatClusterHandler if TYPE_CHECKING: from zha.zigbee.cluster_handlers import ClusterHandler @@ -215,13 +226,111 @@ class Thermostat(BaseThermostat): ATTR_UNOCCP_HEAT_SETPT, } - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), - optional_cluster_handlers=frozenset({CLUSTER_HANDLER_FAN}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ThermostatCluster.cluster_id}), + optional_server_clusters=frozenset({FanCluster.cluster_id}), # We prefer Thermostat entities over Fan entities if possible feature_priority=(PlatformFeatureGroup.THERMOSTAT_FAN, 1), ) + _server_cluster_config = { + ThermostatCluster.cluster_id: ClusterConfig( + attributes={ + ThermostatCluster.AttributeDefs.local_temperature: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + ThermostatCluster.AttributeDefs.occupied_cooling_setpoint: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + ThermostatCluster.AttributeDefs.occupied_heating_setpoint: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + ThermostatCluster.AttributeDefs.unoccupied_cooling_setpoint: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + ThermostatCluster.AttributeDefs.unoccupied_heating_setpoint: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + ThermostatCluster.AttributeDefs.running_mode: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + ), + ThermostatCluster.AttributeDefs.running_state: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + ), + ThermostatCluster.AttributeDefs.system_mode: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + ), + ThermostatCluster.AttributeDefs.occupancy: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + ), + ThermostatCluster.AttributeDefs.pi_cooling_demand: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DEMAND, + ), + ThermostatCluster.AttributeDefs.pi_heating_demand: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DEMAND, + ), + ThermostatCluster.AttributeDefs.abs_min_heat_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + ThermostatCluster.AttributeDefs.abs_max_heat_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + ThermostatCluster.AttributeDefs.abs_min_cool_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + ThermostatCluster.AttributeDefs.abs_max_cool_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + ThermostatCluster.AttributeDefs.ctrl_sequence_of_oper: AttrConfig( + read_on_startup=True, + ), + ThermostatCluster.AttributeDefs.max_cool_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + ThermostatCluster.AttributeDefs.max_heat_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + ThermostatCluster.AttributeDefs.min_cool_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + ThermostatCluster.AttributeDefs.min_heat_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + ThermostatCluster.AttributeDefs.local_temperature_calibration: AttrConfig( + read_on_startup=False, + ), + ThermostatCluster.AttributeDefs.setpoint_change_source: AttrConfig( + read_on_startup=False, + ), + ThermostatCluster.AttributeDefs.setpoint_change_source_timestamp: AttrConfig( + read_on_startup=False, + ), + }, + ), + FanCluster.cluster_id: ClusterConfig( + attributes={ + FanCluster.AttributeDefs.fan_mode: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_OP, + ), + FanCluster.AttributeDefs.fan_mode_sequence: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + def __init__( self, cluster_handlers: list[ClusterHandler], @@ -740,9 +849,9 @@ async def async_preset_handler_away(self, is_away: bool = False) -> None: class ZenWithinThermostat(Thermostat): """Zen Within Thermostat implementation.""" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), - optional_cluster_handlers=frozenset({CLUSTER_HANDLER_FAN}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ThermostatCluster.cluster_id}), + optional_server_clusters=frozenset({FanCluster.cluster_id}), manufacturers=frozenset({"Zen Within", "LUX"}), feature_priority=(PlatformFeatureGroup.THERMOSTAT_FAN, 2), ) @@ -752,8 +861,8 @@ class ZenWithinThermostat(Thermostat): class ZehnderThermostat(Thermostat): """Zehnder thermostat to adapt AUTO mode behavior.""" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ThermostatCluster.cluster_id}), manufacturers=frozenset( {"ZEHNDER GROUP VAUX ANDIGNY ", "ZEHNDER GROUP VAUX ANDIGNY"} ), @@ -822,9 +931,9 @@ def hvac_mode(self) -> HVACMode | None: class CentralitePearl(Thermostat): """Centralite Pearl Thermostat implementation.""" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), - optional_cluster_handlers=frozenset({CLUSTER_HANDLER_FAN}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ThermostatCluster.cluster_id}), + optional_server_clusters=frozenset({FanCluster.cluster_id}), manufacturers=frozenset({"Centralite"}), models=frozenset({"3157100", "3157100-E"}), feature_priority=(PlatformFeatureGroup.THERMOSTAT_FAN, 2), @@ -854,8 +963,8 @@ class CentralitePearl(Thermostat): class MoesThermostat(Thermostat): """Moes Thermostat implementation.""" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ThermostatCluster.cluster_id}), manufacturers=MOES_MANUFACTURERS, feature_priority=(PlatformFeatureGroup.THERMOSTAT_FAN, 2), ) @@ -937,8 +1046,8 @@ async def async_preset_handler(self, preset: str, enable: bool = False) -> None: class BecaThermostat(Thermostat): """Beca Thermostat implementation.""" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ThermostatCluster.cluster_id}), manufacturers=frozenset({"_TZE200_b6wax7g0"}), feature_priority=(PlatformFeatureGroup.THERMOSTAT_FAN, 2), ) @@ -1013,8 +1122,8 @@ async def async_preset_handler(self, preset: str, enable: bool = False) -> None: class StelproFanHeater(Thermostat): """Stelpro Fan Heater implementation.""" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ThermostatCluster.cluster_id}), manufacturers=frozenset({"Stelpro"}), models=frozenset({"SORB"}), feature_priority=(PlatformFeatureGroup.THERMOSTAT_FAN, 2), @@ -1051,8 +1160,8 @@ class ZONNSMARTThermostat(Thermostat): PRESET_HOLIDAY = "holiday" PRESET_FROST = "frost protect" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ThermostatCluster.cluster_id}), manufacturers=ZONNSMART_MANUFACTURERS, feature_priority=(PlatformFeatureGroup.THERMOSTAT_FAN, 2), ) diff --git a/zha/application/platforms/cover/__init__.py b/zha/application/platforms/cover/__init__.py index 259b3dd69..aa42b9369 100644 --- a/zha/application/platforms/cover/__init__.py +++ b/zha/application/platforms/cover/__init__.py @@ -10,13 +10,15 @@ from typing import TYPE_CHECKING, Any, cast from zigpy.profiles import zha -from zigpy.zcl.clusters.closures import WindowCovering -from zigpy.zcl.clusters.general import OnOff, OnOff as OnOffCluster +from zigpy.zcl.clusters.closures import Shade as ShadeCluster, WindowCovering +from zigpy.zcl.clusters.general import LevelControl, OnOff, OnOff as OnOffCluster from zigpy.zcl.foundation import Status from zha.application import Platform from zha.application.platforms import ( - ClusterHandlerMatch, + AttrConfig, + ClusterConfig, + ClusterMatch, PlatformEntity, PlatformFeatureGroup, register_entity, @@ -42,7 +44,8 @@ CLUSTER_HANDLER_LEVEL, CLUSTER_HANDLER_LEVEL_CHANGED, CLUSTER_HANDLER_ON_OFF, - CLUSTER_HANDLER_SHADE, + REPORT_CONFIG_ASAP, + REPORT_CONFIG_IMMEDIATE, ) from zha.zigbee.cluster_handlers.general import ( LevelChangeEvent, @@ -132,10 +135,47 @@ class Cover(BaseCover): _attr_translation_key: str = "cover" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_COVER}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({WindowCovering.cluster_id}), ) + _server_cluster_config = { + WindowCovering.cluster_id: ClusterConfig( + bind=True, + attributes={ + WindowCovering.AttributeDefs.current_position_lift_percentage: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + WindowCovering.AttributeDefs.current_position_tilt_percentage: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + WindowCovering.AttributeDefs.window_covering_type: AttrConfig( + read_on_startup=False, + ), + WindowCovering.AttributeDefs.window_covering_mode: AttrConfig( + read_on_startup=False, + ), + WindowCovering.AttributeDefs.config_status: AttrConfig( + read_on_startup=False, + ), + WindowCovering.AttributeDefs.installed_closed_limit_lift: AttrConfig( + read_on_startup=False, + ), + WindowCovering.AttributeDefs.installed_closed_limit_tilt: AttrConfig( + read_on_startup=False, + ), + WindowCovering.AttributeDefs.installed_open_limit_lift: AttrConfig( + read_on_startup=False, + ), + WindowCovering.AttributeDefs.installed_open_limit_tilt: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + def __init__( self, cluster_handlers: list[ClusterHandler], @@ -706,10 +746,10 @@ class Shade(BaseCover): _attr_device_class = CoverDeviceClass.SHADE _attr_translation_key: str = "shade" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ON_OFF}), - optional_cluster_handlers=frozenset( - {CLUSTER_HANDLER_LEVEL, CLUSTER_HANDLER_SHADE} + _cluster_match = ClusterMatch( + server_clusters=frozenset({OnOff.cluster_id}), + optional_server_clusters=frozenset( + {LevelControl.cluster_id, ShadeCluster.cluster_id} ), profile_device_types=frozenset( { @@ -720,6 +760,48 @@ class Shade(BaseCover): feature_priority=(PlatformFeatureGroup.LIGHT_OR_SWITCH_OR_SHADE, 0), ) + _server_cluster_config = { + OnOff.cluster_id: ClusterConfig( + bind=True, + attributes={ + OnOff.AttributeDefs.on_off: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + OnOff.AttributeDefs.start_up_on_off: AttrConfig( + read_on_startup=False, + ), + }, + ), + LevelControl.cluster_id: ClusterConfig( + bind=True, + attributes={ + LevelControl.AttributeDefs.current_level: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_ASAP, + ), + LevelControl.AttributeDefs.on_off_transition_time: AttrConfig( + read_on_startup=False, + ), + LevelControl.AttributeDefs.on_level: AttrConfig( + read_on_startup=False, + ), + LevelControl.AttributeDefs.on_transition_time: AttrConfig( + read_on_startup=False, + ), + LevelControl.AttributeDefs.off_transition_time: AttrConfig( + read_on_startup=False, + ), + LevelControl.AttributeDefs.default_move_rate: AttrConfig( + read_on_startup=False, + ), + LevelControl.AttributeDefs.start_up_current_level: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + def __init__( self, cluster_handlers: list[ClusterHandler], @@ -900,8 +982,8 @@ class KeenVent(Shade): _attr_device_class = CoverDeviceClass.DAMPER _attr_translation_key: str = "keen_vent" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_LEVEL, CLUSTER_HANDLER_ON_OFF}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({LevelControl.cluster_id, OnOff.cluster_id}), manufacturers=frozenset({"Keen Home Inc"}), feature_priority=(PlatformFeatureGroup.LIGHT_OR_SWITCH_OR_SHADE, 1), ) diff --git a/zha/application/platforms/fan/__init__.py b/zha/application/platforms/fan/__init__.py index d3f756a29..a974a6bc9 100644 --- a/zha/application/platforms/fan/__init__.py +++ b/zha/application/platforms/fan/__init__.py @@ -12,9 +12,12 @@ from zha.application import Platform from zha.application.platforms import ( + AttrConfig, BaseEntity, BaseEntityInfo, + ClusterConfig, ClusterHandlerMatch, + ClusterMatch, GroupEntity, PlatformEntity, PlatformFeatureGroup, @@ -50,6 +53,7 @@ CLUSTER_HANDLER_ATTRIBUTE_UPDATED, CLUSTER_HANDLER_FAN, IKEA_AIR_PURIFIER_CLUSTER, + REPORT_CONFIG_OP, ) from zha.zigbee.cluster_handlers.hvac import FanClusterHandler from zha.zigbee.cluster_handlers.manufacturerspecific import ( @@ -249,12 +253,26 @@ def percentage_to_speed(self, percentage: int) -> str: class Fan(BaseFan, PlatformEntity): """Representation of a ZHA fan.""" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_FAN}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({hvac.Fan.cluster_id}), # We prefer Thermostat entities if possible feature_priority=(PlatformFeatureGroup.THERMOSTAT_FAN, -1), ) + _server_cluster_config = { + hvac.Fan.cluster_id: ClusterConfig( + attributes={ + hvac.Fan.AttributeDefs.fan_mode: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_OP, + ), + hvac.Fan.AttributeDefs.fan_mode_sequence: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + def __init__( self, cluster_handlers: list[ClusterHandler], @@ -475,8 +493,8 @@ class KofFan(Fan): | FanEntityFeature.TURN_ON ) - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_FAN}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({hvac.Fan.cluster_id}), models=frozenset({"HBUniversalCFRemote", "HDC52EastwindFan"}), feature_priority=(PlatformFeatureGroup.THERMOSTAT_FAN, 1), ) diff --git a/zha/application/platforms/light/__init__.py b/zha/application/platforms/light/__init__.py index aa41c148c..92bd1e932 100644 --- a/zha/application/platforms/light/__init__.py +++ b/zha/application/platforms/light/__init__.py @@ -22,9 +22,11 @@ from zha.application import Platform from zha.application.platforms import ( DEFAULT_UPDATE_GROUP_FROM_CHILD_DELAY, + AttrConfig, BaseEntity, BaseEntityInfo, - ClusterHandlerMatch, + ClusterConfig, + ClusterMatch, GroupEntity, PlatformEntity, PlatformFeatureGroup, @@ -75,6 +77,9 @@ CLUSTER_HANDLER_LEVEL, CLUSTER_HANDLER_LEVEL_CHANGED, CLUSTER_HANDLER_ON_OFF, + REPORT_CONFIG_ASAP, + REPORT_CONFIG_DEFAULT, + REPORT_CONFIG_IMMEDIATE, ) from zha.zigbee.cluster_handlers.general import ( IdentifyClusterHandler, @@ -822,15 +827,93 @@ class Light(BaseClusterHandlerLight, PlatformEntity): _REFRESH_INTERVAL = (2700, 4500) __polling_interval: int - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ON_OFF}), - optional_cluster_handlers=frozenset( - {CLUSTER_HANDLER_COLOR, CLUSTER_HANDLER_LEVEL} - ), + _cluster_match = ClusterMatch( + server_clusters=frozenset({OnOff.cluster_id}), + optional_server_clusters=frozenset({Color.cluster_id, LevelControl.cluster_id}), profile_device_types=LIGHT_PROFILE_DEVICE_TYPES, feature_priority=(PlatformFeatureGroup.LIGHT_OR_SWITCH_OR_SHADE, 0), ) + _server_cluster_config = { + OnOff.cluster_id: ClusterConfig( + bind=True, + attributes={ + OnOff.AttributeDefs.on_off: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + OnOff.AttributeDefs.start_up_on_off: AttrConfig( + read_on_startup=False, + ), + }, + ), + LevelControl.cluster_id: ClusterConfig( + bind=True, + attributes={ + LevelControl.AttributeDefs.current_level: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_ASAP, + ), + LevelControl.AttributeDefs.on_off_transition_time: AttrConfig( + read_on_startup=False, + ), + LevelControl.AttributeDefs.on_level: AttrConfig( + read_on_startup=False, + ), + LevelControl.AttributeDefs.on_transition_time: AttrConfig( + read_on_startup=False, + ), + LevelControl.AttributeDefs.off_transition_time: AttrConfig( + read_on_startup=False, + ), + LevelControl.AttributeDefs.default_move_rate: AttrConfig( + read_on_startup=False, + ), + LevelControl.AttributeDefs.start_up_current_level: AttrConfig( + read_on_startup=False, + ), + }, + ), + Color.cluster_id: ClusterConfig( + bind=True, + attributes={ + Color.AttributeDefs.current_x: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_DEFAULT, + ), + Color.AttributeDefs.current_y: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_DEFAULT, + ), + Color.AttributeDefs.color_temperature: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_DEFAULT, + ), + Color.AttributeDefs.color_mode: AttrConfig( + read_on_startup=True, + ), + Color.AttributeDefs.color_temp_physical_min: AttrConfig( + read_on_startup=False, + ), + Color.AttributeDefs.color_temp_physical_max: AttrConfig( + read_on_startup=False, + ), + Color.AttributeDefs.color_capabilities: AttrConfig( + read_on_startup=False, + ), + Color.AttributeDefs.color_loop_active: AttrConfig( + read_on_startup=True, + ), + Color.AttributeDefs.start_up_color_temperature: AttrConfig( + read_on_startup=False, + ), + Color.AttributeDefs.options: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + def __init__( self, cluster_handlers: list[ClusterHandler], @@ -1123,11 +1206,9 @@ class HueLight(Light): _REFRESH_INTERVAL = (180, 300) - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ON_OFF}), - optional_cluster_handlers=frozenset( - {CLUSTER_HANDLER_COLOR, CLUSTER_HANDLER_LEVEL} - ), + _cluster_match = ClusterMatch( + server_clusters=frozenset({OnOff.cluster_id}), + optional_server_clusters=frozenset({Color.cluster_id, LevelControl.cluster_id}), manufacturers=frozenset({"Philips", "Signify Netherlands B.V."}), profile_device_types=LIGHT_PROFILE_DEVICE_TYPES, # We want this entity to be preferred over the base light @@ -1141,11 +1222,9 @@ class ForceOnLight(Light): _FORCE_ON = True - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ON_OFF}), - optional_cluster_handlers=frozenset( - {CLUSTER_HANDLER_COLOR, CLUSTER_HANDLER_LEVEL} - ), + _cluster_match = ClusterMatch( + server_clusters=frozenset({OnOff.cluster_id}), + optional_server_clusters=frozenset({Color.cluster_id, LevelControl.cluster_id}), manufacturers=frozenset( { "Jasco", @@ -1168,11 +1247,9 @@ class MinTransitionLight(Light): # Transitions are counted in 1/10th of a second increments, so this is the smallest _DEFAULT_MIN_TRANSITION_TIME = 0.1 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ON_OFF}), - optional_cluster_handlers=frozenset( - {CLUSTER_HANDLER_COLOR, CLUSTER_HANDLER_LEVEL} - ), + _cluster_match = ClusterMatch( + server_clusters=frozenset({OnOff.cluster_id}), + optional_server_clusters=frozenset({Color.cluster_id, LevelControl.cluster_id}), manufacturers=DEFAULT_MIN_TRANSITION_MANUFACTURERS, profile_device_types=LIGHT_PROFILE_DEVICE_TYPES, # We want this entity to be preferred over the base light diff --git a/zha/application/platforms/update.py b/zha/application/platforms/update.py index 38fcd0d52..1ef8dab63 100644 --- a/zha/application/platforms/update.py +++ b/zha/application/platforms/update.py @@ -17,8 +17,10 @@ from zha.application import Platform from zha.application.platforms import ( + AttrConfig, BaseEntityInfo, - ClusterHandlerMatch, + ClusterConfig, + ClusterMatch, EntityCategory, PlatformEntity, PlatformFeatureGroup, @@ -288,11 +290,21 @@ class FirmwareUpdateEntity(BaseFirmwareUpdateEntity): _unique_id_suffix = "firmware_update" - _cluster_handler_match = ClusterHandlerMatch( - client_cluster_handlers=frozenset({CLUSTER_HANDLER_OTA}), + _cluster_match = ClusterMatch( + client_clusters=frozenset({Ota.cluster_id}), feature_priority=(PlatformFeatureGroup.OTA_UPDATE, 1), ) + _client_cluster_config = { + Ota.cluster_id: ClusterConfig( + attributes={ + Ota.AttributeDefs.current_file_version: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + def __init__( self, cluster_handlers: list[ClusterHandler], @@ -347,11 +359,21 @@ class FirmwareUpdateServerEntity(BaseFirmwareUpdateEntity): """Representation of a ZHA firmware update entity.""" _unique_id_suffix = "firmware_update" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_OTA}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Ota.cluster_id}), feature_priority=(PlatformFeatureGroup.OTA_UPDATE, 0), ) + _server_cluster_config = { + Ota.cluster_id: ClusterConfig( + attributes={ + Ota.AttributeDefs.current_file_version: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + def __init__( self, cluster_handlers: list[ClusterHandler], diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index 912a869c5..2cbb08273 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -964,15 +964,12 @@ async def async_configure(self) -> None: if aggregated: await configure_cluster_configs(aggregated, self.manufacturer_code) - # Mark cluster handlers as CONFIGURED for ClusterMatch entities - for entity in self._pending_entities: - if ( - not hasattr(entity, "_cluster_match") - or entity._cluster_match is None - ): - continue - for ch in entity._cluster_handlers: - ch._status = ClusterHandlerStatus.CONFIGURED + # Mark cluster handlers as CONFIGURED for ClusterMatch entities + for entity in self._pending_entities: + if not hasattr(entity, "_cluster_match") or entity._cluster_match is None: + continue + for ch in entity._cluster_handlers: + ch._status = ClusterHandlerStatus.CONFIGURED self.emit_reconfigure_done() @@ -1260,15 +1257,12 @@ async def async_initialize(self, from_cache: bool = False) -> None: if aggregated: await initialize_cluster_configs(aggregated, from_cache) - # Mark cluster handlers as INITIALIZED for ClusterMatch entities - for entity in self._pending_entities: - if ( - not hasattr(entity, "_cluster_match") - or entity._cluster_match is None - ): - continue - for ch in entity._cluster_handlers: - ch._status = ClusterHandlerStatus.INITIALIZED + # Mark cluster handlers as INITIALIZED for ClusterMatch entities + for entity in self._pending_entities: + if not hasattr(entity, "_cluster_match") or entity._cluster_match is None: + continue + for ch in entity._cluster_handlers: + ch._status = ClusterHandlerStatus.INITIALIZED # And add them after. Emit events only on re-initialization, not the first. await self._add_pending_entities(emit_event=self._initialized) From af87e5380fe048863b471154ec21cd6a1f08b5b7 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 12 May 2026 01:21:22 -0400 Subject: [PATCH 12/85] WIP: final pass --- pyproject.toml | 1 + .../platforms/binary_sensor/__init__.py | 114 ++++++-- zha/application/platforms/number/__init__.py | 99 +++---- zha/application/platforms/select.py | 66 ++--- zha/application/platforms/sensor/__init__.py | 276 ++++++++---------- zha/application/platforms/switch.py | 84 ++++-- zha/zigbee/cluster_config.py | 7 +- 7 files changed, 353 insertions(+), 294 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index a72984bcb..c42c3fd97 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -99,6 +99,7 @@ asyncio_default_fixture_loop_scope = "function" target-version = "py312" [tool.ruff.lint] +ignore-init-module-imports = false select = [ "B002", # Python does not support the unary prefix increment "B007", # Loop control variable {name} not used within loop body diff --git a/zha/application/platforms/binary_sensor/__init__.py b/zha/application/platforms/binary_sensor/__init__.py index 9e5f101ab..ac4e5cbbc 100644 --- a/zha/application/platforms/binary_sensor/__init__.py +++ b/zha/application/platforms/binary_sensor/__init__.py @@ -19,8 +19,11 @@ from zha.application import Platform from zha.application.platforms import ( + AttrConfig, BaseEntityInfo, + ClusterConfig, ClusterHandlerMatch, + ClusterMatch, EntityCategory, PlatformEntity, PlatformFeatureGroup, @@ -36,12 +39,8 @@ AQARA_OPPLE_CLUSTER, CLUSTER_HANDLER_ACCELEROMETER, CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - CLUSTER_HANDLER_BINARY_INPUT, - CLUSTER_HANDLER_OCCUPANCY, - CLUSTER_HANDLER_ON_OFF, - CLUSTER_HANDLER_THERMOSTAT, - CLUSTER_HANDLER_ZONE, IKEA_AIR_PURIFIER_CLUSTER, + REPORT_CONFIG_IMMEDIATE, SMARTTHINGS_ACCELERATION_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) @@ -190,10 +189,27 @@ class Occupancy(BinarySensor): _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.OCCUPANCY _attr_primary_weight = 2 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_OCCUPANCY}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({OccupancySensing.cluster_id}), ) + _server_cluster_config = { + OccupancySensing.cluster_id: ClusterConfig( + attributes={ + OccupancySensing.AttributeDefs.occupancy: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + OccupancySensing.AttributeDefs.pir_o_to_u_delay: AttrConfig( + read_on_startup=False, + ), + OccupancySensing.AttributeDefs.pir_u_to_o_delay: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(OnOff.cluster_id) class Opening(BinarySensor): @@ -203,8 +219,8 @@ class Opening(BinarySensor): _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.OPENING _attr_primary_weight = 1 - _cluster_handler_match = ClusterHandlerMatch( - client_cluster_handlers=frozenset({CLUSTER_HANDLER_ON_OFF}), + _cluster_match = ClusterMatch( + client_clusters=frozenset({OnOff.cluster_id}), not_profile_device_types=frozenset( { (zha.PROFILE_ID, zha.DeviceType.COLOR_CONTROLLER), @@ -235,10 +251,24 @@ class BinaryInputWithDescription(BinarySensor): _attribute_name = "present_value" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_BINARY_INPUT}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({BinaryInputCluster.cluster_id}), ) + _server_cluster_config = { + BinaryInputCluster.cluster_id: ClusterConfig( + attributes={ + BinaryInputCluster.AttributeDefs.present_value: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + BinaryInputCluster.AttributeDefs.description: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + def recompute_capabilities(self) -> None: """Recompute capabilities.""" super().recompute_capabilities() @@ -258,10 +288,24 @@ class BinaryInput(BinarySensor): _attribute_name = "present_value" _attr_translation_key: str = "binary_input" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_BINARY_INPUT}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({BinaryInputCluster.cluster_id}), ) + _server_cluster_config = { + BinaryInputCluster.cluster_id: ClusterConfig( + attributes={ + BinaryInputCluster.AttributeDefs.present_value: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + BinaryInputCluster.AttributeDefs.description: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + def _is_supported(self) -> bool: # Prefer to use the "WithDescription" variant above if self._cluster_handler.description is not None: @@ -278,8 +322,8 @@ class IkeaMotion(BinarySensor): _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.MOTION _attr_primary_weight = 1 - _cluster_handler_match = ClusterHandlerMatch( - client_cluster_handlers=frozenset({CLUSTER_HANDLER_ON_OFF}), + _cluster_match = ClusterMatch( + client_clusters=frozenset({OnOff.cluster_id}), manufacturers=frozenset({"IKEA of Sweden"}), models=frozenset({"TRADFRI motion sensor"}), feature_priority=(PlatformFeatureGroup.BINARY_SENSOR, 1), @@ -294,8 +338,8 @@ class PhilipsMotion(BinarySensor): _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.MOTION _attr_primary_weight = 1 - _cluster_handler_match = ClusterHandlerMatch( - client_cluster_handlers=frozenset({CLUSTER_HANDLER_ON_OFF}), + _cluster_match = ClusterMatch( + client_clusters=frozenset({OnOff.cluster_id}), manufacturers=frozenset({"Philips"}), models=frozenset({"SML001", "SML002"}), feature_priority=(PlatformFeatureGroup.BINARY_SENSOR, 1), @@ -311,10 +355,26 @@ class IASZone(BinarySensor): # TODO: split this sensor off into individual sensor classes per IASZone type - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ZONE}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({IasZone.cluster_id}), ) + _server_cluster_config = { + IasZone.cluster_id: ClusterConfig( + attributes={ + IasZone.AttributeDefs.zone_status: AttrConfig( + read_on_startup=True, + ), + IasZone.AttributeDefs.zone_state: AttrConfig( + read_on_startup=False, + ), + IasZone.AttributeDefs.zone_type: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + def recompute_capabilities(self) -> None: """Recompute capabilities.""" super().recompute_capabilities() @@ -349,8 +409,8 @@ class SinopeLeakStatus(BinarySensor): _attr_device_class = BinarySensorDeviceClass.MOISTURE _attr_primary_weight = 1 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ZONE}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({IasZone.cluster_id}), models=frozenset({"WL4200", "WL4200S"}), ) @@ -513,8 +573,8 @@ class DanfossMountingModeActive(BinarySensor): _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.OPENING _attr_entity_category = EntityCategory.DIAGNOSTIC - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -527,8 +587,8 @@ class DanfossHeatRequired(BinarySensor): _attribute_name = "heat_required" _attr_translation_key: str = "heat_required" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -543,7 +603,7 @@ class DanfossPreheatStatus(BinarySensor): _attr_entity_registry_enabled_default = False _attr_entity_category = EntityCategory.DIAGNOSTIC - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) diff --git a/zha/application/platforms/number/__init__.py b/zha/application/platforms/number/__init__.py index b4d2f2002..88d2443f7 100644 --- a/zha/application/platforms/number/__init__.py +++ b/zha/application/platforms/number/__init__.py @@ -19,6 +19,7 @@ from zha.application.platforms import ( BaseEntityInfo, ClusterHandlerMatch, + ClusterMatch, EntityCategory, PlatformEntity, PlatformFeatureGroup, @@ -33,13 +34,7 @@ AQARA_OPPLE_CLUSTER, CLUSTER_HANDLER_ANALOG_OUTPUT, CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - CLUSTER_HANDLER_BALLAST, - CLUSTER_HANDLER_BASIC, - CLUSTER_HANDLER_COLOR, CLUSTER_HANDLER_INOVELLI, - CLUSTER_HANDLER_LEVEL, - CLUSTER_HANDLER_OCCUPANCY, - CLUSTER_HANDLER_THERMOSTAT, IKEA_AIR_PURIFIER_CLUSTER, INOVELLI_CLUSTER, SINOPE_MANUFACTURER_CLUSTER, @@ -137,8 +132,8 @@ async def async_set_native_value(self, value: float) -> None: class AnalogOutputNumber(BaseNumber): """Representation of a ZHA Number entity.""" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ANALOG_OUTPUT}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({AnalogOutput.cluster_id}), ) def __init__( @@ -346,8 +341,8 @@ class OnOffTransitionTimeConfigurationEntity(NumberConfigurationEntity): _attribute_name = "on_off_transition_time" _attr_translation_key: str = "on_off_transition_time" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_LEVEL}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({LevelControl.cluster_id}), ) @@ -361,8 +356,8 @@ class OnLevelConfigurationEntity(NumberConfigurationEntity): _attribute_name = "on_level" _attr_translation_key: str = "on_level" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_LEVEL}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({LevelControl.cluster_id}), ) @@ -376,8 +371,8 @@ class OnTransitionTimeConfigurationEntity(NumberConfigurationEntity): _attribute_name = "on_transition_time" _attr_translation_key: str = "on_transition_time" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_LEVEL}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({LevelControl.cluster_id}), ) @@ -391,8 +386,8 @@ class OffTransitionTimeConfigurationEntity(NumberConfigurationEntity): _attribute_name = "off_transition_time" _attr_translation_key: str = "off_transition_time" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_LEVEL}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({LevelControl.cluster_id}), ) @@ -407,8 +402,8 @@ class DefaultMoveRateConfigurationEntity(NumberConfigurationEntity): _attribute_name = "default_move_rate" _attr_translation_key: str = "default_move_rate" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_LEVEL}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({LevelControl.cluster_id}), ) @@ -422,8 +417,8 @@ class StartUpCurrentLevelConfigurationEntity(NumberConfigurationEntity): _attribute_name = "start_up_current_level" _attr_translation_key: str = "start_up_current_level" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_LEVEL}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({LevelControl.cluster_id}), ) @@ -437,8 +432,8 @@ class StartUpColorTemperatureConfigurationEntity(NumberConfigurationEntity): _attribute_name = "start_up_color_temperature" _attr_translation_key: str = "start_up_color_temperature" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_COLOR}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({Color.cluster_id}), ) def recompute_capabilities(self) -> None: @@ -459,8 +454,8 @@ class BallastMinLevel(NumberConfigurationEntity): _attribute_name = "min_level" _attr_translation_key: str = "minimum_dimming_level" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_BALLAST}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({Ballast.cluster_id}), ) @@ -475,8 +470,8 @@ class BallastMaxLevel(NumberConfigurationEntity): _attribute_name = "max_level" _attr_translation_key: str = "maximum_dimming_level" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_BALLAST}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({Ballast.cluster_id}), ) @@ -492,8 +487,8 @@ class PIROccupiedToUnoccupiedDelayConfigurationEntity(NumberConfigurationEntity) _attribute_name = "pir_o_to_u_delay" _attr_translation_key: str = "pir_o_to_u_delay" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_OCCUPANCY}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({OccupancySensing.cluster_id}), ) @@ -509,8 +504,8 @@ class PIRUnoccupiedToOccupiedDelayConfigurationEntity(NumberConfigurationEntity) _attribute_name = "pir_u_to_o_delay" _attr_translation_key: str = "pir_u_to_o_delay" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_OCCUPANCY}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({OccupancySensing.cluster_id}), ) @@ -527,8 +522,8 @@ class SonoffPresenceSenorTimeout(NumberConfigurationEntity): _attr_mode: NumberMode = NumberMode.BOX - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_OCCUPANCY}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({OccupancySensing.cluster_id}), models=frozenset({"SNZB-06P", "SNZB-03P"}), ) @@ -578,8 +573,8 @@ class TiRouterTransmitPower(NumberConfigurationEntity): _attribute_name = "transmit_power" _attr_translation_key: str = "transmit_power" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_BASIC}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Basic.cluster_id}), manufacturers=frozenset({"TexasInstruments"}), models=frozenset({"ti.router"}), ) @@ -1029,8 +1024,8 @@ class ThermostatLocalTempCalibration(NumberConfigurationEntity): _attr_mode: NumberMode = NumberMode.BOX _attr_native_unit_of_measurement: str = UnitOfTemperature.CELSIUS - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), feature_priority=(PlatformFeatureGroup.LOCAL_TEMPERATURE_CALIBRATION, 0), ) @@ -1043,8 +1038,8 @@ class SonoffThermostatLocalTempCalibration(ThermostatLocalTempCalibration): _attr_native_max_value: float = 12.7 _attr_native_step: float = 0.1 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), models=frozenset({"TRVZB"}), feature_priority=(PlatformFeatureGroup.LOCAL_TEMPERATURE_CALIBRATION, 1), ) @@ -1058,8 +1053,8 @@ class BoschThermostatLocalTempCalibration(ThermostatLocalTempCalibration): _attr_native_max_value: float = 5.0 _attr_native_step: float = 0.1 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), models=frozenset( { "RBSH-RTH0-ZB-EU", @@ -1115,8 +1110,8 @@ class MaxHeatSetpointLimit(ZCLHeatSetpointLimitEntity): _attr_translation_key: str = "max_heat_setpoint_limit" _attr_entity_category = EntityCategory.CONFIG - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), ) def recompute_capabilities(self) -> None: @@ -1142,8 +1137,8 @@ class MinHeatSetpointLimit(ZCLHeatSetpointLimitEntity): _attr_translation_key: str = "min_heat_setpoint_limit" _attr_entity_category = EntityCategory.CONFIG - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), ) def recompute_capabilities(self) -> None: @@ -1169,8 +1164,8 @@ class DanfossExerciseTriggerTime(NumberConfigurationEntity): _attr_mode: NumberMode = NumberMode.BOX _attr_native_unit_of_measurement: str = UnitOfTime.MINUTES - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -1185,8 +1180,8 @@ class DanfossExternalMeasuredRoomSensor(ZCLTemperatureEntity): _attr_native_min_value: float = -80 _attr_native_max_value: float = 35 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -1202,8 +1197,8 @@ class DanfossLoadRoomMean(NumberConfigurationEntity): _attr_native_max_value: int = 2000 _attr_mode: NumberMode = NumberMode.BOX - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -1222,8 +1217,8 @@ class DanfossRegulationSetpointOffset(NumberConfigurationEntity): _attr_native_step: float = 0.1 _multiplier = 1 / 10 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) diff --git a/zha/application/platforms/select.py b/zha/application/platforms/select.py index 8bfbc2bbe..83e0790db 100644 --- a/zha/application/platforms/select.py +++ b/zha/application/platforms/select.py @@ -31,6 +31,7 @@ from zha.application.platforms import ( BaseEntityInfo, ClusterHandlerMatch, + ClusterMatch, EntityCategory, PlatformEntity, register_entity, @@ -39,12 +40,7 @@ from zha.zigbee.cluster_handlers.const import ( AQARA_OPPLE_CLUSTER, CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - CLUSTER_HANDLER_IAS_WD, CLUSTER_HANDLER_INOVELLI, - CLUSTER_HANDLER_LEVEL, - CLUSTER_HANDLER_OCCUPANCY, - CLUSTER_HANDLER_ON_OFF, - CLUSTER_HANDLER_THERMOSTAT, INOVELLI_CLUSTER, SINOPE_MANUFACTURER_CLUSTER, TUYA_MANUFACTURER_CLUSTER, @@ -166,8 +162,8 @@ class DefaultToneSelectEntity(NonZCLSelectEntity): _enum = IasWd.Warning.WarningMode _attr_translation_key: str = "default_siren_tone" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_IAS_WD}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({IasWd.cluster_id}), not_exposed_features=frozenset({SIREN_BASIC}), ) @@ -180,8 +176,8 @@ class DefaultSirenLevelSelectEntity(NonZCLSelectEntity): _enum = IasWd.Warning.SirenLevel _attr_translation_key: str = "default_siren_level" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_IAS_WD}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({IasWd.cluster_id}), not_exposed_features=frozenset({SIREN_BASIC}), ) @@ -194,8 +190,8 @@ class DefaultStrobeLevelSelectEntity(NonZCLSelectEntity): _enum = IasWd.StrobeLevel _attr_translation_key: str = "default_strobe_level" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_IAS_WD}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({IasWd.cluster_id}), not_exposed_features=frozenset({SIREN_BASIC}), ) @@ -208,8 +204,8 @@ class DefaultStrobeSelectEntity(NonZCLSelectEntity): _enum = Strobe _attr_translation_key: str = "default_strobe" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_IAS_WD}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({IasWd.cluster_id}), not_exposed_features=frozenset({SIREN_BASIC}), ) @@ -317,8 +313,8 @@ class StartupOnOffSelectEntity(ZCLEnumSelectEntity): _enum = OnOff.StartUpOnOff _attr_translation_key: str = "start_up_on_off" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ON_OFF}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({OnOff.cluster_id}), ) @@ -339,8 +335,8 @@ class TuyaPowerOnStateSelectEntity(ZCLEnumSelectEntity): _enum = TuyaPowerOnState _attr_translation_key: str = "power_on_state" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ON_OFF}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({OnOff.cluster_id}), exposed_features=frozenset({TUYA_PLUG_ONOFF}), ) @@ -377,8 +373,8 @@ class TuyaBacklightModeSelectEntity(ZCLEnumSelectEntity): _enum = TuyaBacklightMode _attr_translation_key: str = "backlight_mode" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ON_OFF}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({OnOff.cluster_id}), exposed_features=frozenset({TUYA_PLUG_ONOFF}), ) @@ -447,8 +443,8 @@ class HueV1MotionSensitivity(ZCLEnumSelectEntity): _enum = HueV1MotionSensitivities _attr_translation_key: str = "motion_sensitivity" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_OCCUPANCY}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({OccupancySensing.cluster_id}), manufacturers=frozenset({"Philips", "Signify Netherlands B.V."}), models=frozenset({"SML001"}), ) @@ -473,8 +469,8 @@ class HueV2MotionSensitivity(ZCLEnumSelectEntity): _enum = HueV2MotionSensitivities _attr_translation_key: str = "motion_sensitivity" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_OCCUPANCY}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({OccupancySensing.cluster_id}), manufacturers=frozenset({"Philips", "Signify Netherlands B.V."}), models=frozenset({"SML002", "SML003", "SML004"}), ) @@ -824,8 +820,8 @@ class SonoffPresenceDetectionSensitivity(ZCLEnumSelectEntity): _enum = SonoffPresenceDetectionSensitivityEnum _attr_translation_key: str = "detection_sensitivity" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_OCCUPANCY}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({OccupancySensing.cluster_id}), models=frozenset({"SNZB-06P", "SNZB-03P"}), ) @@ -867,8 +863,8 @@ class DanfossExerciseDayOfTheWeek(ZCLEnumSelectEntity): _attr_translation_key: str = "exercise_day_of_week" _enum = danfoss_thermostat.DanfossExerciseDayOfTheWeekEnum - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -893,8 +889,8 @@ class DanfossOrientation(ZCLEnumSelectEntity): _attr_translation_key: str = "valve_orientation" _enum = DanfossOrientationEnum - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -908,8 +904,8 @@ class DanfossAdaptationRunControl(ZCLEnumSelectEntity): _attr_translation_key: str = "adaptation_run_command" _enum = danfoss_thermostat.DanfossAdaptationRunControlEnum - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -948,8 +944,8 @@ class DanfossControlAlgorithmScaleFactor(ZCLEnumSelectEntity): _attr_translation_key: str = "setpoint_response_time" _enum = DanfossControlAlgorithmScaleFactorEnum - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -1037,8 +1033,8 @@ class BegaColorTemperatureChannelSelect(ZCLEnumSelectEntity): _enum = BegaColorTemperatureChannel _attr_translation_key: str = "color_temperature_channel" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_LEVEL}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({LevelControl.cluster_id}), exposed_features=frozenset({BEGA_LIGHT_SWITCHABLE_WHITE}), ) diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index a0c037bfe..72bdc1117 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -105,26 +105,8 @@ from zha.zigbee.cluster_handlers import ClusterAttributeUpdatedEvent from zha.zigbee.cluster_handlers.const import ( AQARA_OPPLE_CLUSTER, - CLUSTER_HANDLER_ANALOG_INPUT, CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - CLUSTER_HANDLER_BASIC, - CLUSTER_HANDLER_COVER, - CLUSTER_HANDLER_DEVICE_TEMPERATURE, - CLUSTER_HANDLER_DIAGNOSTIC, - CLUSTER_HANDLER_ELECTRICAL_CONDUCTIVITY, - CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT, - CLUSTER_HANDLER_FLOW, - CLUSTER_HANDLER_HUMIDITY, - CLUSTER_HANDLER_ILLUMINANCE, CLUSTER_HANDLER_INOVELLI, - CLUSTER_HANDLER_LEAF_WETNESS, - CLUSTER_HANDLER_POWER_CONFIGURATION, - CLUSTER_HANDLER_PRESSURE, - CLUSTER_HANDLER_SMARTENERGY_METERING, - CLUSTER_HANDLER_SOIL_MOISTURE, - CLUSTER_HANDLER_TEMPERATURE, - CLUSTER_HANDLER_THERMOSTAT, - CLUSTER_HANDLER_WIND_SPEED, IKEA_AIR_PURIFIER_CLUSTER, INOVELLI_CLUSTER, REPORT_CONFIG_DEFAULT, @@ -620,8 +602,8 @@ class DigiAnalogInput(Sensor): _attribute_name = "present_value" _attr_translation_key: str = "analog_input" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ANALOG_INPUT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AnalogInput.cluster_id}), manufacturers=frozenset({"Digi"}), ) @@ -733,8 +715,8 @@ class Battery(Sensor): "battery_voltage", } - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_POWER_CONFIGURATION}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({PowerConfiguration.cluster_id}), ) def _is_supported(self) -> bool: @@ -844,8 +826,8 @@ class ElectricalMeasurementActivePower(BaseElectricalMeasurement): class ReportingElectricalMeasurement(ElectricalMeasurementActivePower): """Unpolled active power measurement.""" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), models=frozenset({"VZM31-SN", "SP 234", "outletv4", "INSPELNING Smart plug"}), feature_priority=(PlatformFeatureGroup.EM_ACTIVE_POWER, 1), ) @@ -857,8 +839,8 @@ class PolledElectricalMeasurement(ElectricalMeasurementActivePower): _use_custom_polling: bool = True - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), feature_priority=(PlatformFeatureGroup.EM_ACTIVE_POWER, 0), ) @@ -872,8 +854,8 @@ class UbisysPolledElectricalMeasurement(PolledElectricalMeasurement): (voltage, current, power factor) receive updated values. """ - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), manufacturers=frozenset({"ubisys"}), feature_priority=(PlatformFeatureGroup.EM_ACTIVE_POWER, 1), ) @@ -897,8 +879,8 @@ class ElectricalMeasurementActivePowerPhB(ElectricalMeasurementActivePower): _attr_max_attribute_name = "active_power_max_ph_b" _skip_creation_if_no_attr_cache = True - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) @@ -912,8 +894,8 @@ class ElectricalMeasurementActivePowerPhC(ElectricalMeasurementActivePower): _attr_max_attribute_name = "active_power_max_ph_c" _skip_creation_if_no_attr_cache = True - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) @@ -926,8 +908,8 @@ class ElectricalMeasurementTotalActivePower(ElectricalMeasurementActivePower): _attr_translation_key: str = "total_active_power" _skip_creation_if_no_attr_cache = True - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) @@ -942,8 +924,8 @@ class ElectricalMeasurementApparentPower(BaseElectricalMeasurement): _attr_device_class: SensorDeviceClass = SensorDeviceClass.APPARENT_POWER _attr_native_unit_of_measurement = UnitOfApparentPower.VOLT_AMPERE - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) @@ -960,8 +942,8 @@ class ElectricalMeasurementRMSCurrent(BaseElectricalMeasurement): _attr_device_class: SensorDeviceClass = SensorDeviceClass.CURRENT _attr_native_unit_of_measurement = UnitOfElectricCurrent.AMPERE - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) @@ -975,8 +957,8 @@ class ElectricalMeasurementRMSCurrentPhB(ElectricalMeasurementRMSCurrent): _attr_max_attribute_name: str = "rms_current_max_ph_b" _skip_creation_if_no_attr_cache = True - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) @@ -990,8 +972,8 @@ class ElectricalMeasurementRMSCurrentPhC(ElectricalMeasurementRMSCurrent): _attr_max_attribute_name: str = "rms_current_max_ph_c" _skip_creation_if_no_attr_cache = True - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) @@ -1007,8 +989,8 @@ class ElectricalMeasurementRMSVoltage(BaseElectricalMeasurement): _attr_device_class: SensorDeviceClass = SensorDeviceClass.VOLTAGE _attr_native_unit_of_measurement = UnitOfElectricPotential.VOLT - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) @@ -1022,8 +1004,8 @@ class ElectricalMeasurementRMSVoltagePhB(ElectricalMeasurementRMSVoltage): _attr_max_attribute_name = "rms_voltage_max_ph_b" _skip_creation_if_no_attr_cache = True - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) @@ -1037,8 +1019,8 @@ class ElectricalMeasurementRMSVoltagePhC(ElectricalMeasurementRMSVoltage): _attr_max_attribute_name = "rms_voltage_max_ph_c" _skip_creation_if_no_attr_cache = True - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) @@ -1055,8 +1037,8 @@ class ElectricalMeasurementFrequency(BaseElectricalMeasurement): _attr_device_class: SensorDeviceClass = SensorDeviceClass.FREQUENCY _attr_native_unit_of_measurement = UnitOfFrequency.HERTZ - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) @@ -1069,8 +1051,8 @@ class ElectricalMeasurementPowerFactor(BaseElectricalMeasurement): _attr_device_class: SensorDeviceClass = SensorDeviceClass.POWER_FACTOR _attr_native_unit_of_measurement = PERCENTAGE - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) @@ -1083,8 +1065,8 @@ class ElectricalMeasurementPowerFactorPhB(ElectricalMeasurementPowerFactor): _attr_translation_key: str = "power_factor_ph_b" _skip_creation_if_no_attr_cache = True - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) @@ -1097,8 +1079,8 @@ class ElectricalMeasurementPowerFactorPhC(ElectricalMeasurementPowerFactor): _attr_translation_key: str = "power_factor_ph_c" _skip_creation_if_no_attr_cache = True - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) @@ -1115,8 +1097,8 @@ class ElectricalMeasurementDCVoltage(BaseElectricalMeasurement): _multiplier_attribute_name = "dc_voltage_multiplier" _skip_creation_if_no_attr_cache = True - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) @@ -1133,8 +1115,8 @@ class ElectricalMeasurementDCCurrent(BaseElectricalMeasurement): _multiplier_attribute_name = "dc_current_multiplier" _skip_creation_if_no_attr_cache = True - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) @@ -1151,8 +1133,8 @@ class ElectricalMeasurementDCPower(BaseElectricalMeasurement): _multiplier_attribute_name = "dc_power_multiplier" _skip_creation_if_no_attr_cache = True - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) @@ -1167,8 +1149,8 @@ class Humidity(Sensor): _attr_native_unit_of_measurement = PERCENTAGE _attr_primary_weight = 1 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_HUMIDITY}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({RelativeHumidity.cluster_id}), ) @@ -1183,10 +1165,8 @@ class SmartThingsHumidity(Sensor): _attr_native_unit_of_measurement = PERCENTAGE _attr_primary_weight = 1 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset( - {f"cluster_handler_0x{SMARTTHINGS_HUMIDITY_CLUSTER:04x}"} - ), + _cluster_match = ClusterMatch( + server_clusters=frozenset({SMARTTHINGS_HUMIDITY_CLUSTER}), ) @@ -1202,8 +1182,8 @@ class SoilMoisture(Sensor): _attr_native_unit_of_measurement = PERCENTAGE _attr_primary_weight = 1 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_SOIL_MOISTURE}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({SoilMoistureCluster.cluster_id}), ) @@ -1219,8 +1199,8 @@ class LeafWetness(Sensor): _attr_native_unit_of_measurement = PERCENTAGE _attr_primary_weight = 1 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_LEAF_WETNESS}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({LeafWetnessCluster.cluster_id}), ) @@ -1234,8 +1214,8 @@ class Illuminance(Sensor): _attr_native_unit_of_measurement = LIGHT_LUX _attr_primary_weight = 1 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ILLUMINANCE}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({IlluminanceMeasurement.cluster_id}), ) def formatter(self, value: int) -> int | None: @@ -1274,8 +1254,8 @@ class SmartEnergyMetering(PollableSensor): } _attr_primary_weight = 1 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_SMARTENERGY_METERING}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Metering.cluster_id}), ) _ENTITY_DESCRIPTION_MAP = { @@ -1429,8 +1409,8 @@ class SmartEnergySummation(SmartEnergyMetering): _attr_translation_key: str = "summation_delivered" _attr_suggested_display_precision: int = 3 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_SMARTENERGY_METERING}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Metering.cluster_id}), feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION, 0), ) @@ -1516,8 +1496,8 @@ class PolledSmartEnergySummation(SmartEnergySummation): _use_custom_polling: bool = True - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_SMARTENERGY_METERING}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Metering.cluster_id}), models=frozenset({"TS011F", "ZLinky_TIC", "TICMeter"}), feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION, 1), ) @@ -1527,8 +1507,8 @@ class PolledSmartEnergySummation(SmartEnergySummation): class ExposedFeaturePolledSmartEnergySummation(PolledSmartEnergySummation): """Polled Smart Energy Metering summation sensor via exposed feature.""" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_SMARTENERGY_METERING}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Metering.cluster_id}), exposed_features=frozenset({SE_POLL_SUMMATION}), feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION, 1), ) @@ -1543,8 +1523,8 @@ class Tier1SmartEnergySummation(PolledSmartEnergySummation): _unique_id_suffix = "tier1_summation_delivered" _attr_translation_key: str = "tier1_summation_delivered" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_SMARTENERGY_METERING}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Metering.cluster_id}), models=frozenset({"ZLinky_TIC", "TICMeter"}), feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION, 1), ) @@ -1559,8 +1539,8 @@ class Tier2SmartEnergySummation(PolledSmartEnergySummation): _unique_id_suffix = "tier2_summation_delivered" _attr_translation_key: str = "tier2_summation_delivered" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_SMARTENERGY_METERING}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Metering.cluster_id}), models=frozenset({"ZLinky_TIC", "TICMeter"}), feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION, 1), ) @@ -1575,8 +1555,8 @@ class Tier3SmartEnergySummation(PolledSmartEnergySummation): _unique_id_suffix = "tier3_summation_delivered" _attr_translation_key: str = "tier3_summation_delivered" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_SMARTENERGY_METERING}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Metering.cluster_id}), models=frozenset({"ZLinky_TIC", "TICMeter"}), feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION, 1), ) @@ -1591,8 +1571,8 @@ class Tier4SmartEnergySummation(PolledSmartEnergySummation): _unique_id_suffix = "tier4_summation_delivered" _attr_translation_key: str = "tier4_summation_delivered" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_SMARTENERGY_METERING}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Metering.cluster_id}), models=frozenset({"ZLinky_TIC", "TICMeter"}), feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION, 1), ) @@ -1607,8 +1587,8 @@ class Tier5SmartEnergySummation(PolledSmartEnergySummation): _unique_id_suffix = "tier5_summation_delivered" _attr_translation_key: str = "tier5_summation_delivered" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_SMARTENERGY_METERING}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Metering.cluster_id}), models=frozenset({"ZLinky_TIC", "TICMeter"}), feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION, 1), ) @@ -1623,8 +1603,8 @@ class Tier6SmartEnergySummation(PolledSmartEnergySummation): _unique_id_suffix = "tier6_summation_delivered" _attr_translation_key: str = "tier6_summation_delivered" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_SMARTENERGY_METERING}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Metering.cluster_id}), models=frozenset({"ZLinky_TIC", "TICMeter"}), feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION, 1), ) @@ -1648,8 +1628,8 @@ class SmartEnergySummationReceived(PolledSmartEnergySummation): """ _skip_creation_if_no_attr_cache = True - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_SMARTENERGY_METERING}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Metering.cluster_id}), feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION_RECEIVED, 0), ) @@ -1660,8 +1640,8 @@ class ExposedFeaturePolledSmartEnergySummationReceived(SmartEnergySummationRecei _use_custom_polling = True - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_SMARTENERGY_METERING}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Metering.cluster_id}), exposed_features=frozenset({SE_POLL_SUMMATION}), feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION_RECEIVED, 1), ) @@ -1678,8 +1658,8 @@ class Pressure(Sensor): _attr_native_unit_of_measurement = UnitOfPressure.HPA _attr_primary_weight = 1 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_PRESSURE}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({PressureMeasurement.cluster_id}), ) @@ -1694,8 +1674,8 @@ class Flow(Sensor): _attr_native_unit_of_measurement = UnitOfVolumeFlowRate.CUBIC_METERS_PER_HOUR _attr_primary_weight = 1 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_FLOW}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({FlowMeasurement.cluster_id}), ) @@ -1710,8 +1690,8 @@ class Temperature(Sensor): _attr_native_unit_of_measurement = UnitOfTemperature.CELSIUS _attr_primary_weight = 1 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_TEMPERATURE}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({TemperatureMeasurement.cluster_id}), ) @@ -1728,8 +1708,8 @@ class DeviceTemperature(Sensor): _attr_entity_category = EntityCategory.DIAGNOSTIC _attr_primary_weight = 1 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_DEVICE_TEMPERATURE}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({DeviceTemperatureCluster.cluster_id}), ) @@ -1783,8 +1763,8 @@ class CarbonDioxideConcentration(Sensor): _attr_native_unit_of_measurement = CONCENTRATION_PARTS_PER_MILLION _attr_primary_weight = 1 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"carbon_dioxide_concentration"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({CarbonDioxideConcentrationCluster.cluster_id}), ) @@ -1800,8 +1780,8 @@ class CarbonMonoxideConcentration(Sensor): _attr_native_unit_of_measurement = CONCENTRATION_PARTS_PER_MILLION _attr_primary_weight = 1 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"carbon_monoxide_concentration"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({CarbonMonoxideConcentrationCluster.cluster_id}), ) @@ -1872,8 +1852,8 @@ class PM25(Sensor): _attr_native_unit_of_measurement = CONCENTRATION_MICROGRAMS_PER_CUBIC_METER _attr_primary_weight = 1 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"pm25"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({PM25Cluster.cluster_id}), ) @@ -1886,8 +1866,8 @@ class ElectricalConductivity(Sensor): _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT _attr_native_unit_of_measurement = UnitOfConductivity.MICROSIEMENS_PER_CM - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ELECTRICAL_CONDUCTIVITY}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalConductivityCluster.cluster_id}), ) @@ -1903,8 +1883,8 @@ class FormaldehydeConcentration(Sensor): _attr_native_unit_of_measurement = CONCENTRATION_PARTS_PER_MILLION _attr_primary_weight = 1 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"formaldehyde_concentration"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({FormaldehydeConcentrationCluster.cluster_id}), ) @@ -1915,8 +1895,8 @@ class ThermostatHVACAction(Sensor): _unique_id_suffix = "hvac_action" _attr_translation_key: str = "hvac_action" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), feature_priority=(PlatformFeatureGroup.HVAC_ACTION, 0), ) @@ -2003,8 +1983,8 @@ def _pi_demand_action(self) -> HVACAction: class SinopeHVACAction(ThermostatHVACAction): """Sinope Thermostat HVAC action sensor.""" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), manufacturers=frozenset({"Sinope Technologies"}), feature_priority=(PlatformFeatureGroup.HVAC_ACTION, 1), ) @@ -2047,8 +2027,8 @@ class RSSISensor(Sensor): _attr_entity_registry_enabled_default = False _attr_translation_key: str = "rssi" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_BASIC}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Basic.cluster_id}), ) def __init__( @@ -2126,8 +2106,8 @@ class LQISensor(RSSISensor): _attr_native_unit_of_measurement = None _attr_translation_key = "lqi" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_BASIC}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Basic.cluster_id}), ) @property @@ -2313,8 +2293,8 @@ class PiHeatingDemand(Sensor): _attr_suggested_display_precision = 0 _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), ) @@ -2339,8 +2319,8 @@ class SetpointChangeSource(EnumSensor): _attr_entity_category = EntityCategory.DIAGNOSTIC _enum = SetpointChangeSourceEnum - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), ) @@ -2357,8 +2337,8 @@ class SetpointChangeSourceTimestamp(TimestampSensor): _attr_entity_category = EntityCategory.DIAGNOSTIC _attr_device_class = SensorDeviceClass.TIMESTAMP - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), ) def formatter(self, value: types.UTCTime) -> datetime: @@ -2376,8 +2356,8 @@ class WindowCoveringTypeSensor(EnumSensor): _attr_translation_key: str = "window_covering_type" _attr_entity_category = EntityCategory.DIAGNOSTIC - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_COVER}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({WindowCovering.cluster_id}), ) @@ -2391,8 +2371,8 @@ class AqaraCurtainMotorPowerSourceSensor(EnumSensor): _attr_translation_key: str = "power_source" _attr_entity_category = EntityCategory.DIAGNOSTIC - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_BASIC}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Basic.cluster_id}), models=frozenset({"lumi.curtain.agl001"}), ) @@ -2485,8 +2465,8 @@ class DanfossOpenWindowDetection(EnumSensor): _attr_translation_key: str = "open_window_detected" _enum = danfoss_thermostat.DanfossOpenWindowDetectionEnum - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -2500,8 +2480,8 @@ class DanfossLoadEstimate(Sensor): _attr_translation_key: str = "load_estimate" _attr_entity_category = EntityCategory.DIAGNOSTIC - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -2516,8 +2496,8 @@ class DanfossAdaptationRunStatus(BitMapSensor): _attr_entity_category = EntityCategory.DIAGNOSTIC _bitmap = danfoss_thermostat.DanfossAdaptationRunStatusBitmap - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -2532,8 +2512,8 @@ class DanfossPreheatTime(Sensor): _attr_entity_registry_enabled_default = False _attr_entity_category = EntityCategory.DIAGNOSTIC - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -2548,8 +2528,8 @@ class DanfossSoftwareErrorCode(BitMapSensor): _attr_entity_category = EntityCategory.DIAGNOSTIC _bitmap = danfoss_thermostat.DanfossSoftwareErrorCodeBitmap - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_DIAGNOSTIC}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Diagnostic.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -2563,8 +2543,8 @@ class DanfossMotorStepCounter(Sensor): _attr_translation_key: str = "motor_stepcount" _attr_entity_category = EntityCategory.DIAGNOSTIC - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_DIAGNOSTIC}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Diagnostic.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -2580,6 +2560,6 @@ class WindSpeed(Sensor): _attr_native_unit_of_measurement = UnitOfSpeed.METERS_PER_SECOND _attr_primary_weight = 2 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_WIND_SPEED}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({WindSpeedCluster.cluster_id}), ) diff --git a/zha/application/platforms/switch.py b/zha/application/platforms/switch.py index e4a6b4b11..9ec65116b 100644 --- a/zha/application/platforms/switch.py +++ b/zha/application/platforms/switch.py @@ -18,9 +18,12 @@ from zha.application import Platform from zha.application.platforms import ( + AttrConfig, BaseEntity, BaseEntityInfo, + ClusterConfig, ClusterHandlerMatch, + ClusterMatch, EntityCategory, GroupEntity, PlatformEntity, @@ -33,14 +36,12 @@ from zha.zigbee.cluster_handlers.const import ( AQARA_OPPLE_CLUSTER, CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - CLUSTER_HANDLER_BASIC, CLUSTER_HANDLER_BINARY_OUTPUT, - CLUSTER_HANDLER_COVER, CLUSTER_HANDLER_INOVELLI, CLUSTER_HANDLER_ON_OFF, - CLUSTER_HANDLER_THERMOSTAT, IKEA_AIR_PURIFIER_CLUSTER, INOVELLI_CLUSTER, + REPORT_CONFIG_IMMEDIATE, SINOPE_MANUFACTURER_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) @@ -103,12 +104,27 @@ class Switch(PlatformEntity, BaseSwitch): _attr_primary_weight = 10 _attribute_name = OnOff.AttributeDefs.on_off.name - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ON_OFF}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({OnOff.cluster_id}), # Switch entities have the lowest priority feature_priority=(PlatformFeatureGroup.LIGHT_OR_SWITCH_OR_SHADE, -1), ) + _server_cluster_config = { + OnOff.cluster_id: ClusterConfig( + bind=True, + attributes={ + OnOff.AttributeDefs.on_off: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + OnOff.AttributeDefs.start_up_on_off: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + def __init__( self, cluster_handlers: list[ClusterHandler], @@ -204,10 +220,24 @@ class BinaryOutputSwitch(PlatformEntity, BaseSwitch): """BinaryOutputCluster switch.""" _attr_primary_weight = 10 - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_BINARY_OUTPUT}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({BinaryOutput.cluster_id}), ) + _server_cluster_config = { + BinaryOutput.cluster_id: ClusterConfig( + attributes={ + BinaryOutput.AttributeDefs.present_value: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + BinaryOutput.AttributeDefs.description: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + def __init__( self, cluster_handlers: list[ClusterHandler], @@ -536,8 +566,8 @@ class HueMotionTriggerIndicatorSwitch(ConfigurableAttributeSwitch): _attribute_name = "trigger_indicator" _attr_translation_key = "trigger_indicator" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_BASIC}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Basic.cluster_id}), manufacturers=frozenset({"Philips", "Signify Netherlands B.V."}), models=frozenset({"SML001", "SML002", "SML003", "SML004"}), ) @@ -765,8 +795,8 @@ class TuyaChildLockSwitch(ConfigurableAttributeSwitch): _attribute_name = "child_lock" _attr_translation_key = "child_lock" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ON_OFF}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({OnOff.cluster_id}), exposed_features=frozenset({TUYA_PLUG_ONOFF}), ) @@ -880,8 +910,8 @@ class WindowCoveringInversionSwitch(ConfigurableAttributeSwitch): _attribute_name = WindowCovering.AttributeDefs.config_status.name _attr_translation_key = "inverted" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_COVER}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({WindowCovering.cluster_id}), ) def _is_supported(self) -> bool: @@ -980,8 +1010,8 @@ class DanfossExternalOpenWindowDetected(ConfigurableAttributeSwitch): _attribute_name: str = "external_open_window_detected" _attr_translation_key: str = "external_window_sensor" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -994,8 +1024,8 @@ class DanfossWindowOpenFeature(ConfigurableAttributeSwitch): _attribute_name: str = "window_open_feature" _attr_translation_key: str = "use_internal_window_detection" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -1008,8 +1038,8 @@ class DanfossMountingModeControl(ConfigurableAttributeSwitch): _attribute_name: str = "mounting_mode_control" _attr_translation_key: str = "mounting_mode" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -1022,8 +1052,8 @@ class DanfossRadiatorCovered(ConfigurableAttributeSwitch): _attribute_name: str = "radiator_covered" _attr_translation_key: str = "prioritize_external_temperature_sensor" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -1036,8 +1066,8 @@ class DanfossHeatAvailable(ConfigurableAttributeSwitch): _attribute_name: str = "heat_available" _attr_translation_key: str = "heat_available" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -1050,8 +1080,8 @@ class DanfossLoadBalancingEnable(ConfigurableAttributeSwitch): _attribute_name: str = "load_balancing_enable" _attr_translation_key: str = "use_load_balancing" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) @@ -1067,8 +1097,8 @@ class DanfossAdaptationRunSettings(ConfigurableAttributeSwitch): _attribute_name: str = "adaptation_run_settings" _attr_translation_key: str = "adaptation_run_enabled" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_THERMOSTAT}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) diff --git a/zha/zigbee/cluster_config.py b/zha/zigbee/cluster_config.py index bc3b9d9c5..16d0065c3 100644 --- a/zha/zigbee/cluster_config.py +++ b/zha/zigbee/cluster_config.py @@ -16,7 +16,7 @@ if TYPE_CHECKING: from collections.abc import Iterable - from zha.application.platforms import BaseEntity + from zha.application.platforms import PlatformEntity _LOGGER = logging.getLogger(__name__) RETRYABLE_REQUEST_DECORATOR = zigpy.util.retryable_request(tries=3) @@ -54,7 +54,7 @@ class AggregatedClusterConfig: def aggregate_cluster_configs( - entities: Iterable[BaseEntity], + entities: Iterable[PlatformEntity], ) -> dict[tuple[int, int], AggregatedClusterConfig]: """Aggregate cluster configurations from entities. @@ -63,9 +63,6 @@ def aggregate_cluster_configs( result: dict[tuple[int, int], AggregatedClusterConfig] = {} for entity in entities: - if not hasattr(entity, "_server_cluster_config"): - continue - if not entity._server_cluster_config and not entity._client_cluster_config: continue From 4ad5497122b9e5ecde9b672d39832d58a988d5ed Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 12 May 2026 02:11:24 -0400 Subject: [PATCH 13/85] WIP: more... --- zha/application/platforms/climate/__init__.py | 1 + zha/application/platforms/number/__init__.py | 240 +++++++ zha/application/platforms/select.py | 166 +++++ zha/application/platforms/sensor/__init__.py | 613 ++++++++++++++++++ zha/application/platforms/switch.py | 160 +++++ zha/zigbee/cluster_config.py | 79 ++- 6 files changed, 1229 insertions(+), 30 deletions(-) diff --git a/zha/application/platforms/climate/__init__.py b/zha/application/platforms/climate/__init__.py index 8b1746e2c..76fdb9372 100644 --- a/zha/application/platforms/climate/__init__.py +++ b/zha/application/platforms/climate/__init__.py @@ -742,6 +742,7 @@ class SinopeTechnologiesThermostat(Thermostat): manufacturer = 0x119C __polling_interval: int + _cluster_match = None _cluster_handler_match = ClusterHandlerMatch( cluster_handlers=frozenset( {CLUSTER_HANDLER_THERMOSTAT, "sinope_manufacturer_specific"} diff --git a/zha/application/platforms/number/__init__.py b/zha/application/platforms/number/__init__.py index 88d2443f7..188b03471 100644 --- a/zha/application/platforms/number/__init__.py +++ b/zha/application/platforms/number/__init__.py @@ -17,7 +17,9 @@ from zha.application import Platform from zha.application.platforms import ( + AttrConfig, BaseEntityInfo, + ClusterConfig, ClusterHandlerMatch, ClusterMatch, EntityCategory, @@ -37,9 +39,17 @@ CLUSTER_HANDLER_INOVELLI, IKEA_AIR_PURIFIER_CLUSTER, INOVELLI_CLUSTER, + REPORT_CONFIG_ASAP, + REPORT_CONFIG_DEFAULT, + REPORT_CONFIG_IMMEDIATE, SINOPE_MANUFACTURER_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) +from zha.zigbee.cluster_handlers.hvac import ( + REPORT_CONFIG_CLIMATE, + REPORT_CONFIG_CLIMATE_DEMAND, + REPORT_CONFIG_CLIMATE_DISCRETE, +) if TYPE_CHECKING: from zha.zigbee.cluster_handlers import ClusterHandler @@ -136,6 +146,39 @@ class AnalogOutputNumber(BaseNumber): server_clusters=frozenset({AnalogOutput.cluster_id}), ) + _server_cluster_config = { + AnalogOutput.cluster_id: ClusterConfig( + bind=True, + attributes={ + AnalogOutput.AttributeDefs.present_value: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_DEFAULT, + ), + AnalogOutput.AttributeDefs.min_present_value: AttrConfig( + read_on_startup=False, + ), + AnalogOutput.AttributeDefs.max_present_value: AttrConfig( + read_on_startup=False, + ), + AnalogOutput.AttributeDefs.resolution: AttrConfig( + read_on_startup=False, + ), + AnalogOutput.AttributeDefs.relinquish_default: AttrConfig( + read_on_startup=False, + ), + AnalogOutput.AttributeDefs.description: AttrConfig( + read_on_startup=False, + ), + AnalogOutput.AttributeDefs.engineering_units: AttrConfig( + read_on_startup=False, + ), + AnalogOutput.AttributeDefs.application_type: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + def __init__( self, cluster_handlers: list[ClusterHandler], @@ -345,6 +388,36 @@ class OnOffTransitionTimeConfigurationEntity(NumberConfigurationEntity): server_clusters=frozenset({LevelControl.cluster_id}), ) + _server_cluster_config = { + LevelControl.cluster_id: ClusterConfig( + bind=True, + attributes={ + LevelControl.AttributeDefs.current_level: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_ASAP, + ), + LevelControl.AttributeDefs.on_off_transition_time: AttrConfig( + read_on_startup=False, + ), + LevelControl.AttributeDefs.on_level: AttrConfig( + read_on_startup=False, + ), + LevelControl.AttributeDefs.on_transition_time: AttrConfig( + read_on_startup=False, + ), + LevelControl.AttributeDefs.off_transition_time: AttrConfig( + read_on_startup=False, + ), + LevelControl.AttributeDefs.default_move_rate: AttrConfig( + read_on_startup=False, + ), + LevelControl.AttributeDefs.start_up_current_level: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(LevelControl.cluster_id) class OnLevelConfigurationEntity(NumberConfigurationEntity): @@ -436,6 +509,47 @@ class StartUpColorTemperatureConfigurationEntity(NumberConfigurationEntity): server_clusters=frozenset({Color.cluster_id}), ) + _server_cluster_config = { + Color.cluster_id: ClusterConfig( + bind=True, + attributes={ + Color.AttributeDefs.current_x: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_DEFAULT, + ), + Color.AttributeDefs.current_y: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_DEFAULT, + ), + Color.AttributeDefs.color_temperature: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_DEFAULT, + ), + Color.AttributeDefs.color_mode: AttrConfig( + read_on_startup=True, + ), + Color.AttributeDefs.color_temp_physical_min: AttrConfig( + read_on_startup=False, + ), + Color.AttributeDefs.color_temp_physical_max: AttrConfig( + read_on_startup=False, + ), + Color.AttributeDefs.color_capabilities: AttrConfig( + read_on_startup=False, + ), + Color.AttributeDefs.color_loop_active: AttrConfig( + read_on_startup=True, + ), + Color.AttributeDefs.start_up_color_temperature: AttrConfig( + read_on_startup=False, + ), + Color.AttributeDefs.options: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + def recompute_capabilities(self) -> None: """Recompute capabilities.""" super().recompute_capabilities() @@ -458,6 +572,20 @@ class BallastMinLevel(NumberConfigurationEntity): server_clusters=frozenset({Ballast.cluster_id}), ) + _server_cluster_config = { + Ballast.cluster_id: ClusterConfig( + bind=True, + attributes={ + Ballast.AttributeDefs.min_level: AttrConfig( + read_on_startup=False, + ), + Ballast.AttributeDefs.max_level: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(Ballast.cluster_id) class BallastMaxLevel(NumberConfigurationEntity): @@ -491,6 +619,24 @@ class PIROccupiedToUnoccupiedDelayConfigurationEntity(NumberConfigurationEntity) server_clusters=frozenset({OccupancySensing.cluster_id}), ) + _server_cluster_config = { + OccupancySensing.cluster_id: ClusterConfig( + bind=True, + attributes={ + OccupancySensing.AttributeDefs.occupancy: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + OccupancySensing.AttributeDefs.pir_o_to_u_delay: AttrConfig( + read_on_startup=False, + ), + OccupancySensing.AttributeDefs.pir_u_to_o_delay: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(OccupancySensing.cluster_id) class PIRUnoccupiedToOccupiedDelayConfigurationEntity(NumberConfigurationEntity): @@ -579,6 +725,12 @@ class TiRouterTransmitPower(NumberConfigurationEntity): models=frozenset({"ti.router"}), ) + _server_cluster_config = { + Basic.cluster_id: ClusterConfig( + bind=False, + ), + } + @register_entity(INOVELLI_CLUSTER) class InovelliRemoteDimmingUpSpeed(NumberConfigurationEntity): @@ -1029,6 +1181,94 @@ class ThermostatLocalTempCalibration(NumberConfigurationEntity): feature_priority=(PlatformFeatureGroup.LOCAL_TEMPERATURE_CALIBRATION, 0), ) + _server_cluster_config = { + Thermostat.cluster_id: ClusterConfig( + bind=True, + attributes={ + Thermostat.AttributeDefs.local_temperature: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + Thermostat.AttributeDefs.occupied_cooling_setpoint: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + Thermostat.AttributeDefs.occupied_heating_setpoint: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + Thermostat.AttributeDefs.unoccupied_cooling_setpoint: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + Thermostat.AttributeDefs.unoccupied_heating_setpoint: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + Thermostat.AttributeDefs.running_mode: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + ), + Thermostat.AttributeDefs.running_state: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + ), + Thermostat.AttributeDefs.system_mode: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + ), + Thermostat.AttributeDefs.occupancy: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + ), + Thermostat.AttributeDefs.pi_cooling_demand: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DEMAND, + ), + Thermostat.AttributeDefs.pi_heating_demand: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DEMAND, + ), + Thermostat.AttributeDefs.abs_min_heat_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.abs_max_heat_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.abs_min_cool_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.abs_max_cool_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.ctrl_sequence_of_oper: AttrConfig( + read_on_startup=True, + ), + Thermostat.AttributeDefs.max_cool_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.max_heat_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.min_cool_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.min_heat_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.local_temperature_calibration: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.setpoint_change_source: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.setpoint_change_source_timestamp: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(Thermostat.cluster_id) class SonoffThermostatLocalTempCalibration(ThermostatLocalTempCalibration): diff --git a/zha/application/platforms/select.py b/zha/application/platforms/select.py index 83e0790db..016839eae 100644 --- a/zha/application/platforms/select.py +++ b/zha/application/platforms/select.py @@ -29,7 +29,9 @@ from zha.application import Platform from zha.application.const import Strobe from zha.application.platforms import ( + AttrConfig, BaseEntityInfo, + ClusterConfig, ClusterHandlerMatch, ClusterMatch, EntityCategory, @@ -42,9 +44,16 @@ CLUSTER_HANDLER_ATTRIBUTE_UPDATED, CLUSTER_HANDLER_INOVELLI, INOVELLI_CLUSTER, + REPORT_CONFIG_ASAP, + REPORT_CONFIG_IMMEDIATE, SINOPE_MANUFACTURER_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) +from zha.zigbee.cluster_handlers.hvac import ( + REPORT_CONFIG_CLIMATE, + REPORT_CONFIG_CLIMATE_DEMAND, + REPORT_CONFIG_CLIMATE_DISCRETE, +) if TYPE_CHECKING: from zha.zigbee.cluster_handlers import ClusterHandler @@ -148,6 +157,12 @@ def restore_external_state_attributes( class NonZCLSelectEntity(EnumSelectEntity): """Representation of a ZHA select entity with no ZCL interaction.""" + _server_cluster_config = { + IasWd.cluster_id: ClusterConfig( + bind=True, + ), + } + @property def available(self) -> bool: """Return entity availability.""" @@ -317,6 +332,21 @@ class StartupOnOffSelectEntity(ZCLEnumSelectEntity): server_clusters=frozenset({OnOff.cluster_id}), ) + _server_cluster_config = { + OnOff.cluster_id: ClusterConfig( + bind=True, + attributes={ + OnOff.AttributeDefs.on_off: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + OnOff.AttributeDefs.start_up_on_off: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + class TuyaPowerOnState(types.enum8): """Tuya power on state enum.""" @@ -449,6 +479,24 @@ class HueV1MotionSensitivity(ZCLEnumSelectEntity): models=frozenset({"SML001"}), ) + _server_cluster_config = { + OccupancySensing.cluster_id: ClusterConfig( + bind=True, + attributes={ + OccupancySensing.AttributeDefs.occupancy: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + OccupancySensing.AttributeDefs.pir_o_to_u_delay: AttrConfig( + read_on_startup=False, + ), + OccupancySensing.AttributeDefs.pir_u_to_o_delay: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + class HueV2MotionSensitivities(types.enum8): """Hue v2 motion sensitivities.""" @@ -868,6 +916,94 @@ class DanfossExerciseDayOfTheWeek(ZCLEnumSelectEntity): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) + _server_cluster_config = { + Thermostat.cluster_id: ClusterConfig( + bind=True, + attributes={ + Thermostat.AttributeDefs.local_temperature: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + Thermostat.AttributeDefs.occupied_cooling_setpoint: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + Thermostat.AttributeDefs.occupied_heating_setpoint: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + Thermostat.AttributeDefs.unoccupied_cooling_setpoint: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + Thermostat.AttributeDefs.unoccupied_heating_setpoint: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + Thermostat.AttributeDefs.running_mode: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + ), + Thermostat.AttributeDefs.running_state: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + ), + Thermostat.AttributeDefs.system_mode: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + ), + Thermostat.AttributeDefs.occupancy: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + ), + Thermostat.AttributeDefs.pi_cooling_demand: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DEMAND, + ), + Thermostat.AttributeDefs.pi_heating_demand: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DEMAND, + ), + Thermostat.AttributeDefs.abs_min_heat_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.abs_max_heat_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.abs_min_cool_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.abs_max_cool_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.ctrl_sequence_of_oper: AttrConfig( + read_on_startup=True, + ), + Thermostat.AttributeDefs.max_cool_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.max_heat_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.min_cool_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.min_heat_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.local_temperature_calibration: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.setpoint_change_source: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.setpoint_change_source_timestamp: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + class DanfossOrientationEnum(types.enum8): """Vertical or Horizontal.""" @@ -1038,6 +1174,36 @@ class BegaColorTemperatureChannelSelect(ZCLEnumSelectEntity): exposed_features=frozenset({BEGA_LIGHT_SWITCHABLE_WHITE}), ) + _server_cluster_config = { + LevelControl.cluster_id: ClusterConfig( + bind=True, + attributes={ + LevelControl.AttributeDefs.current_level: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_ASAP, + ), + LevelControl.AttributeDefs.on_off_transition_time: AttrConfig( + read_on_startup=False, + ), + LevelControl.AttributeDefs.on_level: AttrConfig( + read_on_startup=False, + ), + LevelControl.AttributeDefs.on_transition_time: AttrConfig( + read_on_startup=False, + ), + LevelControl.AttributeDefs.off_transition_time: AttrConfig( + read_on_startup=False, + ), + LevelControl.AttributeDefs.default_move_rate: AttrConfig( + read_on_startup=False, + ), + LevelControl.AttributeDefs.start_up_current_level: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + def _is_supported(self) -> bool: """Check if the light supports switchable color temperatures.""" cluster = self._cluster_handler.cluster diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 72bdc1117..c4e67b768 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -109,11 +109,22 @@ CLUSTER_HANDLER_INOVELLI, IKEA_AIR_PURIFIER_CLUSTER, INOVELLI_CLUSTER, + REPORT_CONFIG_ASAP, + REPORT_CONFIG_BATTERY_SAVE, REPORT_CONFIG_DEFAULT, + REPORT_CONFIG_IMMEDIATE, + REPORT_CONFIG_MAX_INT, + REPORT_CONFIG_MIN_INT, + REPORT_CONFIG_OP, SMARTTHINGS_HUMIDITY_CLUSTER, SONOFF_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) +from zha.zigbee.cluster_handlers.hvac import ( + REPORT_CONFIG_CLIMATE, + REPORT_CONFIG_CLIMATE_DEMAND, + REPORT_CONFIG_CLIMATE_DISCRETE, +) if TYPE_CHECKING: from zha.zigbee.cluster_handlers import ClusterHandler @@ -607,6 +618,45 @@ class DigiAnalogInput(Sensor): manufacturers=frozenset({"Digi"}), ) + _server_cluster_config = { + AnalogInput.cluster_id: ClusterConfig( + bind=True, + attributes={ + AnalogInput.AttributeDefs.present_value: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_DEFAULT, + ), + AnalogInput.AttributeDefs.description: AttrConfig( + read_on_startup=False, + ), + AnalogInput.AttributeDefs.max_present_value: AttrConfig( + read_on_startup=False, + ), + AnalogInput.AttributeDefs.min_present_value: AttrConfig( + read_on_startup=False, + ), + AnalogInput.AttributeDefs.out_of_service: AttrConfig( + read_on_startup=False, + ), + AnalogInput.AttributeDefs.reliability: AttrConfig( + read_on_startup=False, + ), + AnalogInput.AttributeDefs.resolution: AttrConfig( + read_on_startup=False, + ), + AnalogInput.AttributeDefs.status_flags: AttrConfig( + read_on_startup=False, + ), + AnalogInput.AttributeDefs.engineering_units: AttrConfig( + read_on_startup=False, + ), + AnalogInput.AttributeDefs.application_type: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(AnalogInput.cluster_id) class AnalogInputSensor(Sensor): @@ -719,6 +769,28 @@ class Battery(Sensor): server_clusters=frozenset({PowerConfiguration.cluster_id}), ) + _server_cluster_config = { + PowerConfiguration.cluster_id: ClusterConfig( + bind=True, + attributes={ + PowerConfiguration.AttributeDefs.battery_voltage: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_BATTERY_SAVE, + ), + PowerConfiguration.AttributeDefs.battery_percentage_remaining: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_BATTERY_SAVE, + ), + PowerConfiguration.AttributeDefs.battery_size: AttrConfig( + read_on_startup=False, + ), + PowerConfiguration.AttributeDefs.battery_quantity: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + def _is_supported(self) -> bool: # XXX: We intentionally ignore the presence of this attribute return PlatformEntity._is_supported(self) and not self.device.is_mains_powered @@ -757,6 +829,178 @@ class BaseElectricalMeasurement(PollableSensor): _multiplier_attribute_name: str | None = None _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT + _server_cluster_config = { + ElectricalMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalMeasurement.AttributeDefs.ac_voltage_multiplier: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + ElectricalMeasurement.AttributeDefs.ac_voltage_divisor: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + ElectricalMeasurement.AttributeDefs.ac_current_multiplier: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + ElectricalMeasurement.AttributeDefs.ac_current_divisor: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + ElectricalMeasurement.AttributeDefs.ac_power_multiplier: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + ElectricalMeasurement.AttributeDefs.ac_power_divisor: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + ElectricalMeasurement.AttributeDefs.power_multiplier: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + ElectricalMeasurement.AttributeDefs.power_divisor: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + ElectricalMeasurement.AttributeDefs.active_power: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_OP, + ), + ElectricalMeasurement.AttributeDefs.active_power_ph_b: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_OP, + ), + ElectricalMeasurement.AttributeDefs.active_power_ph_c: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_OP, + ), + ElectricalMeasurement.AttributeDefs.total_active_power: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_OP, + ), + ElectricalMeasurement.AttributeDefs.apparent_power: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_OP, + ), + ElectricalMeasurement.AttributeDefs.rms_current: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_OP, + ), + ElectricalMeasurement.AttributeDefs.rms_current_ph_b: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_OP, + ), + ElectricalMeasurement.AttributeDefs.rms_current_ph_c: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_OP, + ), + ElectricalMeasurement.AttributeDefs.rms_voltage: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_OP, + ), + ElectricalMeasurement.AttributeDefs.rms_voltage_ph_b: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_OP, + ), + ElectricalMeasurement.AttributeDefs.rms_voltage_ph_c: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_OP, + ), + ElectricalMeasurement.AttributeDefs.ac_frequency: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_OP, + ), + ElectricalMeasurement.AttributeDefs.dc_voltage_multiplier: AttrConfig( + read_on_startup=False, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + ElectricalMeasurement.AttributeDefs.dc_voltage_divisor: AttrConfig( + read_on_startup=False, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + ElectricalMeasurement.AttributeDefs.dc_current_multiplier: AttrConfig( + read_on_startup=False, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + ElectricalMeasurement.AttributeDefs.dc_current_divisor: AttrConfig( + read_on_startup=False, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + ElectricalMeasurement.AttributeDefs.dc_power_multiplier: AttrConfig( + read_on_startup=False, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + ElectricalMeasurement.AttributeDefs.dc_power_divisor: AttrConfig( + read_on_startup=False, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + ElectricalMeasurement.AttributeDefs.dc_voltage: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_OP, + ), + ElectricalMeasurement.AttributeDefs.dc_current: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_OP, + ), + ElectricalMeasurement.AttributeDefs.dc_power: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_OP, + ), + ElectricalMeasurement.AttributeDefs.ac_frequency_divisor: AttrConfig( + read_on_startup=False, + ), + ElectricalMeasurement.AttributeDefs.ac_frequency_max: AttrConfig( + read_on_startup=False, + ), + ElectricalMeasurement.AttributeDefs.ac_frequency_multiplier: AttrConfig( + read_on_startup=False, + ), + ElectricalMeasurement.AttributeDefs.active_power_max: AttrConfig( + read_on_startup=False, + ), + ElectricalMeasurement.AttributeDefs.active_power_max_ph_b: AttrConfig( + read_on_startup=False, + ), + ElectricalMeasurement.AttributeDefs.active_power_max_ph_c: AttrConfig( + read_on_startup=False, + ), + ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( + read_on_startup=False, + ), + ElectricalMeasurement.AttributeDefs.power_factor: AttrConfig( + read_on_startup=False, + ), + ElectricalMeasurement.AttributeDefs.power_factor_ph_b: AttrConfig( + read_on_startup=False, + ), + ElectricalMeasurement.AttributeDefs.power_factor_ph_c: AttrConfig( + read_on_startup=False, + ), + ElectricalMeasurement.AttributeDefs.rms_current_max: AttrConfig( + read_on_startup=False, + ), + ElectricalMeasurement.AttributeDefs.rms_current_max_ph_b: AttrConfig( + read_on_startup=False, + ), + ElectricalMeasurement.AttributeDefs.rms_current_max_ph_c: AttrConfig( + read_on_startup=False, + ), + ElectricalMeasurement.AttributeDefs.rms_voltage_max: AttrConfig( + read_on_startup=False, + ), + ElectricalMeasurement.AttributeDefs.rms_voltage_max_ph_b: AttrConfig( + read_on_startup=False, + ), + ElectricalMeasurement.AttributeDefs.rms_voltage_max_ph_c: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + def __init__( self, cluster_handlers: list[ClusterHandler], @@ -1153,6 +1397,18 @@ class Humidity(Sensor): server_clusters=frozenset({RelativeHumidity.cluster_id}), ) + _server_cluster_config = { + RelativeHumidity.cluster_id: ClusterConfig( + bind=True, + attributes={ + RelativeHumidity.AttributeDefs.measured_value: AttrConfig( + read_on_startup=True, + reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 100), + ), + }, + ), + } + @register_entity(SMARTTHINGS_HUMIDITY_CLUSTER) class SmartThingsHumidity(Sensor): @@ -1186,6 +1442,18 @@ class SoilMoisture(Sensor): server_clusters=frozenset({SoilMoistureCluster.cluster_id}), ) + _server_cluster_config = { + SoilMoistureCluster.cluster_id: ClusterConfig( + bind=True, + attributes={ + SoilMoistureCluster.AttributeDefs.measured_value: AttrConfig( + read_on_startup=True, + reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 100), + ), + }, + ), + } + @register_entity(LeafWetnessCluster.cluster_id) class LeafWetness(Sensor): @@ -1203,6 +1471,18 @@ class LeafWetness(Sensor): server_clusters=frozenset({LeafWetnessCluster.cluster_id}), ) + _server_cluster_config = { + LeafWetnessCluster.cluster_id: ClusterConfig( + bind=True, + attributes={ + LeafWetnessCluster.AttributeDefs.measured_value: AttrConfig( + read_on_startup=True, + reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 100), + ), + }, + ), + } + @register_entity(IlluminanceMeasurement.cluster_id) class Illuminance(Sensor): @@ -1218,6 +1498,18 @@ class Illuminance(Sensor): server_clusters=frozenset({IlluminanceMeasurement.cluster_id}), ) + _server_cluster_config = { + IlluminanceMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + IlluminanceMeasurement.AttributeDefs.measured_value: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_DEFAULT, + ), + }, + ), + } + def formatter(self, value: int) -> int | None: """Convert illumination data.""" if self._is_non_value(value): @@ -1258,6 +1550,72 @@ class SmartEnergyMetering(PollableSensor): server_clusters=frozenset({Metering.cluster_id}), ) + _server_cluster_config = { + Metering.cluster_id: ClusterConfig( + bind=True, + attributes={ + Metering.AttributeDefs.instantaneous_demand: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_OP, + ), + Metering.AttributeDefs.current_summ_delivered: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_DEFAULT, + ), + Metering.AttributeDefs.current_tier1_summ_delivered: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_DEFAULT, + ), + Metering.AttributeDefs.current_tier2_summ_delivered: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_DEFAULT, + ), + Metering.AttributeDefs.current_tier3_summ_delivered: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_DEFAULT, + ), + Metering.AttributeDefs.current_tier4_summ_delivered: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_DEFAULT, + ), + Metering.AttributeDefs.current_tier5_summ_delivered: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_DEFAULT, + ), + Metering.AttributeDefs.current_tier6_summ_delivered: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_DEFAULT, + ), + Metering.AttributeDefs.current_summ_received: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_DEFAULT, + ), + Metering.AttributeDefs.status: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_ASAP, + ), + Metering.AttributeDefs.demand_formatting: AttrConfig( + read_on_startup=False, + ), + Metering.AttributeDefs.divisor: AttrConfig( + read_on_startup=False, + ), + Metering.AttributeDefs.metering_device_type: AttrConfig( + read_on_startup=False, + ), + Metering.AttributeDefs.multiplier: AttrConfig( + read_on_startup=False, + ), + Metering.AttributeDefs.summation_formatting: AttrConfig( + read_on_startup=False, + ), + Metering.AttributeDefs.unit_of_measure: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + _ENTITY_DESCRIPTION_MAP = { 0x00: SmartEnergyMeteringEntityDescription( native_unit_of_measurement=UnitOfPower.WATT, @@ -1662,6 +2020,18 @@ class Pressure(Sensor): server_clusters=frozenset({PressureMeasurement.cluster_id}), ) + _server_cluster_config = { + PressureMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + PressureMeasurement.AttributeDefs.measured_value: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_DEFAULT, + ), + }, + ), + } + @register_entity(FlowMeasurement.cluster_id) class Flow(Sensor): @@ -1678,6 +2048,18 @@ class Flow(Sensor): server_clusters=frozenset({FlowMeasurement.cluster_id}), ) + _server_cluster_config = { + FlowMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + FlowMeasurement.AttributeDefs.measured_value: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_DEFAULT, + ), + }, + ), + } + @register_entity(TemperatureMeasurement.cluster_id) class Temperature(Sensor): @@ -1694,6 +2076,18 @@ class Temperature(Sensor): server_clusters=frozenset({TemperatureMeasurement.cluster_id}), ) + _server_cluster_config = { + TemperatureMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + TemperatureMeasurement.AttributeDefs.measured_value: AttrConfig( + read_on_startup=True, + reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 50), + ), + }, + ), + } + @register_entity(DeviceTemperatureCluster.cluster_id) class DeviceTemperature(Sensor): @@ -1712,6 +2106,18 @@ class DeviceTemperature(Sensor): server_clusters=frozenset({DeviceTemperatureCluster.cluster_id}), ) + _server_cluster_config = { + DeviceTemperatureCluster.cluster_id: ClusterConfig( + bind=True, + attributes={ + DeviceTemperatureCluster.AttributeDefs.current_temperature: AttrConfig( + read_on_startup=True, + reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 50), + ), + }, + ), + } + @register_entity(INOVELLI_CLUSTER) class InovelliInternalTemperature(Sensor): @@ -1767,6 +2173,18 @@ class CarbonDioxideConcentration(Sensor): server_clusters=frozenset({CarbonDioxideConcentrationCluster.cluster_id}), ) + _server_cluster_config = { + CarbonDioxideConcentrationCluster.cluster_id: ClusterConfig( + bind=True, + attributes={ + CarbonDioxideConcentrationCluster.AttributeDefs.measured_value: AttrConfig( + read_on_startup=True, + reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 0.000001), + ), + }, + ), + } + @register_entity(CarbonMonoxideConcentrationCluster.cluster_id) class CarbonMonoxideConcentration(Sensor): @@ -1784,6 +2202,18 @@ class CarbonMonoxideConcentration(Sensor): server_clusters=frozenset({CarbonMonoxideConcentrationCluster.cluster_id}), ) + _server_cluster_config = { + CarbonMonoxideConcentrationCluster.cluster_id: ClusterConfig( + bind=True, + attributes={ + CarbonMonoxideConcentrationCluster.AttributeDefs.measured_value: AttrConfig( + read_on_startup=True, + reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 0.000001), + ), + }, + ), + } + @register_entity(0x042E) class VOCLevel(Sensor): @@ -1856,6 +2286,18 @@ class PM25(Sensor): server_clusters=frozenset({PM25Cluster.cluster_id}), ) + _server_cluster_config = { + PM25Cluster.cluster_id: ClusterConfig( + bind=True, + attributes={ + PM25Cluster.AttributeDefs.measured_value: AttrConfig( + read_on_startup=True, + reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 0.1), + ), + }, + ), + } + @register_entity(ElectricalConductivityCluster.cluster_id) class ElectricalConductivity(Sensor): @@ -1870,6 +2312,18 @@ class ElectricalConductivity(Sensor): server_clusters=frozenset({ElectricalConductivityCluster.cluster_id}), ) + _server_cluster_config = { + ElectricalConductivityCluster.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalConductivityCluster.AttributeDefs.measured_value: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_DEFAULT, + ), + }, + ), + } + @register_entity(FormaldehydeConcentrationCluster.cluster_id) class FormaldehydeConcentration(Sensor): @@ -1887,6 +2341,18 @@ class FormaldehydeConcentration(Sensor): server_clusters=frozenset({FormaldehydeConcentrationCluster.cluster_id}), ) + _server_cluster_config = { + FormaldehydeConcentrationCluster.cluster_id: ClusterConfig( + bind=True, + attributes={ + FormaldehydeConcentrationCluster.AttributeDefs.measured_value: AttrConfig( + read_on_startup=True, + reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 0.000001), + ), + }, + ), + } + @register_entity(Thermostat.cluster_id) class ThermostatHVACAction(Sensor): @@ -1900,6 +2366,94 @@ class ThermostatHVACAction(Sensor): feature_priority=(PlatformFeatureGroup.HVAC_ACTION, 0), ) + _server_cluster_config = { + Thermostat.cluster_id: ClusterConfig( + bind=True, + attributes={ + Thermostat.AttributeDefs.local_temperature: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + Thermostat.AttributeDefs.occupied_cooling_setpoint: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + Thermostat.AttributeDefs.occupied_heating_setpoint: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + Thermostat.AttributeDefs.unoccupied_cooling_setpoint: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + Thermostat.AttributeDefs.unoccupied_heating_setpoint: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + Thermostat.AttributeDefs.running_mode: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + ), + Thermostat.AttributeDefs.running_state: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + ), + Thermostat.AttributeDefs.system_mode: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + ), + Thermostat.AttributeDefs.occupancy: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + ), + Thermostat.AttributeDefs.pi_cooling_demand: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DEMAND, + ), + Thermostat.AttributeDefs.pi_heating_demand: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DEMAND, + ), + Thermostat.AttributeDefs.abs_min_heat_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.abs_max_heat_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.abs_min_cool_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.abs_max_cool_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.ctrl_sequence_of_oper: AttrConfig( + read_on_startup=True, + ), + Thermostat.AttributeDefs.max_cool_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.max_heat_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.min_cool_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.min_heat_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.local_temperature_calibration: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.setpoint_change_source: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.setpoint_change_source_timestamp: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + def _is_supported(self) -> bool: return PlatformEntity._is_supported(self) @@ -2360,6 +2914,43 @@ class WindowCoveringTypeSensor(EnumSensor): server_clusters=frozenset({WindowCovering.cluster_id}), ) + _server_cluster_config = { + WindowCovering.cluster_id: ClusterConfig( + bind=True, + attributes={ + WindowCovering.AttributeDefs.current_position_lift_percentage: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + WindowCovering.AttributeDefs.current_position_tilt_percentage: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + WindowCovering.AttributeDefs.window_covering_type: AttrConfig( + read_on_startup=False, + ), + WindowCovering.AttributeDefs.window_covering_mode: AttrConfig( + read_on_startup=False, + ), + WindowCovering.AttributeDefs.config_status: AttrConfig( + read_on_startup=False, + ), + WindowCovering.AttributeDefs.installed_closed_limit_lift: AttrConfig( + read_on_startup=False, + ), + WindowCovering.AttributeDefs.installed_closed_limit_tilt: AttrConfig( + read_on_startup=False, + ), + WindowCovering.AttributeDefs.installed_open_limit_lift: AttrConfig( + read_on_startup=False, + ), + WindowCovering.AttributeDefs.installed_open_limit_tilt: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(Basic.cluster_id) class AqaraCurtainMotorPowerSourceSensor(EnumSensor): @@ -2376,6 +2967,16 @@ class AqaraCurtainMotorPowerSourceSensor(EnumSensor): models=frozenset({"lumi.curtain.agl001"}), ) + _server_cluster_config = { + Basic.cluster_id: ClusterConfig( + attributes={ + Basic.AttributeDefs.power_source: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + class AqaraE1HookState(types.enum8): """Aqara hook state.""" @@ -2560,6 +3161,18 @@ class WindSpeed(Sensor): _attr_native_unit_of_measurement = UnitOfSpeed.METERS_PER_SECOND _attr_primary_weight = 2 + _server_cluster_config = { + WindSpeedCluster.cluster_id: ClusterConfig( + bind=True, + attributes={ + WindSpeedCluster.AttributeDefs.measured_value: AttrConfig( + read_on_startup=True, + reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 0.01), + ), + }, + ), + } + _cluster_match = ClusterMatch( server_clusters=frozenset({WindSpeedCluster.cluster_id}), ) diff --git a/zha/application/platforms/switch.py b/zha/application/platforms/switch.py index 9ec65116b..85e825c83 100644 --- a/zha/application/platforms/switch.py +++ b/zha/application/platforms/switch.py @@ -49,6 +49,11 @@ BinaryOutputClusterHandler, OnOffClusterHandler, ) +from zha.zigbee.cluster_handlers.hvac import ( + REPORT_CONFIG_CLIMATE, + REPORT_CONFIG_CLIMATE_DEMAND, + REPORT_CONFIG_CLIMATE_DISCRETE, +) from zha.zigbee.group import Group if TYPE_CHECKING: @@ -800,6 +805,21 @@ class TuyaChildLockSwitch(ConfigurableAttributeSwitch): exposed_features=frozenset({TUYA_PLUG_ONOFF}), ) + _server_cluster_config = { + OnOff.cluster_id: ClusterConfig( + bind=True, + attributes={ + OnOff.AttributeDefs.on_off: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + OnOff.AttributeDefs.start_up_on_off: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(AQARA_OPPLE_CLUSTER) class AqaraThermostatWindowDetection(ConfigurableAttributeSwitch): @@ -914,6 +934,43 @@ class WindowCoveringInversionSwitch(ConfigurableAttributeSwitch): server_clusters=frozenset({WindowCovering.cluster_id}), ) + _server_cluster_config = { + WindowCovering.cluster_id: ClusterConfig( + bind=True, + attributes={ + WindowCovering.AttributeDefs.current_position_lift_percentage: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + WindowCovering.AttributeDefs.current_position_tilt_percentage: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_IMMEDIATE, + ), + WindowCovering.AttributeDefs.window_covering_type: AttrConfig( + read_on_startup=False, + ), + WindowCovering.AttributeDefs.window_covering_mode: AttrConfig( + read_on_startup=False, + ), + WindowCovering.AttributeDefs.config_status: AttrConfig( + read_on_startup=False, + ), + WindowCovering.AttributeDefs.installed_closed_limit_lift: AttrConfig( + read_on_startup=False, + ), + WindowCovering.AttributeDefs.installed_closed_limit_tilt: AttrConfig( + read_on_startup=False, + ), + WindowCovering.AttributeDefs.installed_open_limit_lift: AttrConfig( + read_on_startup=False, + ), + WindowCovering.AttributeDefs.installed_open_limit_tilt: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + def _is_supported(self) -> bool: window_covering_mode_attr = ( WindowCovering.AttributeDefs.window_covering_mode.name @@ -1002,6 +1059,95 @@ class AqaraE1CurtainMotorHooksLockedSwitch(ConfigurableAttributeSwitch): ) +_DANFOSS_THERMOSTAT_CLUSTER_CONFIG = { + Thermostat.cluster_id: ClusterConfig( + bind=True, + attributes={ + Thermostat.AttributeDefs.local_temperature: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + Thermostat.AttributeDefs.occupied_cooling_setpoint: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + Thermostat.AttributeDefs.occupied_heating_setpoint: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + Thermostat.AttributeDefs.unoccupied_cooling_setpoint: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + Thermostat.AttributeDefs.unoccupied_heating_setpoint: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE, + ), + Thermostat.AttributeDefs.running_mode: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + ), + Thermostat.AttributeDefs.running_state: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + ), + Thermostat.AttributeDefs.system_mode: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + ), + Thermostat.AttributeDefs.occupancy: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + ), + Thermostat.AttributeDefs.pi_cooling_demand: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DEMAND, + ), + Thermostat.AttributeDefs.pi_heating_demand: AttrConfig( + read_on_startup=True, + reporting=REPORT_CONFIG_CLIMATE_DEMAND, + ), + Thermostat.AttributeDefs.abs_min_heat_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.abs_max_heat_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.abs_min_cool_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.abs_max_cool_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.ctrl_sequence_of_oper: AttrConfig( + read_on_startup=True, + ), + Thermostat.AttributeDefs.max_cool_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.max_heat_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.min_cool_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.min_heat_setpoint_limit: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.local_temperature_calibration: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.setpoint_change_source: AttrConfig( + read_on_startup=False, + ), + Thermostat.AttributeDefs.setpoint_change_source_timestamp: AttrConfig( + read_on_startup=False, + ), + }, + ), +} + + @register_entity(Thermostat.cluster_id) class DanfossExternalOpenWindowDetected(ConfigurableAttributeSwitch): """Danfoss proprietary attribute for communicating an open window.""" @@ -1015,6 +1161,8 @@ class DanfossExternalOpenWindowDetected(ConfigurableAttributeSwitch): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) + _server_cluster_config = _DANFOSS_THERMOSTAT_CLUSTER_CONFIG + @register_entity(Thermostat.cluster_id) class DanfossWindowOpenFeature(ConfigurableAttributeSwitch): @@ -1029,6 +1177,8 @@ class DanfossWindowOpenFeature(ConfigurableAttributeSwitch): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) + _server_cluster_config = _DANFOSS_THERMOSTAT_CLUSTER_CONFIG + @register_entity(Thermostat.cluster_id) class DanfossMountingModeControl(ConfigurableAttributeSwitch): @@ -1043,6 +1193,8 @@ class DanfossMountingModeControl(ConfigurableAttributeSwitch): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) + _server_cluster_config = _DANFOSS_THERMOSTAT_CLUSTER_CONFIG + @register_entity(Thermostat.cluster_id) class DanfossRadiatorCovered(ConfigurableAttributeSwitch): @@ -1057,6 +1209,8 @@ class DanfossRadiatorCovered(ConfigurableAttributeSwitch): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) + _server_cluster_config = _DANFOSS_THERMOSTAT_CLUSTER_CONFIG + @register_entity(Thermostat.cluster_id) class DanfossHeatAvailable(ConfigurableAttributeSwitch): @@ -1071,6 +1225,8 @@ class DanfossHeatAvailable(ConfigurableAttributeSwitch): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) + _server_cluster_config = _DANFOSS_THERMOSTAT_CLUSTER_CONFIG + @register_entity(Thermostat.cluster_id) class DanfossLoadBalancingEnable(ConfigurableAttributeSwitch): @@ -1085,6 +1241,8 @@ class DanfossLoadBalancingEnable(ConfigurableAttributeSwitch): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) + _server_cluster_config = _DANFOSS_THERMOSTAT_CLUSTER_CONFIG + @register_entity(Thermostat.cluster_id) class DanfossAdaptationRunSettings(ConfigurableAttributeSwitch): @@ -1102,6 +1260,8 @@ class DanfossAdaptationRunSettings(ConfigurableAttributeSwitch): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) + _server_cluster_config = _DANFOSS_THERMOSTAT_CLUSTER_CONFIG + @register_entity(SINOPE_MANUFACTURER_CLUSTER) class SinopeLightDoubleTapFullSwitch(ConfigurableAttributeSwitch): diff --git a/zha/zigbee/cluster_config.py b/zha/zigbee/cluster_config.py index 16d0065c3..b2a118a7c 100644 --- a/zha/zigbee/cluster_config.py +++ b/zha/zigbee/cluster_config.py @@ -9,14 +9,16 @@ import zigpy.exceptions import zigpy.util import zigpy.zcl +from zigpy.typing import UNDEFINED from zigpy.zcl import ReportingConfig from zha.application.platforms import AttrConfig +from zha.zigbee.cluster_handlers.const import CLUSTER_READS_PER_REQ if TYPE_CHECKING: from collections.abc import Iterable - from zha.application.platforms import PlatformEntity + from zha.application.platforms import BaseEntity _LOGGER = logging.getLogger(__name__) RETRYABLE_REQUEST_DECORATOR = zigpy.util.retryable_request(tries=3) @@ -54,7 +56,7 @@ class AggregatedClusterConfig: def aggregate_cluster_configs( - entities: Iterable[PlatformEntity], + entities: Iterable[BaseEntity], ) -> dict[tuple[int, int], AggregatedClusterConfig]: """Aggregate cluster configurations from entities. @@ -63,6 +65,9 @@ def aggregate_cluster_configs( result: dict[tuple[int, int], AggregatedClusterConfig] = {} for entity in entities: + if not hasattr(entity, "_server_cluster_config"): + continue + if not entity._server_cluster_config and not entity._client_cluster_config: continue @@ -160,6 +165,36 @@ async def configure_cluster_configs( ) +async def _read_attributes_chunked( + cluster: zigpy.zcl.Cluster, + attrs: list[str], + *, + allow_cache: bool, + only_cache: bool, +) -> None: + """Read attributes in chunks, matching legacy cluster handler behavior.""" + chunk = attrs[:CLUSTER_READS_PER_REQ] + rest = attrs[CLUSTER_READS_PER_REQ:] + while chunk: + try: + await cluster.read_attributes( + chunk, + allow_cache=allow_cache, + only_cache=only_cache, + manufacturer=UNDEFINED, + ) + except Exception as ex: # pylint: disable=broad-except + _LOGGER.debug( + "[%s] Failed to read attributes %s from cluster %s: %s", + cluster.endpoint.device.ieee, + chunk, + cluster.ep_attribute, + ex, + ) + chunk = rest[:CLUSTER_READS_PER_REQ] + rest = rest[CLUSTER_READS_PER_REQ:] + + async def initialize_cluster_configs( configs: dict[tuple[int, int], AggregatedClusterConfig], from_cache: bool, @@ -178,33 +213,17 @@ async def initialize_cluster_configs( ] if cached_attrs: - try: - await agg.cluster.read_attributes( - cached_attrs, - allow_cache=True, - only_cache=from_cache, - ) - except (zigpy.exceptions.ZigbeeException, TimeoutError) as ex: - _LOGGER.debug( - "[%s] Failed to read cached attributes %s from cluster %s: %s", - agg.cluster.endpoint.device.ieee, - cached_attrs, - agg.cluster.ep_attribute, - ex, - ) + await _read_attributes_chunked( + agg.cluster, + cached_attrs, + allow_cache=True, + only_cache=from_cache, + ) if fresh_attrs: - try: - await agg.cluster.read_attributes( - fresh_attrs, - allow_cache=from_cache, - only_cache=from_cache, - ) - except (zigpy.exceptions.ZigbeeException, TimeoutError) as ex: - _LOGGER.debug( - "[%s] Failed to read fresh attributes %s from cluster %s: %s", - agg.cluster.endpoint.device.ieee, - fresh_attrs, - agg.cluster.ep_attribute, - ex, - ) + await _read_attributes_chunked( + agg.cluster, + fresh_attrs, + allow_cache=from_cache, + only_cache=from_cache, + ) From 958dac1ce051b81a3820cfc8ba0d19fb9805b3b2 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 12 May 2026 14:19:12 -0400 Subject: [PATCH 14/85] WIP --- .../platforms/binary_sensor/__init__.py | 4 ++ zha/application/platforms/climate/__init__.py | 2 + zha/application/platforms/fan/__init__.py | 1 + zha/application/platforms/sensor/__init__.py | 36 +++++++++++++++ zha/application/platforms/switch.py | 31 +++++++++++++ zha/zigbee/cluster_config.py | 46 ++++++++++++++++--- 6 files changed, 113 insertions(+), 7 deletions(-) diff --git a/zha/application/platforms/binary_sensor/__init__.py b/zha/application/platforms/binary_sensor/__init__.py index ac4e5cbbc..293edced0 100644 --- a/zha/application/platforms/binary_sensor/__init__.py +++ b/zha/application/platforms/binary_sensor/__init__.py @@ -195,6 +195,7 @@ class Occupancy(BinarySensor): _server_cluster_config = { OccupancySensing.cluster_id: ClusterConfig( + bind=True, attributes={ OccupancySensing.AttributeDefs.occupancy: AttrConfig( read_on_startup=True, @@ -257,6 +258,7 @@ class BinaryInputWithDescription(BinarySensor): _server_cluster_config = { BinaryInputCluster.cluster_id: ClusterConfig( + bind=True, attributes={ BinaryInputCluster.AttributeDefs.present_value: AttrConfig( read_on_startup=True, @@ -294,6 +296,7 @@ class BinaryInput(BinarySensor): _server_cluster_config = { BinaryInputCluster.cluster_id: ClusterConfig( + bind=True, attributes={ BinaryInputCluster.AttributeDefs.present_value: AttrConfig( read_on_startup=True, @@ -361,6 +364,7 @@ class IASZone(BinarySensor): _server_cluster_config = { IasZone.cluster_id: ClusterConfig( + bind=True, attributes={ IasZone.AttributeDefs.zone_status: AttrConfig( read_on_startup=True, diff --git a/zha/application/platforms/climate/__init__.py b/zha/application/platforms/climate/__init__.py index 76fdb9372..c1ab52270 100644 --- a/zha/application/platforms/climate/__init__.py +++ b/zha/application/platforms/climate/__init__.py @@ -235,6 +235,7 @@ class Thermostat(BaseThermostat): _server_cluster_config = { ThermostatCluster.cluster_id: ClusterConfig( + bind=True, attributes={ ThermostatCluster.AttributeDefs.local_temperature: AttrConfig( read_on_startup=True, @@ -319,6 +320,7 @@ class Thermostat(BaseThermostat): }, ), FanCluster.cluster_id: ClusterConfig( + bind=True, attributes={ FanCluster.AttributeDefs.fan_mode: AttrConfig( read_on_startup=True, diff --git a/zha/application/platforms/fan/__init__.py b/zha/application/platforms/fan/__init__.py index a974a6bc9..71c324a15 100644 --- a/zha/application/platforms/fan/__init__.py +++ b/zha/application/platforms/fan/__init__.py @@ -261,6 +261,7 @@ class Fan(BaseFan, PlatformEntity): _server_cluster_config = { hvac.Fan.cluster_id: ClusterConfig( + bind=True, attributes={ hvac.Fan.AttributeDefs.fan_mode: AttrConfig( read_on_startup=True, diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index c4e67b768..54d1961d6 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -1425,6 +1425,18 @@ class SmartThingsHumidity(Sensor): server_clusters=frozenset({SMARTTHINGS_HUMIDITY_CLUSTER}), ) + _server_cluster_config = { + SMARTTHINGS_HUMIDITY_CLUSTER: ClusterConfig( + bind=True, + attributes={ + "measured_value": AttrConfig( + read_on_startup=True, + reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 50), + ), + }, + ), + } + @register_entity(SoilMoistureCluster.cluster_id) class SoilMoisture(Sensor): @@ -3134,6 +3146,18 @@ class DanfossSoftwareErrorCode(BitMapSensor): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) + _server_cluster_config = { + Diagnostic.cluster_id: ClusterConfig( + bind=True, + attributes={ + "sw_error_code": AttrConfig( + read_on_startup=False, + reporting=REPORT_CONFIG_DEFAULT, + ), + }, + ), + } + @register_entity(Diagnostic.cluster_id) class DanfossMotorStepCounter(Sensor): @@ -3149,6 +3173,18 @@ class DanfossMotorStepCounter(Sensor): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) + _server_cluster_config = { + Diagnostic.cluster_id: ClusterConfig( + bind=True, + attributes={ + "motor_step_counter": AttrConfig( + read_on_startup=False, + reporting=REPORT_CONFIG_DEFAULT, + ), + }, + ), + } + @register_entity(WindSpeedCluster.cluster_id) class WindSpeed(Sensor): diff --git a/zha/application/platforms/switch.py b/zha/application/platforms/switch.py index 85e825c83..97b7bca8f 100644 --- a/zha/application/platforms/switch.py +++ b/zha/application/platforms/switch.py @@ -41,6 +41,8 @@ CLUSTER_HANDLER_ON_OFF, IKEA_AIR_PURIFIER_CLUSTER, INOVELLI_CLUSTER, + REPORT_CONFIG_ASAP, + REPORT_CONFIG_DEFAULT, REPORT_CONFIG_IMMEDIATE, SINOPE_MANUFACTURER_CLUSTER, TUYA_MANUFACTURER_CLUSTER, @@ -231,6 +233,7 @@ class BinaryOutputSwitch(PlatformEntity, BaseSwitch): _server_cluster_config = { BinaryOutput.cluster_id: ClusterConfig( + bind=True, attributes={ BinaryOutput.AttributeDefs.present_value: AttrConfig( read_on_startup=True, @@ -1143,6 +1146,34 @@ class AqaraE1CurtainMotorHooksLockedSwitch(ConfigurableAttributeSwitch): Thermostat.AttributeDefs.setpoint_change_source_timestamp: AttrConfig( read_on_startup=False, ), + "open_window_detection": AttrConfig( + read_on_startup=False, + reporting=REPORT_CONFIG_DEFAULT, + ), + "heat_required": AttrConfig( + read_on_startup=False, + reporting=REPORT_CONFIG_ASAP, + ), + "mounting_mode_active": AttrConfig( + read_on_startup=False, + reporting=REPORT_CONFIG_DEFAULT, + ), + "load_estimate": AttrConfig( + read_on_startup=False, + reporting=REPORT_CONFIG_DEFAULT, + ), + "adaptation_run_status": AttrConfig( + read_on_startup=False, + reporting=REPORT_CONFIG_DEFAULT, + ), + "preheat_status": AttrConfig( + read_on_startup=False, + reporting=REPORT_CONFIG_DEFAULT, + ), + "preheat_time": AttrConfig( + read_on_startup=False, + reporting=REPORT_CONFIG_DEFAULT, + ), }, ), } diff --git a/zha/zigbee/cluster_config.py b/zha/zigbee/cluster_config.py index b2a118a7c..5c438fa29 100644 --- a/zha/zigbee/cluster_config.py +++ b/zha/zigbee/cluster_config.py @@ -7,10 +7,11 @@ from typing import TYPE_CHECKING import zigpy.exceptions +from zigpy.typing import UNDEFINED import zigpy.util import zigpy.zcl -from zigpy.typing import UNDEFINED from zigpy.zcl import ReportingConfig +from zigpy.zcl.foundation import Status from zha.application.platforms import AttrConfig from zha.zigbee.cluster_handlers.const import CLUSTER_READS_PER_REQ @@ -84,9 +85,10 @@ def aggregate_cluster_configs( agg.bind = agg.bind or config.bind for attr_def, attr_config in config.attributes.items(): - if attr_def.name not in agg.attributes: - agg.attributes[attr_def.name] = AggregatedAttrConfig() - agg.attributes[attr_def.name].merge(attr_config) + attr_name = attr_def.name if hasattr(attr_def, "name") else attr_def + if attr_name not in agg.attributes: + agg.attributes[attr_name] = AggregatedAttrConfig() + agg.attributes[attr_name].merge(attr_config) for cluster_id, config in entity._client_cluster_config.items(): cluster = entity.endpoint.zigpy_endpoint.out_clusters.get(cluster_id) @@ -101,9 +103,10 @@ def aggregate_cluster_configs( agg.bind = agg.bind or config.bind for attr_def, attr_config in config.attributes.items(): - if attr_def.name not in agg.attributes: - agg.attributes[attr_def.name] = AggregatedAttrConfig() - agg.attributes[attr_def.name].merge(attr_config) + attr_name = attr_def.name if hasattr(attr_def, "name") else attr_def + if attr_name not in agg.attributes: + agg.attributes[attr_name] = AggregatedAttrConfig() + agg.attributes[attr_name].merge(attr_config) return result @@ -123,6 +126,7 @@ async def configure_cluster_configs( agg.cluster.ep_attribute, res[0], ) + agg.cluster._zha_last_bind_success = res[0] == 0 except (zigpy.exceptions.ZigbeeException, TimeoutError) as ex: _LOGGER.debug( "[%s] Failed to bind cluster %s: %s", @@ -130,6 +134,7 @@ async def configure_cluster_configs( agg.cluster.ep_attribute, ex, ) + agg.cluster._zha_last_bind_success = False reporting_attrs = {} for attr_name, attr_config in agg.attributes.items(): @@ -145,6 +150,18 @@ async def configure_cluster_configs( if not reporting_attrs: continue + event_data = { + attr_def.name: { + "min": cfg.min_interval, + "max": cfg.max_interval, + "id": attr_def.id, + "name": attr_def.name, + "change": cfg.reportable_change, + "status": None, + } + for attr_def, cfg in reporting_attrs.items() + } + try: res = await RETRYABLE_REQUEST_DECORATOR( agg.cluster.configure_reporting_multiple @@ -156,6 +173,12 @@ async def configure_cluster_configs( agg.cluster.ep_attribute, res, ) + if not res: + for attr_def in reporting_attrs: + event_data[attr_def.name]["status"] = Status.FAILURE.name + else: + for attr_def, status in res.items(): + event_data[attr_def.name]["status"] = status.name except Exception as ex: _LOGGER.debug( "[%s] Failed to configure reporting on cluster %s: %s", @@ -163,6 +186,15 @@ async def configure_cluster_configs( agg.cluster.ep_attribute, ex, ) + for attr_def in reporting_attrs: + event_data[attr_def.name]["status"] = Status.FAILURE.name + + existing = getattr(agg.cluster, "_zha_last_reporting_config", None) + if existing is not None: + merged = {**existing, **event_data} + else: + merged = event_data + agg.cluster._zha_last_reporting_config = merged async def _read_attributes_chunked( From db3b9a96e4babdef9df08774def9166d253a4d9d Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 12 May 2026 14:36:14 -0400 Subject: [PATCH 15/85] WIP: Bug-for-bug compatibility --- zha/application/discovery.py | 59 ++++++++++++++------- zha/application/platforms/cover/__init__.py | 1 + zha/zigbee/cluster_config.py | 2 + zha/zigbee/device.py | 26 ++++++--- 4 files changed, 63 insertions(+), 25 deletions(-) diff --git a/zha/application/discovery.py b/zha/application/discovery.py index 245e2177c..b3852acff 100644 --- a/zha/application/discovery.py +++ b/zha/application/discovery.py @@ -21,7 +21,7 @@ ZCLSensorMetadata, ) from zigpy.state import State -from zigpy.zcl import ClusterType +from zigpy.zcl import Cluster, ClusterType from zha.application import Platform, const as zha_const from zha.application.platforms import ( # noqa: F401 pylint: disable=unused-import @@ -391,21 +391,33 @@ def discover_quirks_v2_entities(device: Device) -> Iterator[PlatformEntity]: cluster_handler.BIND = False +def _is_renamed_cluster(cluster: Cluster) -> bool: + """Return True if a quirk has renamed the cluster's ep_attribute. + + Used to skip ClusterMatch entities for renamed clusters so the new + cluster-id based matching behaves the same as the legacy handler-name + matching (which never found a handler under the standard name). + """ + standard = Cluster._registry.get(cluster.cluster_id) + if standard is None: + return False + return cluster.ep_attribute != standard.ep_attribute + + def _resolve_cluster_handlers_for_match( endpoint: Endpoint, match: ClusterMatch ) -> list[ClusterHandler]: """Resolve server cluster handlers from a ClusterMatch.""" result: list[ClusterHandler] = [] - for cluster_id in match.server_clusters: + for cluster_id in match.server_clusters | match.optional_server_clusters: key = f"{endpoint.id}:0x{cluster_id:04x}" - if key in endpoint.all_cluster_handlers: - result.append(endpoint.all_cluster_handlers[key]) - - for cluster_id in match.optional_server_clusters: - key = f"{endpoint.id}:0x{cluster_id:04x}" - if key in endpoint.all_cluster_handlers: - result.append(endpoint.all_cluster_handlers[key]) + if key not in endpoint.all_cluster_handlers: + continue + handler = endpoint.all_cluster_handlers[key] + if _is_renamed_cluster(handler.cluster): + continue + result.append(handler) return result @@ -416,15 +428,14 @@ def _resolve_client_cluster_handlers_for_match( """Resolve client cluster handlers from a ClusterMatch.""" result: list[ClientClusterHandler] = [] - for cluster_id in match.client_clusters: - key = f"{endpoint.id}:0x{cluster_id:04x}_client" - if key in endpoint.client_cluster_handlers: - result.append(endpoint.client_cluster_handlers[key]) - - for cluster_id in match.optional_client_clusters: + for cluster_id in match.client_clusters | match.optional_client_clusters: key = f"{endpoint.id}:0x{cluster_id:04x}_client" - if key in endpoint.client_cluster_handlers: - result.append(endpoint.client_cluster_handlers[key]) + if key not in endpoint.client_cluster_handlers: + continue + handler = endpoint.client_cluster_handlers[key] + if _is_renamed_cluster(handler.cluster): + continue + result.append(handler) return result @@ -452,8 +463,18 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit ], ] = defaultdict(lambda: defaultdict(list)) - in_cluster_ids = set(endpoint.zigpy_endpoint.in_clusters) - out_cluster_ids = set(endpoint.zigpy_endpoint.out_clusters) + # Cluster IDs available to ClusterMatch (renamed quirked clusters excluded to + # mirror the legacy handler-name based matching). + in_cluster_ids = { + cid + for cid, cluster in endpoint.zigpy_endpoint.in_clusters.items() + if not _is_renamed_cluster(cluster) + } + out_cluster_ids = { + cid + for cid, cluster in endpoint.zigpy_endpoint.out_clusters.items() + if not _is_renamed_cluster(cluster) + } for cluster in itertools.chain( endpoint.zigpy_endpoint.in_clusters.values(), diff --git a/zha/application/platforms/cover/__init__.py b/zha/application/platforms/cover/__init__.py index aa42b9369..51919a454 100644 --- a/zha/application/platforms/cover/__init__.py +++ b/zha/application/platforms/cover/__init__.py @@ -800,6 +800,7 @@ class Shade(BaseCover): ), }, ), + ShadeCluster.cluster_id: ClusterConfig(bind=True), } def __init__( diff --git a/zha/zigbee/cluster_config.py b/zha/zigbee/cluster_config.py index 5c438fa29..21a74d663 100644 --- a/zha/zigbee/cluster_config.py +++ b/zha/zigbee/cluster_config.py @@ -117,6 +117,8 @@ async def configure_cluster_configs( ) -> None: """Execute binding and reporting configuration from aggregated configs.""" for agg in configs.values(): + if agg.cluster.endpoint.device.skip_configuration: + continue if agg.bind: try: res = await RETRYABLE_REQUEST_DECORATOR(agg.cluster.bind)() diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index 2cbb08273..864d5351c 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -359,6 +359,11 @@ def __init__( self._platform_entities: dict[tuple[Platform, str], PlatformEntity] = {} self._pending_entities: list[PlatformEntity] = [] + # All entities discovered for this device, including ones removed by a quirk. + # Used for aggregating cluster configs so binding/reporting matches the + # legacy claim-during-discovery flow (which configured handlers even when + # the visible entity was filtered out later). + self._discovered_entities: list[PlatformEntity] = [] self._initialized: bool = False self.semaphore: asyncio.Semaphore = asyncio.Semaphore(3) self._on_remove_callbacks: list[Callable[[], None]] = [] @@ -384,6 +389,7 @@ def _init_from_zigpy_device(self, zigpy_device: zigpy.device.Device) -> None: self._on_remove_callbacks.clear() self._endpoints.clear() self._pending_entities.clear() + self._discovered_entities.clear() self._zigpy_device: ZigpyDevice = zigpy_device @@ -960,12 +966,12 @@ async def async_configure(self) -> None: ) # Configure binding and reporting from entity-level cluster configs - aggregated = aggregate_cluster_configs(self._pending_entities) + aggregated = aggregate_cluster_configs(self._discovered_entities) if aggregated: await configure_cluster_configs(aggregated, self.manufacturer_code) # Mark cluster handlers as CONFIGURED for ClusterMatch entities - for entity in self._pending_entities: + for entity in self._discovered_entities: if not hasattr(entity, "_cluster_match") or entity._cluster_match is None: continue for ch in entity._cluster_handlers: @@ -1107,6 +1113,8 @@ def _apply_entity_metadata_changes(self, entity: PlatformEntity) -> None: def _discover_new_entities(self) -> None: new_entities: Iterable[BaseEntity] + self._discovered_entities.clear() + if self.is_active_coordinator: new_entities = discovery.discover_coordinator_device_entities(self) elif self.is_coordinator: @@ -1117,6 +1125,7 @@ def _discover_new_entities(self) -> None: # Discover all applicable entities for entity in new_entities: + self._discovered_entities.append(entity) if self._is_entity_removed_by_quirk(entity): continue @@ -1253,16 +1262,21 @@ async def async_initialize(self, from_cache: bool = False) -> None: self.debug("Failed to initialize endpoint", exc_info=True) # Read initial attributes from entity-level cluster configs - aggregated = aggregate_cluster_configs(self._pending_entities) + aggregated = aggregate_cluster_configs(self._discovered_entities) if aggregated: await initialize_cluster_configs(aggregated, from_cache) - # Mark cluster handlers as INITIALIZED for ClusterMatch entities - for entity in self._pending_entities: + # Run the legacy handler initialization so status transitions to + # INITIALIZED (or stays at CONFIGURED if the read raises), matching what + # legacy ClusterHandlerMatch entities ended up with. + for entity in self._discovered_entities: if not hasattr(entity, "_cluster_match") or entity._cluster_match is None: continue for ch in entity._cluster_handlers: - ch._status = ClusterHandlerStatus.INITIALIZED + try: + await ch.async_initialize(from_cache) + except Exception: # pylint: disable=broad-except + ch.debug("async_initialize raised", exc_info=True) # And add them after. Emit events only on re-initialization, not the first. await self._add_pending_entities(emit_event=self._initialized) From 8541076701180c084a91e87a768c6e4b0ab29af4 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 17 May 2026 11:26:10 -0400 Subject: [PATCH 16/85] WIP: virtual entities to replace cluster handlers --- zha/application/discovery.py | 12 ++-- zha/application/platforms/__init__.py | 7 ++ zha/zigbee/cluster_config.py | 46 +++++++++++-- zha/zigbee/cluster_handlers/general.py | 84 +++--------------------- zha/zigbee/cluster_handlers/lightlink.py | 43 ++---------- zha/zigbee/cluster_handlers/security.py | 72 ++------------------ zha/zigbee/device.py | 5 ++ 7 files changed, 80 insertions(+), 189 deletions(-) diff --git a/zha/application/discovery.py b/zha/application/discovery.py index b3852acff..79a318b37 100644 --- a/zha/application/discovery.py +++ b/zha/application/discovery.py @@ -32,6 +32,7 @@ ClusterMatch, PlatformEntity, PlatformFeatureGroup, + _virtual, alarm_control_panel, binary_sensor, button, @@ -392,15 +393,14 @@ def discover_quirks_v2_entities(device: Device) -> Iterator[PlatformEntity]: def _is_renamed_cluster(cluster: Cluster) -> bool: - """Return True if a quirk has renamed the cluster's ep_attribute. - - Used to skip ClusterMatch entities for renamed clusters so the new - cluster-id based matching behaves the same as the legacy handler-name - matching (which never found a handler under the standard name). - """ + """Return True if a quirk has renamed the cluster's ep_attribute.""" standard = Cluster._registry.get(cluster.cluster_id) if standard is None: return False + + # Used to skip ClusterMatch entities for renamed clusters so the new cluster id + # based matching behaves the same as the legacy handler-name matching (which never + # found a handler under the standard name). return cluster.ep_attribute != standard.ep_attribute diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index 41e25a0d6..32f9e9d98 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -244,6 +244,13 @@ class BaseEntity(LogMixin, EventBase): PLATFORM: Platform = Platform.UNKNOWN + # Virtual entities participate in discovery and cluster-config aggregation + # (so they bind, configure reporting, and run cluster-level setup work like + # IAS Zone enrollment) but are filtered out before being added to the + # device's visible platform_entities. They have no state, no HA registration, + # and exist purely to drive cluster-level background work. + _virtual: bool = False + _attr_fallback_name: str | None = None _attr_icon: str | None = None _attr_translation_key: str | None = None diff --git a/zha/zigbee/cluster_config.py b/zha/zigbee/cluster_config.py index 21a74d663..449b51be3 100644 --- a/zha/zigbee/cluster_config.py +++ b/zha/zigbee/cluster_config.py @@ -54,16 +54,17 @@ class AggregatedClusterConfig: cluster: zigpy.zcl.Cluster bind: bool = False attributes: dict[str, AggregatedAttrConfig] = field(default_factory=dict) + entities: list[BaseEntity] = field(default_factory=list) def aggregate_cluster_configs( entities: Iterable[BaseEntity], -) -> dict[tuple[int, int], AggregatedClusterConfig]: +) -> dict[tuple[int, int, bool], AggregatedClusterConfig]: """Aggregate cluster configurations from entities. Returns a dict keyed by (endpoint_id, cluster_id) with merged configs. """ - result: dict[tuple[int, int], AggregatedClusterConfig] = {} + result: dict[tuple[int, int, bool], AggregatedClusterConfig] = {} for entity in entities: if not hasattr(entity, "_server_cluster_config"): @@ -77,12 +78,13 @@ def aggregate_cluster_configs( if cluster is None: continue - key = (entity.endpoint.id, cluster_id) + key = (entity.endpoint.id, cluster_id, True) if key not in result: result[key] = AggregatedClusterConfig(cluster=cluster) agg = result[key] agg.bind = agg.bind or config.bind + agg.entities.append(entity) for attr_def, attr_config in config.attributes.items(): attr_name = attr_def.name if hasattr(attr_def, "name") else attr_def @@ -95,12 +97,13 @@ def aggregate_cluster_configs( if cluster is None: continue - key = (entity.endpoint.id, cluster_id) + key = (entity.endpoint.id, cluster_id, False) if key not in result: result[key] = AggregatedClusterConfig(cluster=cluster) agg = result[key] agg.bind = agg.bind or config.bind + agg.entities.append(entity) for attr_def, attr_config in config.attributes.items(): attr_name = attr_def.name if hasattr(attr_def, "name") else attr_def @@ -112,7 +115,7 @@ def aggregate_cluster_configs( async def configure_cluster_configs( - configs: dict[tuple[int, int], AggregatedClusterConfig], + configs: dict[tuple[int, int, bool], AggregatedClusterConfig], manufacturer_code: int | None, ) -> None: """Execute binding and reporting configuration from aggregated configs.""" @@ -199,6 +202,37 @@ async def configure_cluster_configs( agg.cluster._zha_last_reporting_config = merged +async def run_entity_cluster_configure_hooks( + configs: dict[tuple[int, int, bool], AggregatedClusterConfig], +) -> None: + """Run any per-entity cluster-level configure hooks. + + Used by virtual entities to perform cluster-level setup beyond bind+report + (e.g. IAS Zone CIE write, LightLink coordinator group join). + """ + seen: set[tuple[int, int]] = set() + for key, agg in configs.items(): + if agg.cluster.endpoint.device.skip_configuration: + continue + for entity in agg.entities: + hook = getattr(entity, "async_configure_cluster", None) + if hook is None: + continue + run_key = (id(entity), agg.cluster.cluster_id) + if run_key in seen: + continue + seen.add(run_key) + try: + await hook(agg.cluster) + except Exception: # pylint: disable=broad-except + _LOGGER.debug( + "[%s] cluster configure hook on %s raised", + agg.cluster.endpoint.device.ieee, + type(entity).__name__, + exc_info=True, + ) + + async def _read_attributes_chunked( cluster: zigpy.zcl.Cluster, attrs: list[str], @@ -230,7 +264,7 @@ async def _read_attributes_chunked( async def initialize_cluster_configs( - configs: dict[tuple[int, int], AggregatedClusterConfig], + configs: dict[tuple[int, int, bool], AggregatedClusterConfig], from_cache: bool, ) -> None: """Read initial attribute values from aggregated configs.""" diff --git a/zha/zigbee/cluster_handlers/general.py b/zha/zigbee/cluster_handlers/general.py index b3a13defa..81cb7e020 100644 --- a/zha/zigbee/cluster_handlers/general.py +++ b/zha/zigbee/cluster_handlers/general.py @@ -2,10 +2,9 @@ from __future__ import annotations -import asyncio from collections.abc import Coroutine from dataclasses import dataclass -from typing import TYPE_CHECKING, Any, Final +from typing import TYPE_CHECKING, Final from zhaquirks.quirk_ids import BEGA_LIGHT_SWITCHABLE_WHITE, TUYA_PLUG_ONOFF import zigpy.exceptions @@ -548,61 +547,11 @@ class MultistateValueClusterHandler(ClusterHandler): @registries.CLIENT_CLUSTER_HANDLER_REGISTRY.register(OnOff.cluster_id) class OnOffClientClusterHandler(ClientClusterHandler): - """OnOff client cluster handler.""" + """OnOff client cluster handler. - def __init__(self, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> None: - """Initialize OnOffClientClusterHandler.""" - super().__init__(cluster, endpoint) - self._off_listener: asyncio.TimerHandle | None = None - - @property - def on_off(self) -> bool | None: - """Return cached value of on/off attribute.""" - return self.cluster.get(OnOff.AttributeDefs.on_off.name) - - def cluster_command(self, tsn, command_id, args): - """Handle commands received to this cluster.""" - cmd = parse_and_log_command(self, tsn, command_id, args) - - # Process cluster commands, so attribute_updated events fire first - if cmd in ( - OnOff.ServerCommandDefs.off.name, - OnOff.ServerCommandDefs.off_with_effect.name, - ): - self.cluster.update_attribute(OnOff.AttributeDefs.on_off.id, t.Bool.false) - elif cmd in ( - OnOff.ServerCommandDefs.on.name, - OnOff.ServerCommandDefs.on_with_recall_global_scene.name, - ): - self.cluster.update_attribute(OnOff.AttributeDefs.on_off.id, t.Bool.true) - elif cmd == OnOff.ServerCommandDefs.on_with_timed_off.name: - should_accept = args[0] - on_time = args[1] - # 0 is always accept 1 is only accept when already on - if should_accept == 0 or (should_accept == 1 and bool(self.on_off)): - if self._off_listener is not None: - self._off_listener.cancel() - self._off_listener = None - self.cluster.update_attribute( - OnOff.AttributeDefs.on_off.id, t.Bool.true - ) - if on_time > 0: - self._off_listener = asyncio.get_running_loop().call_later( - (on_time / 10), # value is in 10ths of a second - self.set_to_off, - ) - elif cmd == "toggle": - self.cluster.update_attribute( - OnOff.AttributeDefs.on_off.id, not bool(self.on_off) - ) - - # Emit ZHA event with cluster command - super().cluster_command(tsn, command_id, args) - - def set_to_off(self, *_): - """Set the state to off.""" - self._off_listener = None - self.cluster.update_attribute(OnOff.AttributeDefs.on_off.id, t.Bool.false) + Server attribute cache sync from incoming commands lives on the + `OnOffClientCacheSync` virtual entity now. + """ @registries.BINDABLE_CLUSTERS.register(OnOff.cluster_id) @@ -692,7 +641,11 @@ def current_file_version(self) -> int | None: @registries.CLIENT_CLUSTER_HANDLER_REGISTRY.register(Ota.cluster_id) class OtaClientClusterHandler(ClientClusterHandler): - """OTA client cluster handler.""" + """OTA client cluster handler. + + The `current_file_version` cache update on `query_next_image` lives on the + `OtaCurrentFileVersionCache` virtual entity now. + """ BIND: bool = False @@ -717,23 +670,6 @@ def _handle_attribute_updated_event( # it emits a logbook event on every update, which pollutes the logbook ClusterHandler._handle_attribute_updated_event(self, event) - def cluster_command( - self, tsn: int, command_id: int, args: list[Any] | None - ) -> None: - """Handle OTA commands.""" - if command_id not in self.cluster.server_commands: - return - - cmd_name = self.cluster.server_commands[command_id].name - - if cmd_name == Ota.ServerCommandDefs.query_next_image.name: - assert args - - current_file_version = args[3] - self.cluster.update_attribute( - Ota.AttributeDefs.current_file_version.id, current_file_version - ) - @registries.CLUSTER_HANDLER_REGISTRY.register(Partition.cluster_id) class PartitionClusterHandler(ClusterHandler): diff --git a/zha/zigbee/cluster_handlers/lightlink.py b/zha/zigbee/cluster_handlers/lightlink.py index ae63174cb..5c52f505d 100644 --- a/zha/zigbee/cluster_handlers/lightlink.py +++ b/zha/zigbee/cluster_handlers/lightlink.py @@ -1,47 +1,16 @@ """Lightlink cluster handlers module for Zigbee Home Automation.""" -import zigpy.exceptions from zigpy.zcl.clusters.lightlink import LightLink -from zigpy.zcl.foundation import GENERAL_COMMANDS, GeneralCommand -from zha.zigbee.cluster_handlers import ClusterHandler, ClusterHandlerStatus, registries +from zha.zigbee.cluster_handlers import ClusterHandler, registries -@registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(LightLink.cluster_id) @registries.CLUSTER_HANDLER_REGISTRY.register(LightLink.cluster_id) class LightLinkClusterHandler(ClusterHandler): - """Lightlink cluster handler.""" + """LightLink cluster handler. - BIND: bool = False - - async def async_configure(self) -> None: - """Add Coordinator to LightLink group.""" - - if self._endpoint.device.skip_configuration: - self._status = ClusterHandlerStatus.CONFIGURED - return - - application = self._endpoint.zigpy_endpoint.device.application - try: - coordinator = application.get_device(application.state.node_info.ieee) - except KeyError: - self.warning("Aborting - unable to locate required coordinator device.") - return + Coordinator group joining lives on the `LightLinkGroupJoin` virtual entity + now. + """ - try: - rsp = await self.cluster.get_group_identifiers(0) - except (zigpy.exceptions.ZigbeeException, TimeoutError) as exc: - self.warning("Couldn't get list of groups: %s", str(exc)) - return - - if isinstance(rsp, GENERAL_COMMANDS[GeneralCommand.Default_Response].schema): - groups = [] - else: - groups = rsp.group_info_records - - if groups: - for group in groups: - self.debug("Adding coordinator to 0x%04x group id", group.group_id) - await coordinator.add_to_group(group.group_id) - else: - await coordinator.add_to_group(0x0000, name="Lightlink Group") + BIND: bool = False diff --git a/zha/zigbee/cluster_handlers/security.py b/zha/zigbee/cluster_handlers/security.py index 215da5fa2..3859b84c3 100644 --- a/zha/zigbee/cluster_handlers/security.py +++ b/zha/zigbee/cluster_handlers/security.py @@ -17,13 +17,7 @@ WarningType, ) -from zha.exceptions import ZHAException -from zha.zigbee.cluster_handlers import ( - ClientClusterHandler, - ClusterHandler, - ClusterHandlerStatus, - registries, -) +from zha.zigbee.cluster_handlers import ClientClusterHandler, ClusterHandler, registries from zha.zigbee.cluster_handlers.const import CLUSTER_HANDLER_STATE_CHANGED if TYPE_CHECKING: @@ -331,7 +325,11 @@ async def issue_start_warning( @registries.CLUSTER_HANDLER_REGISTRY.register(IasZone.cluster_id) class IASZoneClusterHandler(ClusterHandler): - """Cluster handler for the IASZone Zigbee cluster.""" + """Cluster handler for the IASZone Zigbee cluster. + + Cluster-level work (CIE write, enroll handshake, status_change_notification + cache sync) lives on the `IasZoneEnrollment` virtual entity now. + """ _value_attribute: str = IasZone.AttributeDefs.zone_status.name @@ -341,64 +339,6 @@ class IASZoneClusterHandler(ClusterHandler): IasZone.AttributeDefs.zone_type.name: True, } - def cluster_command(self, tsn, command_id, args): - """Handle commands received to this cluster.""" - if command_id == IasZone.ClientCommandDefs.status_change_notification.id: - zone_status = args[0] - # update attribute cache with new zone status - self.cluster.update_attribute( - IasZone.AttributeDefs.zone_status.id, zone_status - ) - self.debug("Updated alarm state: %s", zone_status) - elif command_id == IasZone.ClientCommandDefs.enroll.id: - self.debug("Enroll requested") - self._cluster.create_catching_task( - self.enroll_response( - enroll_response_code=IasZone.EnrollResponse.Success, zone_id=0 - ) - ) - - async def async_configure(self): - """Configure IAS device.""" - await self.get_attribute_value( - IasZone.AttributeDefs.zone_type.name, from_cache=False - ) - if self._endpoint.device.skip_configuration: - self.debug("skipping IASZoneClusterHandler configuration") - return - - self.debug("started IASZoneClusterHandler configuration") - - await self.bind() - ieee = self.cluster.endpoint.device.application.state.node_info.ieee - - try: - await self.write_attributes_safe( - {IasZone.AttributeDefs.cie_addr.name: ieee} - ) - self.debug( - "wrote cie_addr: %s to '%s' cluster", - str(ieee), - self._cluster.ep_attribute, - ) - except ZHAException as ex: - self.debug( - "Failed to write cie_addr: %s to '%s' cluster: %s", - str(ieee), - self._cluster.ep_attribute, - str(ex), - ) - - self.debug("Sending pro-active IAS enroll response") - self._cluster.create_catching_task( - self.enroll_response( - enroll_response_code=IasZone.EnrollResponse.Success, zone_id=0 - ) - ) - - self._status = ClusterHandlerStatus.CONFIGURED - self.debug("finished IASZoneClusterHandler configuration") - async def async_update(self) -> None: """Retrieve latest state.""" await self.get_attribute_value( diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index 864d5351c..3edff7641 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -90,6 +90,7 @@ aggregate_cluster_configs, configure_cluster_configs, initialize_cluster_configs, + run_entity_cluster_configure_hooks, ) from zha.zigbee.cluster_handlers import ( ClusterHandler, @@ -969,6 +970,7 @@ async def async_configure(self) -> None: aggregated = aggregate_cluster_configs(self._discovered_entities) if aggregated: await configure_cluster_configs(aggregated, self.manufacturer_code) + await run_entity_cluster_configure_hooks(aggregated) # Mark cluster handlers as CONFIGURED for ClusterMatch entities for entity in self._discovered_entities: @@ -1827,6 +1829,9 @@ def get_diagnostics_json(self): for (platform, _unique_id), platform_entity in sorted( self.platform_entities.items() ): + if platform is Platform.UNKNOWN: + continue + info_object = dataclasses.asdict(platform_entity.info_object) del info_object["cluster_handlers"] info_object["migrate_unique_ids"] = list(info_object["migrate_unique_ids"]) From a33d3cd16cff8d70bf1e843d14b6a017acf84877 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 12 May 2026 18:31:20 -0400 Subject: [PATCH 17/85] Virtual entities, pass 2 --- zha/application/platforms/__init__.py | 23 +- zha/application/platforms/number/__init__.py | 3 + zha/application/platforms/select.py | 19 ++ zha/application/platforms/switch.py | 9 + zha/zigbee/cluster_config.py | 121 ++++----- zha/zigbee/cluster_handlers/closures.py | 21 -- zha/zigbee/cluster_handlers/general.py | 75 ++---- .../cluster_handlers/manufacturerspecific.py | 235 ++---------------- zha/zigbee/device.py | 2 - 9 files changed, 149 insertions(+), 359 deletions(-) diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index 32f9e9d98..6e0cfb1a4 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -246,11 +246,28 @@ class BaseEntity(LogMixin, EventBase): # Virtual entities participate in discovery and cluster-config aggregation # (so they bind, configure reporting, and run cluster-level setup work like - # IAS Zone enrollment) but are filtered out before being added to the - # device's visible platform_entities. They have no state, no HA registration, - # and exist purely to drive cluster-level background work. + # IAS Zone enrollment) but the wrapping integration is expected to skip + # registering them with Home Assistant. They have no state surface and + # exist purely to drive cluster-level background work. _virtual: bool = False + async def async_configure_cluster(self, cluster: Any) -> None: + """Optional post-bind cluster-level setup hook. + + Called after bind/configure_reporting for each cluster declared in + `_server_cluster_config`/`_client_cluster_config`. Override to perform + cluster-level setup beyond binding (e.g. IAS Zone CIE write, LightLink + coordinator group join). + """ + + async def async_initialize_cluster(self, cluster: Any) -> None: + """Optional post-initialize cluster-level hook. + + Called after the attribute cache has been populated. Override to act on + freshly-read attribute values (e.g. propagate one cluster's setting to a + sibling cluster's state). + """ + _attr_fallback_name: str | None = None _attr_icon: str | None = None _attr_translation_key: str | None = None diff --git a/zha/application/platforms/number/__init__.py b/zha/application/platforms/number/__init__.py index 188b03471..b16d5d841 100644 --- a/zha/application/platforms/number/__init__.py +++ b/zha/application/platforms/number/__init__.py @@ -728,6 +728,9 @@ class TiRouterTransmitPower(NumberConfigurationEntity): _server_cluster_config = { Basic.cluster_id: ClusterConfig( bind=False, + attributes={ + "transmit_power": AttrConfig(read_on_startup=False), + }, ), } diff --git a/zha/application/platforms/select.py b/zha/application/platforms/select.py index 016839eae..d5e229fd2 100644 --- a/zha/application/platforms/select.py +++ b/zha/application/platforms/select.py @@ -370,6 +370,14 @@ class TuyaPowerOnStateSelectEntity(ZCLEnumSelectEntity): exposed_features=frozenset({TUYA_PLUG_ONOFF}), ) + _server_cluster_config = { + OnOff.cluster_id: ClusterConfig( + attributes={ + "power_on_state": AttrConfig(read_on_startup=False), + }, + ), + } + @register_entity(TUYA_MANUFACTURER_CLUSTER) class TuyaManufacturerPowerOnStateSelectEntity(ZCLEnumSelectEntity): @@ -408,6 +416,14 @@ class TuyaBacklightModeSelectEntity(ZCLEnumSelectEntity): exposed_features=frozenset({TUYA_PLUG_ONOFF}), ) + _server_cluster_config = { + OnOff.cluster_id: ClusterConfig( + attributes={ + "backlight_mode": AttrConfig(read_on_startup=False), + }, + ), + } + class MoesBacklightMode(types.enum8): """MOES switch backlight mode enum.""" @@ -1200,6 +1216,9 @@ class BegaColorTemperatureChannelSelect(ZCLEnumSelectEntity): LevelControl.AttributeDefs.start_up_current_level: AttrConfig( read_on_startup=False, ), + "switchable_white": AttrConfig(read_on_startup=False), + "switchable_color_temperature_1": AttrConfig(read_on_startup=False), + "switchable_color_temperature_2": AttrConfig(read_on_startup=False), }, ), } diff --git a/zha/application/platforms/switch.py b/zha/application/platforms/switch.py index 97b7bca8f..32b1ffcf9 100644 --- a/zha/application/platforms/switch.py +++ b/zha/application/platforms/switch.py @@ -580,6 +580,14 @@ class HueMotionTriggerIndicatorSwitch(ConfigurableAttributeSwitch): models=frozenset({"SML001", "SML002", "SML003", "SML004"}), ) + _server_cluster_config = { + Basic.cluster_id: ClusterConfig( + attributes={ + "trigger_indicator": AttrConfig(read_on_startup=False), + }, + ), + } + @register_entity(IKEA_AIR_PURIFIER_CLUSTER) class ChildLock(ConfigurableAttributeSwitch): @@ -819,6 +827,7 @@ class TuyaChildLockSwitch(ConfigurableAttributeSwitch): OnOff.AttributeDefs.start_up_on_off: AttrConfig( read_on_startup=False, ), + "child_lock": AttrConfig(read_on_startup=False), }, ), } diff --git a/zha/zigbee/cluster_config.py b/zha/zigbee/cluster_config.py index 449b51be3..a5c04ecf5 100644 --- a/zha/zigbee/cluster_config.py +++ b/zha/zigbee/cluster_config.py @@ -118,7 +118,7 @@ async def configure_cluster_configs( configs: dict[tuple[int, int, bool], AggregatedClusterConfig], manufacturer_code: int | None, ) -> None: - """Execute binding and reporting configuration from aggregated configs.""" + """Execute binding, reporting, and post-bind hooks from aggregated configs.""" for agg in configs.values(): if agg.cluster.endpoint.device.skip_configuration: continue @@ -152,81 +152,59 @@ async def configure_cluster_configs( reportable_change=attr_config.reporting[2], ) - if not reporting_attrs: - continue - - event_data = { - attr_def.name: { - "min": cfg.min_interval, - "max": cfg.max_interval, - "id": attr_def.id, - "name": attr_def.name, - "change": cfg.reportable_change, - "status": None, + if reporting_attrs: + event_data = { + attr_def.name: { + "min": cfg.min_interval, + "max": cfg.max_interval, + "id": attr_def.id, + "name": attr_def.name, + "change": cfg.reportable_change, + "status": None, + } + for attr_def, cfg in reporting_attrs.items() } - for attr_def, cfg in reporting_attrs.items() - } - try: - res = await RETRYABLE_REQUEST_DECORATOR( - agg.cluster.configure_reporting_multiple - )(reporting_attrs) - _LOGGER.debug( - "[%s] Configured reporting for %s on cluster %s: %s", - agg.cluster.endpoint.device.ieee, - list(reporting_attrs.keys()), - agg.cluster.ep_attribute, - res, - ) - if not res: + try: + res = await RETRYABLE_REQUEST_DECORATOR( + agg.cluster.configure_reporting_multiple + )(reporting_attrs) + _LOGGER.debug( + "[%s] Configured reporting for %s on cluster %s: %s", + agg.cluster.endpoint.device.ieee, + list(reporting_attrs.keys()), + agg.cluster.ep_attribute, + res, + ) + if not res: + for attr_def in reporting_attrs: + event_data[attr_def.name]["status"] = Status.FAILURE.name + else: + for attr_def, status in res.items(): + event_data[attr_def.name]["status"] = status.name + except Exception as ex: + _LOGGER.debug( + "[%s] Failed to configure reporting on cluster %s: %s", + agg.cluster.endpoint.device.ieee, + agg.cluster.ep_attribute, + ex, + ) for attr_def in reporting_attrs: event_data[attr_def.name]["status"] = Status.FAILURE.name - else: - for attr_def, status in res.items(): - event_data[attr_def.name]["status"] = status.name - except Exception as ex: - _LOGGER.debug( - "[%s] Failed to configure reporting on cluster %s: %s", - agg.cluster.endpoint.device.ieee, - agg.cluster.ep_attribute, - ex, - ) - for attr_def in reporting_attrs: - event_data[attr_def.name]["status"] = Status.FAILURE.name - existing = getattr(agg.cluster, "_zha_last_reporting_config", None) - if existing is not None: - merged = {**existing, **event_data} - else: - merged = event_data - agg.cluster._zha_last_reporting_config = merged - - -async def run_entity_cluster_configure_hooks( - configs: dict[tuple[int, int, bool], AggregatedClusterConfig], -) -> None: - """Run any per-entity cluster-level configure hooks. + existing = getattr(agg.cluster, "_zha_last_reporting_config", None) + if existing is not None: + merged = {**existing, **event_data} + else: + merged = event_data + agg.cluster._zha_last_reporting_config = merged - Used by virtual entities to perform cluster-level setup beyond bind+report - (e.g. IAS Zone CIE write, LightLink coordinator group join). - """ - seen: set[tuple[int, int]] = set() - for key, agg in configs.items(): - if agg.cluster.endpoint.device.skip_configuration: - continue for entity in agg.entities: - hook = getattr(entity, "async_configure_cluster", None) - if hook is None: - continue - run_key = (id(entity), agg.cluster.cluster_id) - if run_key in seen: - continue - seen.add(run_key) try: - await hook(agg.cluster) + await entity.async_configure_cluster(agg.cluster) except Exception: # pylint: disable=broad-except _LOGGER.debug( - "[%s] cluster configure hook on %s raised", + "[%s] async_configure_cluster on %s raised", agg.cluster.endpoint.device.ieee, type(entity).__name__, exc_info=True, @@ -295,3 +273,14 @@ async def initialize_cluster_configs( allow_cache=from_cache, only_cache=from_cache, ) + + for entity in agg.entities: + try: + await entity.async_initialize_cluster(agg.cluster) + except Exception: # pylint: disable=broad-except + _LOGGER.debug( + "[%s] async_initialize_cluster on %s raised", + agg.cluster.endpoint.device.ieee, + type(entity).__name__, + exc_info=True, + ) diff --git a/zha/zigbee/cluster_handlers/closures.py b/zha/zigbee/cluster_handlers/closures.py index c0e9a28b7..5b2a61849 100644 --- a/zha/zigbee/cluster_handlers/closures.py +++ b/zha/zigbee/cluster_handlers/closures.py @@ -47,27 +47,6 @@ async def async_update(self): ), ) - def cluster_command(self, tsn, command_id, args): - """Handle a cluster command received on this cluster.""" - - if ( - self._cluster.client_commands is None - or self._cluster.client_commands.get(command_id) is None - ): - return - - command_name = self._cluster.client_commands[command_id].name - - if command_name == DoorLock.ClientCommandDefs.operation_event_notification.name: - self.emit_zha_event( - command_name, - { - "source": args[0].name, - "operation": args[1].name, - "code_slot": (args[2] + 1), # start code slots at 1 - }, - ) - async def async_set_user_code(self, code_slot: int, user_code: str) -> None: """Set the user code for the code slot.""" diff --git a/zha/zigbee/cluster_handlers/general.py b/zha/zigbee/cluster_handlers/general.py index 81cb7e020..f4bda972d 100644 --- a/zha/zigbee/cluster_handlers/general.py +++ b/zha/zigbee/cluster_handlers/general.py @@ -2,11 +2,9 @@ from __future__ import annotations -from collections.abc import Coroutine from dataclasses import dataclass from typing import TYPE_CHECKING, Final -from zhaquirks.quirk_ids import BEGA_LIGHT_SWITCHABLE_WHITE, TUYA_PLUG_ONOFF import zigpy.exceptions import zigpy.types as t import zigpy.zcl @@ -67,7 +65,6 @@ SIGNAL_MOVE_LEVEL, SIGNAL_SET_LEVEL, ) -from zha.zigbee.cluster_handlers.helpers import is_hue_motion_sensor if TYPE_CHECKING: from zha.zigbee.endpoint import Endpoint @@ -263,7 +260,12 @@ class ApplianceControlClusterHandler(ClusterHandler): @registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(Basic.cluster_id) @registries.CLUSTER_HANDLER_REGISTRY.register(Basic.cluster_id) class BasicClusterHandler(ClusterHandler): - """Cluster handler to interact with the basic cluster.""" + """Cluster handler to interact with the basic cluster. + + Per-model attribute initialization (Hue `trigger_indicator`, TI router + `transmit_power`, Aqara curtain `power_source`) lives on the corresponding + entities' `_server_cluster_config` now. + """ UNKNOWN = 0 BATTERY = 3 @@ -279,22 +281,6 @@ class BasicClusterHandler(ClusterHandler): 6: "Emergency mains and transfer switch", } - def __init__(self, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> None: - """Initialize Basic cluster handler.""" - super().__init__(cluster, endpoint) - if is_hue_motion_sensor(self) and self.cluster.endpoint.endpoint_id == 2: - self.ZCL_INIT_ATTRS = self.ZCL_INIT_ATTRS.copy() - self.ZCL_INIT_ATTRS["trigger_indicator"] = True - elif ( - self.cluster.endpoint.manufacturer == "TexasInstruments" - and self.cluster.endpoint.model == "ti.router" - ): - self.ZCL_INIT_ATTRS = self.ZCL_INIT_ATTRS.copy() - self.ZCL_INIT_ATTRS["transmit_power"] = True - elif self.cluster.endpoint.model == "lumi.curtain.agl001": - self.ZCL_INIT_ATTRS = self.ZCL_INIT_ATTRS.copy() - self.ZCL_INIT_ATTRS["power_source"] = True - @registries.CLUSTER_HANDLER_REGISTRY.register(BinaryInput.cluster_id) class BinaryInputClusterHandler(ClusterHandler): @@ -400,16 +386,13 @@ class GroupsClusterHandler(ClusterHandler): @registries.CLUSTER_HANDLER_REGISTRY.register(Identify.cluster_id) class IdentifyClusterHandler(ClusterHandler): - """Identify cluster handler.""" - - BIND: bool = False + """Identify cluster handler. - def cluster_command(self, tsn, command_id, args): - """Handle commands received to this cluster.""" - cmd = parse_and_log_command(self, tsn, command_id, args) + `trigger_effect` → zha_event dispatch lives on the + `IdentifyTriggerEffectEvent` virtual entity now. + """ - if cmd == Identify.ServerCommandDefs.trigger_effect.name: - self.emit_zha_event(f"{self.unique_id}_{cmd}", args[0]) + BIND: bool = False @registries.CLIENT_CLUSTER_HANDLER_REGISTRY.register(LevelControl.cluster_id) @@ -438,16 +421,6 @@ class LevelControlClusterHandler(ClusterHandler): LevelControl.AttributeDefs.start_up_current_level.name: True, } - def __init__(self, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> None: - """Initialize LevelControlClusterHandler.""" - super().__init__(cluster, endpoint) - - if BEGA_LIGHT_SWITCHABLE_WHITE in endpoint.device.exposes_features: - self.ZCL_INIT_ATTRS = self.ZCL_INIT_ATTRS.copy() - self.ZCL_INIT_ATTRS["switchable_white"] = True - self.ZCL_INIT_ATTRS["switchable_color_temperature_1"] = True - self.ZCL_INIT_ATTRS["switchable_color_temperature_2"] = True - @property def current_level(self) -> int | None: """Return cached value of the current_level attribute.""" @@ -568,16 +541,6 @@ class OnOffClusterHandler(ClusterHandler): OnOff.AttributeDefs.start_up_on_off.name: True, } - def __init__(self, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> None: - """Initialize OnOffClusterHandler.""" - super().__init__(cluster, endpoint) - - if TUYA_PLUG_ONOFF in endpoint.device.exposes_features: - self.ZCL_INIT_ATTRS = self.ZCL_INIT_ATTRS.copy() - self.ZCL_INIT_ATTRS["backlight_mode"] = True - self.ZCL_INIT_ATTRS["power_on_state"] = True - self.ZCL_INIT_ATTRS["child_lock"] = True - @classmethod def matches(cls, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> bool: """Filter the cluster match for specific devices.""" @@ -678,7 +641,11 @@ class PartitionClusterHandler(ClusterHandler): @registries.CLUSTER_HANDLER_REGISTRY.register(PowerConfiguration.cluster_id) class PowerConfigurationClusterHandler(ClusterHandler): - """Cluster handler for the zigbee power configuration cluster.""" + """Cluster handler for the zigbee power configuration cluster. + + `battery_size` / `battery_quantity` reads are declared on the `Battery` + sensor entity now. + """ REPORT_CONFIG = ( AttrReportConfig( @@ -691,16 +658,6 @@ class PowerConfigurationClusterHandler(ClusterHandler): ), ) - def async_initialize_cluster_handler_specific(self, from_cache: bool) -> Coroutine: - """Initialize cluster handler specific attrs.""" - attributes = [ - PowerConfiguration.AttributeDefs.battery_size.name, - PowerConfiguration.AttributeDefs.battery_quantity.name, - ] - return self.get_attributes( - attributes, from_cache=from_cache, only_cache=from_cache - ) - @registries.CLUSTER_HANDLER_REGISTRY.register(PowerProfile.cluster_id) class PowerProfileClusterHandler(ClusterHandler): diff --git a/zha/zigbee/cluster_handlers/manufacturerspecific.py b/zha/zigbee/cluster_handlers/manufacturerspecific.py index 96aea9d6c..f4f18b6fe 100644 --- a/zha/zigbee/cluster_handlers/manufacturerspecific.py +++ b/zha/zigbee/cluster_handlers/manufacturerspecific.py @@ -6,11 +6,7 @@ from typing import TYPE_CHECKING, Any from zhaquirks.inovelli.types import AllLEDEffectType, SingleLEDEffectType -from zhaquirks.quirk_ids import ( - DANFOSS_ALLY_THERMOSTAT, - TUYA_PLUG_MANUFACTURER, - XIAOMI_AQARA_VIBRATION_AQ1, -) +from zhaquirks.quirk_ids import DANFOSS_ALLY_THERMOSTAT, XIAOMI_AQARA_VIBRATION_AQ1 import zigpy.zcl from zigpy.zcl import ( AttributeReadEvent, @@ -30,9 +26,6 @@ ) from zha.zigbee.cluster_handlers.const import ( AQARA_OPPLE_CLUSTER, - ATTRIBUTE_ID, - ATTRIBUTE_NAME, - ATTRIBUTE_VALUE, IKEA_AIR_PURIFIER_CLUSTER, IKEA_REMOTE_CLUSTER, IKEA_SHORTCUT_V1_CLUSTER, @@ -46,15 +39,11 @@ REPORT_CONFIG_IMMEDIATE, REPORT_CONFIG_MAX_INT, REPORT_CONFIG_MIN_INT, - REPORT_CONFIG_MIN_INT_IMMEDIATE, - REPORT_CONFIG_RPT_CHANGE, - SIGNAL_ATTR_UPDATED, SINOPE_MANUFACTURER_CLUSTER, SMARTTHINGS_ACCELERATION_CLUSTER, SMARTTHINGS_HUMIDITY_CLUSTER, SONOFF_CLUSTER, TUYA_MANUFACTURER_CLUSTER, - UNKNOWN, ) from zha.zigbee.cluster_handlers.general import MultistateInputClusterHandler @@ -109,119 +98,35 @@ class PhillipsRemoteClusterHandler(ClusterHandler): @registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(TUYA_MANUFACTURER_CLUSTER) @registries.CLUSTER_HANDLER_REGISTRY.register(TUYA_MANUFACTURER_CLUSTER) class TuyaClusterHandler(ClusterHandler): - """Cluster handler for the Tuya manufacturer Zigbee cluster.""" + """Cluster handler for the Tuya manufacturer Zigbee cluster. - REPORT_CONFIG = () + Per-feature attribute init lives on the `TuyaPlugManufacturerInit` virtual + entity now. + """ - def __init__(self, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> None: - """Initialize TuyaClusterHandler.""" - super().__init__(cluster, endpoint) - if TUYA_PLUG_MANUFACTURER in endpoint.device.exposes_features: - self.ZCL_INIT_ATTRS = { - "backlight_mode": True, - "power_on_state": True, - } + REPORT_CONFIG = () @registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(AQARA_OPPLE_CLUSTER) @registries.CLUSTER_HANDLER_REGISTRY.register(AQARA_OPPLE_CLUSTER) class OppleRemoteClusterHandler(ClusterHandler): - """Opple cluster handler.""" + """Opple cluster handler. - REPORT_CONFIG: tuple[AttrReportConfig, ...] = () + Per-model attribute init lives on the `Aqara*Init` virtual entities now. + The cross-cluster `detection_interval` -> `ias_zone.reset_s` write is + handled by `AqaraMotionDetectionIntervalSync`. + """ - def __init__(self, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> None: - """Initialize Opple cluster handler.""" - super().__init__(cluster, endpoint) - if self.cluster.endpoint.model == "lumi.motion.ac02": - self.ZCL_INIT_ATTRS = { - "detection_interval": True, - "motion_sensitivity": True, - "trigger_indicator": True, - } - elif self.cluster.endpoint.model == "lumi.motion.agl04": - self.ZCL_INIT_ATTRS = { - "detection_interval": True, - "motion_sensitivity": True, - } - elif self.cluster.endpoint.model == "lumi.motion.ac01": - self.ZCL_INIT_ATTRS = { - "presence": True, - "monitoring_mode": True, - "motion_sensitivity": True, - "approach_distance": True, - } - elif self.cluster.endpoint.model in ("lumi.plug.mmeu01", "lumi.plug.maeu01"): - self.ZCL_INIT_ATTRS = { - "power_outage_memory": True, - "consumer_connected": True, - } - elif self.cluster.endpoint.model == "aqara.feeder.acn001": - self.ZCL_INIT_ATTRS = { - "portions_dispensed": True, - "weight_dispensed": True, - "error_detected": True, - "disable_led_indicator": True, - "child_lock": True, - "feeding_mode": True, - "serving_size": True, - "portion_weight": True, - } - elif self.cluster.endpoint.model == "lumi.airrtc.agl001": - self.ZCL_INIT_ATTRS = { - "system_mode": True, - "preset": True, - "window_detection": True, - "valve_detection": True, - "valve_alarm": True, - "child_lock": True, - "away_preset_temperature": True, - "window_open": True, - "calibrated": True, - "schedule": True, - "sensor": True, - } - elif self.cluster.endpoint.model == "lumi.sensor_smoke.acn03": - self.ZCL_INIT_ATTRS = { - "buzzer_manual_mute": True, - "smoke_density": True, - "heartbeat_indicator": True, - "buzzer_manual_alarm": True, - "buzzer": True, - "linkage_alarm": True, - } - elif self.cluster.endpoint.model == "lumi.magnet.ac01": - self.ZCL_INIT_ATTRS = { - "detection_distance": True, - } - elif self.cluster.endpoint.model == "lumi.switch.acn047": - self.ZCL_INIT_ATTRS = { - "switch_mode": True, - "switch_type": True, - "startup_on_off": True, - "decoupled_mode": True, - } - elif self.cluster.endpoint.model == "lumi.curtain.agl001": - self.ZCL_INIT_ATTRS = { - "hooks_state": True, - "hooks_lock": True, - "positions_stored": True, - "light_level": True, - "hand_open": True, - } - - async def async_initialize_cluster_handler_specific(self, from_cache: bool) -> None: # pylint: disable=unused-argument - """Initialize cluster handler specific.""" - if self.cluster.endpoint.model in ("lumi.motion.ac02", "lumi.motion.agl04"): - interval = self.cluster.get("detection_interval", self.cluster.get(0x0102)) - if interval is not None: - self.debug("Loaded detection interval at startup: %s", interval) - self.cluster.endpoint.ias_zone.reset_s = int(interval) + REPORT_CONFIG: tuple[AttrReportConfig, ...] = () @registries.CLUSTER_HANDLER_REGISTRY.register(SMARTTHINGS_ACCELERATION_CLUSTER) class SmartThingsAccelerationClusterHandler(ClusterHandler): - """Smart Things Acceleration cluster handler.""" + """Smart Things Acceleration cluster handler. + + `zha_event` emission per attribute update lives on the + `SmartThingsAccelerationEvent` virtual entity now. + """ REPORT_CONFIG = ( AttrReportConfig(attr="acceleration", config=REPORT_CONFIG_ASAP), @@ -239,24 +144,6 @@ def matches(cls, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> bool: "SmartThings", ) - def _handle_attribute_updated_event( - self, - event: AttributeReadEvent - | AttributeReportedEvent - | AttributeUpdatedEvent - | AttributeWrittenEvent, - ) -> None: - """Handle attribute updates on this cluster.""" - super()._handle_attribute_updated_event(event) - self.emit_zha_event( - SIGNAL_ATTR_UPDATED, - { - ATTRIBUTE_ID: event.attribute_id, - ATTRIBUTE_NAME: event.attribute_name or UNKNOWN, - ATTRIBUTE_VALUE: event.value, - }, - ) - @registries.CLIENT_CLUSTER_HANDLER_REGISTRY.register(INOVELLI_CLUSTER) class InovelliNotificationClientClusterHandler(ClientClusterHandler): @@ -277,52 +164,14 @@ def cluster_command(self, tsn, command_id, args): @registries.CLUSTER_HANDLER_REGISTRY.register(INOVELLI_CLUSTER) class InovelliConfigEntityClusterHandler(ClusterHandler): - """Inovelli Configuration Entity cluster handler.""" + """Inovelli Configuration Entity cluster handler. + + Per-model attribute init lives on the `InovelliVzm30/31/35Init` virtual + entities now. + """ REPORT_CONFIG = () - def __init__(self, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> None: - """Initialize Inovelli cluster handler.""" - super().__init__(cluster, endpoint) - if self.cluster.endpoint.model == "VZM30-SN": - self.ZCL_INIT_ATTRS = { - "dimming_speed_up_remote": True, - "dimming_speed_up_local": True, - "ramp_rate_off_to_on_remote": True, - "ramp_rate_off_to_on_local": True, - "dimming_speed_down_remote": True, - "dimming_speed_down_local": True, - "ramp_rate_on_to_off_remote": True, - "ramp_rate_on_to_off_local": True, - "minimum_level": True, - "maximum_level": True, - "invert_switch": True, - "auto_off_timer": True, - "default_level_local": True, - "default_level_remote": True, - "state_after_power_restored": True, - "load_level_indicator_timeout": True, - "active_power_reports": True, - "periodic_power_and_energy_reports": True, - "active_energy_reports": True, - "power_type": False, - "switch_type": False, - "internal_temp_monitor": True, - "overheated": True, - "button_delay": False, - "smart_bulb_mode": False, - "led_color_when_on": True, - "led_color_when_off": True, - "led_intensity_when_on": True, - "led_intensity_when_off": True, - "led_scaling_mode": True, - "aux_switch_scenes": True, - "binding_off_to_on_sync_level": True, - "local_protection": False, - "output_mode": False, - "firmware_progress_led": True, - "disable_clear_notifications_double_tap": True, - } elif self.cluster.endpoint.model == "VZM31-SN": self.ZCL_INIT_ATTRS = { "dimming_speed_up_remote": True, @@ -527,13 +376,11 @@ class XiaomiVibrationAQ1ClusterHandler(MultistateInputClusterHandler): @registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(SONOFF_CLUSTER) @registries.CLUSTER_HANDLER_REGISTRY.register(SONOFF_CLUSTER) class SonoffPresenceSenorClusterHandler(ClusterHandler): - """SonoffPresenceSensor cluster handler.""" + """SonoffPresenceSensor cluster handler. - def __init__(self, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> None: - """Initialize SonoffPresenceSensor cluster handler.""" - super().__init__(cluster, endpoint) - if self.cluster.endpoint.model == "SNZB-06P": - self.ZCL_INIT_ATTRS = {"last_illumination_state": True} + Per-model attribute init lives on the `SonoffPresenceSensorInit` virtual + entity now. + """ @registries.CLUSTER_HANDLER_REGISTRY.register( @@ -605,36 +452,8 @@ class SinopeManufacturerClusterHandler(ClusterHandler): BIND = True - def __init__(self, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> None: - """Initialize Sinope cluster handler.""" - super().__init__(cluster, endpoint) - self.ZCL_INIT_ATTRS = { - "double_up_full": True, - "on_led_color": True, - "off_led_color": True, - "off_led_intensity": True, - "on_led_intensity": True, - } - - if self.cluster.endpoint.model in [ - "DM2550ZB", - "DM2550ZB-G2", - "DM2500ZB-G2", - "DM2500ZB", - ]: - self.ZCL_INIT_ATTRS["on_intensity"] = True - _value_attribute = "action_report" - REPORT_CONFIG = ( - AttrReportConfig( - attr="action_report", - config=( - REPORT_CONFIG_MIN_INT_IMMEDIATE, - REPORT_CONFIG_MIN_INT_IMMEDIATE, - REPORT_CONFIG_RPT_CHANGE, - ), - ), - ) + REPORT_CONFIG = () @classmethod def matches(cls, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> bool: diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index 3edff7641..ca804dcae 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -90,7 +90,6 @@ aggregate_cluster_configs, configure_cluster_configs, initialize_cluster_configs, - run_entity_cluster_configure_hooks, ) from zha.zigbee.cluster_handlers import ( ClusterHandler, @@ -970,7 +969,6 @@ async def async_configure(self) -> None: aggregated = aggregate_cluster_configs(self._discovered_entities) if aggregated: await configure_cluster_configs(aggregated, self.manufacturer_code) - await run_entity_cluster_configure_hooks(aggregated) # Mark cluster handlers as CONFIGURED for ClusterMatch entities for entity in self._discovered_entities: From 073f21640d9f79ff73167385c9c8056540834462 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 12 May 2026 18:38:20 -0400 Subject: [PATCH 18/85] WIP: commit virtual entities --- zha/application/discovery.py | 2 +- zha/application/platforms/virtual.py | 965 ++++++++++++++++++ .../cluster_handlers/manufacturerspecific.py | 90 -- 3 files changed, 966 insertions(+), 91 deletions(-) create mode 100644 zha/application/platforms/virtual.py diff --git a/zha/application/discovery.py b/zha/application/discovery.py index 79a318b37..10cbba030 100644 --- a/zha/application/discovery.py +++ b/zha/application/discovery.py @@ -32,7 +32,6 @@ ClusterMatch, PlatformEntity, PlatformFeatureGroup, - _virtual, alarm_control_panel, binary_sensor, button, @@ -48,6 +47,7 @@ siren, switch, update, + virtual, ) # importing cluster handlers updates registries diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py new file mode 100644 index 000000000..a1bb36ce7 --- /dev/null +++ b/zha/application/platforms/virtual.py @@ -0,0 +1,965 @@ +"""Virtual platform entities. + +Virtual entities participate in cluster discovery and the cluster-config +aggregation flow (so they drive bind, attribute reporting, and cluster-level +setup work) but are filtered out before being registered as HA entities. They +exist to host per-cluster background work that used to live on ClusterHandler: +IAS Zone enrollment, LightLink coordinator group joining, client-cluster +attribute cache synchronization, etc. +""" + +from __future__ import annotations + +import asyncio +from typing import TYPE_CHECKING, Any + +import zigpy.types as t +import zigpy.zcl +from zigpy.zcl import ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, +) +from zigpy.zcl.clusters.closures import DoorLock +from zigpy.zcl.clusters.general import Identify, OnOff, Ota +from zigpy.zcl.clusters.lightlink import LightLink +from zigpy.zcl.clusters.security import IasZone +from zigpy.zcl.foundation import GENERAL_COMMANDS, GeneralCommand + +from zha.application import Platform +from zha.application.platforms import ( + AttrConfig, + ClusterConfig, + ClusterMatch, + PlatformEntity, + register_entity, +) +from zha.exceptions import ZHAException +from zha.zigbee.cluster_handlers.const import ( + ATTRIBUTE_ID, + ATTRIBUTE_NAME, + ATTRIBUTE_VALUE, + SIGNAL_ATTR_UPDATED, +) + +SMARTTHINGS_ACCELERATION_CLUSTER = 0xFC02 +UNKNOWN = "Unknown" + +if TYPE_CHECKING: + from zha.zigbee.cluster_handlers import ClusterHandler + from zha.zigbee.device import Device + from zha.zigbee.endpoint import Endpoint + + +class VirtualEntity(PlatformEntity): + """Cluster-level background driver that isn't registered as a HA entity.""" + + _virtual = True + PLATFORM = Platform.UNKNOWN + _attr_always_supported = True + + def __init__( + self, + cluster_handlers: list[ClusterHandler], + endpoint: Endpoint, + device: Device, + **kwargs: Any, + ) -> None: + """Initialize the virtual entity.""" + super().__init__(cluster_handlers, endpoint, device, **kwargs) + # Cache the (single) cluster this virtual entity drives, for the + # cluster_command listener hook. + self._cluster: zigpy.zcl.Cluster | None = ( + cluster_handlers[0].cluster if cluster_handlers else None + ) + + def on_add(self) -> None: + """Subscribe to incoming cluster commands and attribute events.""" + super().on_add() + if self._cluster is None: + return + + if hasattr(self, "cluster_command"): + self._cluster.add_listener(self) + self._on_remove_callbacks.append( + lambda: self._cluster.remove_listener(self) + ) + + if hasattr(self, "attribute_updated"): + for event_type in ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + ): + unsub = self._cluster.on_event( + event_type.event_type, self.attribute_updated + ) + self._on_remove_callbacks.append(unsub) + + def emit_cluster_zha_event( + self, command: str, args: list | dict | None = None + ) -> None: + """Relay a cluster-level zha_event via the endpoint.""" + if self._cluster is None: + return + self._endpoint.emit_zha_event( + { + "unique_id": self.unique_id, + "cluster_id": self._cluster.cluster_id, + "command": command, + "args": args or [], + "params": {}, + } + ) + + +@register_entity(IasZone.cluster_id) +class IasZoneEnrollment(VirtualEntity): + """Drives the IAS Zone enrollment handshake. + + Writes the coordinator's IEEE to `cie_addr`, sends a pro-active enroll + response, replies to device-initiated enroll requests, and mirrors + status_change_notification commands into the `zone_status` attribute cache. + """ + + _unique_id_suffix = "ias_zone_enrollment" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({IasZone.cluster_id}), + ) + + _server_cluster_config = { + IasZone.cluster_id: ClusterConfig( + bind=True, + attributes={ + IasZone.AttributeDefs.zone_type: AttrConfig(read_on_startup=True), + }, + ), + } + + async def async_configure_cluster(self, cluster: zigpy.zcl.Cluster) -> None: + """Write CIE address and send the pro-active enroll response.""" + ieee = cluster.endpoint.device.application.state.node_info.ieee + + try: + await cluster.write_attributes({IasZone.AttributeDefs.cie_addr.name: ieee}) + self.debug( + "wrote cie_addr: %s to '%s' cluster", str(ieee), cluster.ep_attribute + ) + except (ZHAException, Exception) as ex: # pylint: disable=broad-except + self.debug( + "Failed to write cie_addr to '%s' cluster: %s", + cluster.ep_attribute, + str(ex), + ) + + self.debug("Sending pro-active IAS enroll response") + cluster.create_catching_task( + cluster.enroll_response( + enroll_response_code=IasZone.EnrollResponse.Success, zone_id=0 + ) + ) + + def cluster_command(self, tsn: int, command_id: int, args: list[Any]) -> None: + """Handle incoming IAS Zone client commands.""" + if command_id == IasZone.ClientCommandDefs.status_change_notification.id: + zone_status = args[0] + self._cluster.update_attribute( + IasZone.AttributeDefs.zone_status.id, zone_status + ) + self.debug("Updated alarm state: %s", zone_status) + elif command_id == IasZone.ClientCommandDefs.enroll.id: + self.debug("Enroll requested") + self._cluster.create_catching_task( + self._cluster.enroll_response( + enroll_response_code=IasZone.EnrollResponse.Success, zone_id=0 + ) + ) + + +@register_entity(LightLink.cluster_id) +class LightLinkGroupJoin(VirtualEntity): + """Adds the coordinator to the device's LightLink groups.""" + + _unique_id_suffix = "lightlink_group_join" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({LightLink.cluster_id}), + ) + + _server_cluster_config = { + LightLink.cluster_id: ClusterConfig(bind=False), + } + + async def async_configure_cluster(self, cluster: zigpy.zcl.Cluster) -> None: + """Query the device's groups and add the coordinator to each.""" + import zigpy.exceptions + + application = cluster.endpoint.device.application + try: + coordinator = application.get_device(application.state.node_info.ieee) + except KeyError: + self.warning("Aborting - unable to locate required coordinator device.") + return + + try: + rsp = await cluster.get_group_identifiers(0) + except (zigpy.exceptions.ZigbeeException, TimeoutError) as exc: + self.warning("Couldn't get list of groups: %s", str(exc)) + return + + if isinstance(rsp, GENERAL_COMMANDS[GeneralCommand.Default_Response].schema): + groups = [] + else: + groups = rsp.group_info_records + + if groups: + for group in groups: + self.debug("Adding coordinator to 0x%04x group id", group.group_id) + await coordinator.add_to_group(group.group_id) + else: + await coordinator.add_to_group(0x0000, name="Lightlink Group") + + +@register_entity(OnOff.cluster_id) +class OnOffClientCacheSync(VirtualEntity): + """Mirrors incoming OnOff client commands to the server attribute cache. + + Lets `Opening`/`IkeaMotion`/`PhilipsMotion` binary sensors (which read the + server `on_off` cache) stay in sync with `off`/`on`/`toggle`/ + `on_with_timed_off` commands the device sends. + """ + + _unique_id_suffix = "on_off_client_cache_sync" + + _cluster_match = ClusterMatch( + client_clusters=frozenset({OnOff.cluster_id}), + ) + + _client_cluster_config = { + OnOff.cluster_id: ClusterConfig(bind=False), + } + + def __init__( + self, + cluster_handlers: list[ClusterHandler], + endpoint: Endpoint, + device: Device, + **kwargs: Any, + ) -> None: + """Initialize the OnOff client cache sync.""" + super().__init__(cluster_handlers, endpoint, device, **kwargs) + self._off_listener: asyncio.TimerHandle | None = None + + @property + def on_off(self) -> bool | None: + """Return cached value of on/off attribute.""" + return self._cluster.get(OnOff.AttributeDefs.on_off.name) + + def cluster_command(self, tsn: int, command_id: int, args: list[Any]) -> None: + """Mirror commands from the device into the server cache.""" + try: + cmd = self._cluster.server_commands[command_id].name + except KeyError: + return + + if cmd in ( + OnOff.ServerCommandDefs.off.name, + OnOff.ServerCommandDefs.off_with_effect.name, + ): + self._cluster.update_attribute(OnOff.AttributeDefs.on_off.id, t.Bool.false) + elif cmd in ( + OnOff.ServerCommandDefs.on.name, + OnOff.ServerCommandDefs.on_with_recall_global_scene.name, + ): + self._cluster.update_attribute(OnOff.AttributeDefs.on_off.id, t.Bool.true) + elif cmd == OnOff.ServerCommandDefs.on_with_timed_off.name: + should_accept = args[0] + on_time = args[1] + if should_accept == 0 or (should_accept == 1 and bool(self.on_off)): + if self._off_listener is not None: + self._off_listener.cancel() + self._off_listener = None + self._cluster.update_attribute( + OnOff.AttributeDefs.on_off.id, t.Bool.true + ) + if on_time > 0: + self._off_listener = asyncio.get_running_loop().call_later( + on_time / 10, self._set_to_off + ) + elif cmd == "toggle": + self._cluster.update_attribute( + OnOff.AttributeDefs.on_off.id, not bool(self.on_off) + ) + + def _set_to_off(self) -> None: + """Clear the on_off cache when the timed_off duration elapses.""" + self._off_listener = None + self._cluster.update_attribute(OnOff.AttributeDefs.on_off.id, t.Bool.false) + + +@register_entity(Ota.cluster_id) +class OtaCurrentFileVersionCache(VirtualEntity): + """Updates `current_file_version` on every query_next_image from the device.""" + + _unique_id_suffix = "ota_current_file_version_cache" + + _cluster_match = ClusterMatch( + client_clusters=frozenset({Ota.cluster_id}), + ) + + _client_cluster_config = { + Ota.cluster_id: ClusterConfig(bind=False), + } + + def cluster_command(self, tsn: int, command_id: int, args: list[Any]) -> None: + """Capture current_file_version from query_next_image.""" + if command_id not in self._cluster.server_commands: + return + cmd_name = self._cluster.server_commands[command_id].name + if cmd_name == Ota.ServerCommandDefs.query_next_image.name: + self._cluster.update_attribute( + Ota.AttributeDefs.current_file_version.id, args[3] + ) + + +@register_entity(DoorLock.cluster_id) +class DoorLockOperationEvent(VirtualEntity): + """Emits zha_event for DoorLock operation_event_notification commands.""" + + _unique_id_suffix = "door_lock_operation_event" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({DoorLock.cluster_id}), + ) + + _server_cluster_config = { + DoorLock.cluster_id: ClusterConfig(bind=False), + } + + def cluster_command(self, tsn: int, command_id: int, args: list[Any]) -> None: + """Translate operation_event_notification into a zha_event.""" + if ( + self._cluster.client_commands is None + or self._cluster.client_commands.get(command_id) is None + ): + return + + command_name = self._cluster.client_commands[command_id].name + if command_name != DoorLock.ClientCommandDefs.operation_event_notification.name: + return + + self.emit_cluster_zha_event( + command_name, + { + "source": args[0].name, + "operation": args[1].name, + "code_slot": (args[2] + 1), + }, + ) + + +@register_entity(SMARTTHINGS_ACCELERATION_CLUSTER) +class SmartThingsAccelerationEvent(VirtualEntity): + """Emits a zha_event for every attribute update on the SmartThings accel cluster.""" + + _unique_id_suffix = "smartthings_acceleration_event" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({SMARTTHINGS_ACCELERATION_CLUSTER}), + manufacturers=frozenset({"CentraLite", "Samjin", "SmartThings"}), + ) + + _server_cluster_config = { + SMARTTHINGS_ACCELERATION_CLUSTER: ClusterConfig(bind=False), + } + + def attribute_updated( + self, + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, + ) -> None: + """Re-emit the update as a zha_event.""" + self.emit_cluster_zha_event( + SIGNAL_ATTR_UPDATED, + { + ATTRIBUTE_ID: event.attribute_id, + ATTRIBUTE_NAME: event.attribute_name or UNKNOWN, + ATTRIBUTE_VALUE: event.value, + }, + ) + + +@register_entity(Identify.cluster_id) +class IdentifyTriggerEffectEvent(VirtualEntity): + """Emits a zha_event when the device sends `trigger_effect`.""" + + _unique_id_suffix = "identify_trigger_effect_event" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({Identify.cluster_id}), + ) + + _server_cluster_config = { + Identify.cluster_id: ClusterConfig(bind=False), + } + + def cluster_command(self, tsn: int, command_id: int, args: list[Any]) -> None: + """Translate trigger_effect into a zha_event.""" + try: + cmd = self._cluster.server_commands[command_id].name + except KeyError: + return + if cmd == Identify.ServerCommandDefs.trigger_effect.name: + self.emit_cluster_zha_event(f"{self.unique_id}_{cmd}", [args[0]]) + + +# === Aqara Opple cluster per-model attribute initialization === +# +# These virtual entities replace the per-model `ZCL_INIT_ATTRS` swaps that +# previously lived in `OppleRemoteClusterHandler.__init__`. Each virtual entity +# claims the Aqara Opple cluster and declares the attributes it expects to be +# read on startup so they're populated in the attribute cache for the regular +# entities (select/switch/sensor/number) that read them. + +AQARA_OPPLE_CLUSTER = 0xFCC0 + + +class _AqaraOppleInitBase(VirtualEntity): + """Base for per-model Aqara Opple cluster attribute initialization.""" + + _unique_id_suffix = "aqara_opple_init" + + +@register_entity(AQARA_OPPLE_CLUSTER) +class AqaraMotionAc02Init(_AqaraOppleInitBase): + """Aqara P1 motion sensor attribute init.""" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), + models=frozenset({"lumi.motion.ac02"}), + ) + _server_cluster_config = { + AQARA_OPPLE_CLUSTER: ClusterConfig( + attributes={ + "detection_interval": AttrConfig(read_on_startup=False), + "motion_sensitivity": AttrConfig(read_on_startup=False), + "trigger_indicator": AttrConfig(read_on_startup=False), + }, + ), + } + + +@register_entity(AQARA_OPPLE_CLUSTER) +class AqaraMotionAgl04Init(_AqaraOppleInitBase): + """Aqara high-precision motion sensor attribute init.""" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), + models=frozenset({"lumi.motion.agl04"}), + ) + _server_cluster_config = { + AQARA_OPPLE_CLUSTER: ClusterConfig( + attributes={ + "detection_interval": AttrConfig(read_on_startup=False), + "motion_sensitivity": AttrConfig(read_on_startup=False), + }, + ), + } + + +@register_entity(AQARA_OPPLE_CLUSTER) +class AqaraMotionAc01Init(_AqaraOppleInitBase): + """Aqara FP1 presence sensor attribute init.""" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), + models=frozenset({"lumi.motion.ac01"}), + ) + _server_cluster_config = { + AQARA_OPPLE_CLUSTER: ClusterConfig( + attributes={ + "presence": AttrConfig(read_on_startup=False), + "monitoring_mode": AttrConfig(read_on_startup=False), + "motion_sensitivity": AttrConfig(read_on_startup=False), + "approach_distance": AttrConfig(read_on_startup=False), + }, + ), + } + + +@register_entity(AQARA_OPPLE_CLUSTER) +class AqaraPlugInit(_AqaraOppleInitBase): + """Aqara EU plug attribute init.""" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), + models=frozenset({"lumi.plug.mmeu01", "lumi.plug.maeu01"}), + ) + _server_cluster_config = { + AQARA_OPPLE_CLUSTER: ClusterConfig( + attributes={ + "power_outage_memory": AttrConfig(read_on_startup=False), + "consumer_connected": AttrConfig(read_on_startup=False), + }, + ), + } + + +@register_entity(AQARA_OPPLE_CLUSTER) +class AqaraFeederInit(_AqaraOppleInitBase): + """Aqara pet feeder attribute init.""" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), + models=frozenset({"aqara.feeder.acn001"}), + ) + _server_cluster_config = { + AQARA_OPPLE_CLUSTER: ClusterConfig( + attributes={ + "portions_dispensed": AttrConfig(read_on_startup=False), + "weight_dispensed": AttrConfig(read_on_startup=False), + "error_detected": AttrConfig(read_on_startup=False), + "disable_led_indicator": AttrConfig(read_on_startup=False), + "child_lock": AttrConfig(read_on_startup=False), + "feeding_mode": AttrConfig(read_on_startup=False), + "serving_size": AttrConfig(read_on_startup=False), + "portion_weight": AttrConfig(read_on_startup=False), + }, + ), + } + + +@register_entity(AQARA_OPPLE_CLUSTER) +class AqaraThermostatAgl001Init(_AqaraOppleInitBase): + """Aqara E1 radiator thermostat attribute init.""" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), + models=frozenset({"lumi.airrtc.agl001"}), + ) + _server_cluster_config = { + AQARA_OPPLE_CLUSTER: ClusterConfig( + attributes={ + "system_mode": AttrConfig(read_on_startup=False), + "preset": AttrConfig(read_on_startup=False), + "window_detection": AttrConfig(read_on_startup=False), + "valve_detection": AttrConfig(read_on_startup=False), + "valve_alarm": AttrConfig(read_on_startup=False), + "child_lock": AttrConfig(read_on_startup=False), + "away_preset_temperature": AttrConfig(read_on_startup=False), + "window_open": AttrConfig(read_on_startup=False), + "calibrated": AttrConfig(read_on_startup=False), + "schedule": AttrConfig(read_on_startup=False), + "sensor": AttrConfig(read_on_startup=False), + }, + ), + } + + +@register_entity(AQARA_OPPLE_CLUSTER) +class AqaraSmokeAcn03Init(_AqaraOppleInitBase): + """Aqara smoke sensor attribute init.""" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), + models=frozenset({"lumi.sensor_smoke.acn03"}), + ) + _server_cluster_config = { + AQARA_OPPLE_CLUSTER: ClusterConfig( + attributes={ + "buzzer_manual_mute": AttrConfig(read_on_startup=False), + "smoke_density": AttrConfig(read_on_startup=False), + "heartbeat_indicator": AttrConfig(read_on_startup=False), + "buzzer_manual_alarm": AttrConfig(read_on_startup=False), + "buzzer": AttrConfig(read_on_startup=False), + "linkage_alarm": AttrConfig(read_on_startup=False), + }, + ), + } + + +@register_entity(AQARA_OPPLE_CLUSTER) +class AqaraMagnetAc01Init(_AqaraOppleInitBase): + """Aqara P1 door sensor attribute init.""" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), + models=frozenset({"lumi.magnet.ac01"}), + ) + _server_cluster_config = { + AQARA_OPPLE_CLUSTER: ClusterConfig( + attributes={ + "detection_distance": AttrConfig(read_on_startup=False), + }, + ), + } + + +@register_entity(AQARA_OPPLE_CLUSTER) +class AqaraSwitchAcn047Init(_AqaraOppleInitBase): + """Aqara H1M wall switch attribute init.""" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), + models=frozenset({"lumi.switch.acn047"}), + ) + _server_cluster_config = { + AQARA_OPPLE_CLUSTER: ClusterConfig( + attributes={ + "switch_mode": AttrConfig(read_on_startup=False), + "switch_type": AttrConfig(read_on_startup=False), + "startup_on_off": AttrConfig(read_on_startup=False), + "decoupled_mode": AttrConfig(read_on_startup=False), + }, + ), + } + + +@register_entity(AQARA_OPPLE_CLUSTER) +class AqaraCurtainAgl001Init(_AqaraOppleInitBase): + """Aqara E1 curtain motor attribute init.""" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), + models=frozenset({"lumi.curtain.agl001"}), + ) + _server_cluster_config = { + AQARA_OPPLE_CLUSTER: ClusterConfig( + attributes={ + "hooks_state": AttrConfig(read_on_startup=False), + "hooks_lock": AttrConfig(read_on_startup=False), + "positions_stored": AttrConfig(read_on_startup=False), + "light_level": AttrConfig(read_on_startup=False), + "hand_open": AttrConfig(read_on_startup=False), + }, + ), + } + + +@register_entity(AQARA_OPPLE_CLUSTER) +class AqaraMotionDetectionIntervalSync(_AqaraOppleInitBase): + """Propagate the Aqara motion sensor's `detection_interval` to `ias_zone.reset_s`. + + Runs after attribute init so `detection_interval` is in the cache. + """ + + _unique_id_suffix = "aqara_motion_detection_interval_sync" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), + models=frozenset({"lumi.motion.ac02", "lumi.motion.agl04"}), + ) + + _server_cluster_config = { + AQARA_OPPLE_CLUSTER: ClusterConfig( + attributes={ + "detection_interval": AttrConfig(read_on_startup=False), + }, + ), + } + + async def async_initialize_cluster(self, cluster: zigpy.zcl.Cluster) -> None: + """Mirror detection_interval into the sibling IAS Zone handler.""" + interval = cluster.get("detection_interval", cluster.get(0x0102)) + if interval is None: + return + ias_zone = getattr(cluster.endpoint, "ias_zone", None) + if ias_zone is None: + return + self.debug("Loaded detection interval at startup: %s", interval) + ias_zone.reset_s = int(interval) + + +# === Other manufacturer-specific clusters === + +SONOFF_CLUSTER = 0xFC11 +TUYA_MANUFACTURER_CLUSTER = 0xEF00 +TUYA_PLUG_MANUFACTURER = "tuya.plug_manufacturer_attributes" + + +@register_entity(SONOFF_CLUSTER) +class SonoffPresenceSensorInit(VirtualEntity): + """Sonoff SNZB-06P presence sensor attribute init.""" + + _unique_id_suffix = "sonoff_presence_sensor_init" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({SONOFF_CLUSTER}), + models=frozenset({"SNZB-06P"}), + ) + _server_cluster_config = { + SONOFF_CLUSTER: ClusterConfig( + attributes={ + "last_illumination_state": AttrConfig(read_on_startup=False), + }, + ), + } + + +@register_entity(TUYA_MANUFACTURER_CLUSTER) +class TuyaPlugManufacturerInit(VirtualEntity): + """Tuya plug manufacturer-cluster attribute init.""" + + _unique_id_suffix = "tuya_plug_manufacturer_init" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({TUYA_MANUFACTURER_CLUSTER}), + exposed_features=frozenset({TUYA_PLUG_MANUFACTURER}), + ) + _server_cluster_config = { + TUYA_MANUFACTURER_CLUSTER: ClusterConfig( + attributes={ + "backlight_mode": AttrConfig(read_on_startup=False), + "power_on_state": AttrConfig(read_on_startup=False), + }, + ), + } + + +SINOPE_MANUFACTURER_CLUSTER = 0xFF01 + + +@register_entity(SINOPE_MANUFACTURER_CLUSTER) +class SinopeSwitchInit(VirtualEntity): + """Sinope SW2500/DM2500/DM2550 manufacturer-cluster init + reporting.""" + + _unique_id_suffix = "sinope_switch_init" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({SINOPE_MANUFACTURER_CLUSTER}), + models=frozenset( + { + "SW2500ZB", + "SW2500ZB-G2", + "DM2500ZB", + "DM2500ZB-G2", + "DM2550ZB", + "DM2550ZB-G2", + } + ), + ) + _server_cluster_config = { + SINOPE_MANUFACTURER_CLUSTER: ClusterConfig( + bind=True, + attributes={ + "double_up_full": AttrConfig(read_on_startup=False), + "on_led_color": AttrConfig(read_on_startup=False), + "off_led_color": AttrConfig(read_on_startup=False), + "off_led_intensity": AttrConfig(read_on_startup=False), + "on_led_intensity": AttrConfig(read_on_startup=False), + "action_report": AttrConfig( + read_on_startup=False, + reporting=(0, 0, 1), + ), + }, + ), + } + + +@register_entity(SINOPE_MANUFACTURER_CLUSTER) +class SinopeDimmerInit(VirtualEntity): + """Extra Sinope dimmer attribute (DM2500/DM2550 only).""" + + _unique_id_suffix = "sinope_dimmer_init" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({SINOPE_MANUFACTURER_CLUSTER}), + models=frozenset({"DM2500ZB", "DM2500ZB-G2", "DM2550ZB", "DM2550ZB-G2"}), + ) + _server_cluster_config = { + SINOPE_MANUFACTURER_CLUSTER: ClusterConfig( + attributes={ + "on_intensity": AttrConfig(read_on_startup=False), + }, + ), + } + + +INOVELLI_CLUSTER = 0xFC31 + + +@register_entity(INOVELLI_CLUSTER) +class InovelliVzm30Init(VirtualEntity): + """Inovelli VZM30-SN switch attribute init.""" + + _unique_id_suffix = "inovelli_vzm30_init" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), + models=frozenset({"VZM30-SN"}), + ) + _server_cluster_config = { + INOVELLI_CLUSTER: ClusterConfig( + attributes={ + name: AttrConfig(read_on_startup=fresh) + for name, fresh in { + "dimming_speed_up_remote": False, + "dimming_speed_up_local": False, + "ramp_rate_off_to_on_remote": False, + "ramp_rate_off_to_on_local": False, + "dimming_speed_down_remote": False, + "dimming_speed_down_local": False, + "ramp_rate_on_to_off_remote": False, + "ramp_rate_on_to_off_local": False, + "minimum_level": False, + "maximum_level": False, + "invert_switch": False, + "auto_off_timer": False, + "default_level_local": False, + "default_level_remote": False, + "state_after_power_restored": False, + "load_level_indicator_timeout": False, + "active_power_reports": False, + "periodic_power_and_energy_reports": False, + "active_energy_reports": False, + "power_type": True, + "switch_type": True, + "internal_temp_monitor": False, + "overheated": False, + "button_delay": True, + "smart_bulb_mode": True, + "led_color_when_on": False, + "led_color_when_off": False, + "led_intensity_when_on": False, + "led_intensity_when_off": False, + "led_scaling_mode": False, + "aux_switch_scenes": False, + "binding_off_to_on_sync_level": False, + "local_protection": True, + "output_mode": True, + "firmware_progress_led": False, + "disable_clear_notifications_double_tap": False, + }.items() + }, + ), + } + + +@register_entity(INOVELLI_CLUSTER) +class InovelliVzm31Init(VirtualEntity): + """Inovelli VZM31-SN dimmer attribute init.""" + + _unique_id_suffix = "inovelli_vzm31_init" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), + models=frozenset({"VZM31-SN"}), + ) + _server_cluster_config = { + INOVELLI_CLUSTER: ClusterConfig( + attributes={ + name: AttrConfig(read_on_startup=fresh) + for name, fresh in { + "dimming_speed_up_remote": False, + "dimming_speed_up_local": False, + "ramp_rate_off_to_on_remote": False, + "ramp_rate_off_to_on_local": False, + "dimming_speed_down_remote": False, + "dimming_speed_down_local": False, + "ramp_rate_on_to_off_remote": False, + "ramp_rate_on_to_off_local": False, + "minimum_level": False, + "maximum_level": False, + "invert_switch": False, + "auto_off_timer": False, + "default_level_local": False, + "default_level_remote": False, + "state_after_power_restored": False, + "load_level_indicator_timeout": False, + "active_power_reports": False, + "periodic_power_and_energy_reports": False, + "active_energy_reports": False, + "power_type": True, + "switch_type": True, + "quick_start_time": False, + "quick_start_level": False, + "increased_non_neutral_output": False, + "leading_or_trailing_edge": False, + "internal_temp_monitor": False, + "overheated": False, + "button_delay": True, + "smart_bulb_mode": True, + "double_tap_up_enabled": False, + "double_tap_down_enabled": False, + "double_tap_up_level": False, + "double_tap_down_level": False, + "led_color_when_on": False, + "led_color_when_off": False, + "led_intensity_when_on": False, + "led_intensity_when_off": False, + "led_scaling_mode": False, + "aux_switch_scenes": False, + "binding_off_to_on_sync_level": False, + "local_protection": True, + "output_mode": True, + "on_off_led_mode": False, + "firmware_progress_led": False, + "relay_click_in_on_off_mode": False, + "disable_clear_notifications_double_tap": False, + }.items() + }, + ), + } + + +@register_entity(INOVELLI_CLUSTER) +class InovelliVzm35Init(VirtualEntity): + """Inovelli VZM35-SN fan switch attribute init.""" + + _unique_id_suffix = "inovelli_vzm35_init" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), + models=frozenset({"VZM35-SN"}), + ) + _server_cluster_config = { + INOVELLI_CLUSTER: ClusterConfig( + attributes={ + name: AttrConfig(read_on_startup=fresh) + for name, fresh in { + "dimming_speed_up_remote": False, + "dimming_speed_up_local": False, + "ramp_rate_off_to_on_local": False, + "ramp_rate_off_to_on_remote": False, + "dimming_speed_down_remote": False, + "dimming_speed_down_local": False, + "ramp_rate_on_to_off_local": False, + "ramp_rate_on_to_off_remote": False, + "minimum_level": False, + "maximum_level": False, + "invert_switch": False, + "auto_off_timer": False, + "default_level_local": False, + "default_level_remote": False, + "state_after_power_restored": False, + "load_level_indicator_timeout": False, + "power_type": True, + "switch_type": True, + "non_neutral_aux_med_gear_learn_value": False, + "non_neutral_aux_low_gear_learn_value": False, + "quick_start_time": True, + "button_delay": True, + "smart_fan_mode": True, + "double_tap_up_enabled": False, + "double_tap_down_enabled": False, + "double_tap_up_level": False, + "double_tap_down_level": False, + "led_color_when_on": False, + "led_color_when_off": False, + "led_intensity_when_on": False, + "led_intensity_when_off": False, + "aux_switch_scenes": False, + "local_protection": True, + "output_mode": True, + "on_off_led_mode": False, + "firmware_progress_led": False, + "smart_fan_led_display_levels": False, + }.items() + }, + ), + } diff --git a/zha/zigbee/cluster_handlers/manufacturerspecific.py b/zha/zigbee/cluster_handlers/manufacturerspecific.py index f4f18b6fe..4bbc4f604 100644 --- a/zha/zigbee/cluster_handlers/manufacturerspecific.py +++ b/zha/zigbee/cluster_handlers/manufacturerspecific.py @@ -172,96 +172,6 @@ class InovelliConfigEntityClusterHandler(ClusterHandler): REPORT_CONFIG = () - elif self.cluster.endpoint.model == "VZM31-SN": - self.ZCL_INIT_ATTRS = { - "dimming_speed_up_remote": True, - "dimming_speed_up_local": True, - "ramp_rate_off_to_on_remote": True, - "ramp_rate_off_to_on_local": True, - "dimming_speed_down_remote": True, - "dimming_speed_down_local": True, - "ramp_rate_on_to_off_remote": True, - "ramp_rate_on_to_off_local": True, - "minimum_level": True, - "maximum_level": True, - "invert_switch": True, - "auto_off_timer": True, - "default_level_local": True, - "default_level_remote": True, - "state_after_power_restored": True, - "load_level_indicator_timeout": True, - "active_power_reports": True, - "periodic_power_and_energy_reports": True, - "active_energy_reports": True, - "power_type": False, - "switch_type": False, - "quick_start_time": True, - "quick_start_level": True, - "increased_non_neutral_output": True, - "leading_or_trailing_edge": True, - "internal_temp_monitor": True, - "overheated": True, - "button_delay": False, - "smart_bulb_mode": False, - "double_tap_up_enabled": True, - "double_tap_down_enabled": True, - "double_tap_up_level": True, - "double_tap_down_level": True, - "led_color_when_on": True, - "led_color_when_off": True, - "led_intensity_when_on": True, - "led_intensity_when_off": True, - "led_scaling_mode": True, - "aux_switch_scenes": True, - "binding_off_to_on_sync_level": True, - "local_protection": False, - "output_mode": False, - "on_off_led_mode": True, - "firmware_progress_led": True, - "relay_click_in_on_off_mode": True, - "disable_clear_notifications_double_tap": True, - } - elif self.cluster.endpoint.model == "VZM35-SN": - self.ZCL_INIT_ATTRS = { - "dimming_speed_up_remote": True, - "dimming_speed_up_local": True, - "ramp_rate_off_to_on_local": True, - "ramp_rate_off_to_on_remote": True, - "dimming_speed_down_remote": True, - "dimming_speed_down_local": True, - "ramp_rate_on_to_off_local": True, - "ramp_rate_on_to_off_remote": True, - "minimum_level": True, - "maximum_level": True, - "invert_switch": True, - "auto_off_timer": True, - "default_level_local": True, - "default_level_remote": True, - "state_after_power_restored": True, - "load_level_indicator_timeout": True, - "power_type": False, - "switch_type": False, - "non_neutral_aux_med_gear_learn_value": True, - "non_neutral_aux_low_gear_learn_value": True, - "quick_start_time": False, - "button_delay": False, - "smart_fan_mode": False, - "double_tap_up_enabled": True, - "double_tap_down_enabled": True, - "double_tap_up_level": True, - "double_tap_down_level": True, - "led_color_when_on": True, - "led_color_when_off": True, - "led_intensity_when_on": True, - "led_intensity_when_off": True, - "aux_switch_scenes": True, - "local_protection": False, - "output_mode": False, - "on_off_led_mode": True, - "firmware_progress_led": True, - "smart_fan_led_display_levels": True, - } - async def issue_all_led_effect( # pylint: disable=unused-argument self, effect_type: AllLEDEffectType | int = AllLEDEffectType.Fast_Blink, From 582d6bcf63801f3fc54202a14b54bcbb0d3127f2 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 12 May 2026 19:03:50 -0400 Subject: [PATCH 19/85] Move more cluster handlers --- zha/application/platforms/virtual.py | 56 ++++++++ .../cluster_handlers/manufacturerspecific.py | 133 +----------------- zha/zigbee/device.py | 6 + 3 files changed, 63 insertions(+), 132 deletions(-) diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py index a1bb36ce7..db0a79461 100644 --- a/zha/application/platforms/virtual.py +++ b/zha/application/platforms/virtual.py @@ -435,6 +435,20 @@ class _AqaraOppleInitBase(VirtualEntity): _unique_id_suffix = "aqara_opple_init" +@register_entity(AQARA_OPPLE_CLUSTER) +class AqaraOppleBind(VirtualEntity): + """Bind the Aqara Opple cluster on every device that exposes it.""" + + _unique_id_suffix = "aqara_opple_bind" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), + ) + _server_cluster_config = { + AQARA_OPPLE_CLUSTER: ClusterConfig(bind=True), + } + + @register_entity(AQARA_OPPLE_CLUSTER) class AqaraMotionAc02Init(_AqaraOppleInitBase): """Aqara P1 motion sensor attribute init.""" @@ -682,6 +696,20 @@ async def async_initialize_cluster(self, cluster: zigpy.zcl.Cluster) -> None: TUYA_PLUG_MANUFACTURER = "tuya.plug_manufacturer_attributes" +@register_entity(SONOFF_CLUSTER) +class SonoffManufacturerBind(VirtualEntity): + """Bind the Sonoff manufacturer cluster on every device that exposes it.""" + + _unique_id_suffix = "sonoff_manufacturer_bind" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({SONOFF_CLUSTER}), + ) + _server_cluster_config = { + SONOFF_CLUSTER: ClusterConfig(bind=True), + } + + @register_entity(SONOFF_CLUSTER) class SonoffPresenceSensorInit(VirtualEntity): """Sonoff SNZB-06P presence sensor attribute init.""" @@ -701,6 +729,20 @@ class SonoffPresenceSensorInit(VirtualEntity): } +@register_entity(TUYA_MANUFACTURER_CLUSTER) +class TuyaManufacturerBind(VirtualEntity): + """Bind the Tuya manufacturer cluster on every device that exposes it.""" + + _unique_id_suffix = "tuya_manufacturer_bind" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({TUYA_MANUFACTURER_CLUSTER}), + ) + _server_cluster_config = { + TUYA_MANUFACTURER_CLUSTER: ClusterConfig(bind=True), + } + + @register_entity(TUYA_MANUFACTURER_CLUSTER) class TuyaPlugManufacturerInit(VirtualEntity): """Tuya plug manufacturer-cluster attribute init.""" @@ -724,6 +766,20 @@ class TuyaPlugManufacturerInit(VirtualEntity): SINOPE_MANUFACTURER_CLUSTER = 0xFF01 +@register_entity(SINOPE_MANUFACTURER_CLUSTER) +class SinopeManufacturerBind(VirtualEntity): + """Bind the Sinope manufacturer cluster on every device that exposes it.""" + + _unique_id_suffix = "sinope_manufacturer_bind" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({SINOPE_MANUFACTURER_CLUSTER}), + ) + _server_cluster_config = { + SINOPE_MANUFACTURER_CLUSTER: ClusterConfig(bind=True), + } + + @register_entity(SINOPE_MANUFACTURER_CLUSTER) class SinopeSwitchInit(VirtualEntity): """Sinope SW2500/DM2500/DM2550 manufacturer-cluster init + reporting.""" diff --git a/zha/zigbee/cluster_handlers/manufacturerspecific.py b/zha/zigbee/cluster_handlers/manufacturerspecific.py index 4bbc4f604..5f8b0b0e7 100644 --- a/zha/zigbee/cluster_handlers/manufacturerspecific.py +++ b/zha/zigbee/cluster_handlers/manufacturerspecific.py @@ -2,10 +2,8 @@ from __future__ import annotations -import logging -from typing import TYPE_CHECKING, Any +from typing import TYPE_CHECKING -from zhaquirks.inovelli.types import AllLEDEffectType, SingleLEDEffectType from zhaquirks.quirk_ids import DANFOSS_ALLY_THERMOSTAT, XIAOMI_AQARA_VIBRATION_AQ1 import zigpy.zcl from zigpy.zcl import ( @@ -25,7 +23,6 @@ registries, ) from zha.zigbee.cluster_handlers.const import ( - AQARA_OPPLE_CLUSTER, IKEA_AIR_PURIFIER_CLUSTER, IKEA_REMOTE_CLUSTER, IKEA_SHORTCUT_V1_CLUSTER, @@ -37,13 +34,7 @@ REPORT_CONFIG_ASAP, REPORT_CONFIG_DEFAULT, REPORT_CONFIG_IMMEDIATE, - REPORT_CONFIG_MAX_INT, - REPORT_CONFIG_MIN_INT, - SINOPE_MANUFACTURER_CLUSTER, SMARTTHINGS_ACCELERATION_CLUSTER, - SMARTTHINGS_HUMIDITY_CLUSTER, - SONOFF_CLUSTER, - TUYA_MANUFACTURER_CLUSTER, ) from zha.zigbee.cluster_handlers.general import MultistateInputClusterHandler @@ -53,20 +44,6 @@ if TYPE_CHECKING: from zha.zigbee.endpoint import Endpoint -_LOGGER = logging.getLogger(__name__) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(SMARTTHINGS_HUMIDITY_CLUSTER) -class SmartThingsHumidityClusterHandler(ClusterHandler): - """Smart Things Humidity cluster handler.""" - - REPORT_CONFIG = ( - { - "attr": "measured_value", - "config": (REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 50), - }, - ) - @registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(OSRAM_BUTTON_CLUSTER) @registries.CLUSTER_HANDLER_REGISTRY.register(OSRAM_BUTTON_CLUSTER) @@ -95,31 +72,6 @@ class PhillipsRemoteClusterHandler(ClusterHandler): REPORT_CONFIG = () -@registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(TUYA_MANUFACTURER_CLUSTER) -@registries.CLUSTER_HANDLER_REGISTRY.register(TUYA_MANUFACTURER_CLUSTER) -class TuyaClusterHandler(ClusterHandler): - """Cluster handler for the Tuya manufacturer Zigbee cluster. - - Per-feature attribute init lives on the `TuyaPlugManufacturerInit` virtual - entity now. - """ - - REPORT_CONFIG = () - - -@registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(AQARA_OPPLE_CLUSTER) -@registries.CLUSTER_HANDLER_REGISTRY.register(AQARA_OPPLE_CLUSTER) -class OppleRemoteClusterHandler(ClusterHandler): - """Opple cluster handler. - - Per-model attribute init lives on the `Aqara*Init` virtual entities now. - The cross-cluster `detection_interval` -> `ias_zone.reset_s` write is - handled by `AqaraMotionDetectionIntervalSync`. - """ - - REPORT_CONFIG: tuple[AttrReportConfig, ...] = () - - @registries.CLUSTER_HANDLER_REGISTRY.register(SMARTTHINGS_ACCELERATION_CLUSTER) class SmartThingsAccelerationClusterHandler(ClusterHandler): """Smart Things Acceleration cluster handler. @@ -162,50 +114,6 @@ def cluster_command(self, tsn, command_id, args): """Handle a cluster command received on this cluster.""" -@registries.CLUSTER_HANDLER_REGISTRY.register(INOVELLI_CLUSTER) -class InovelliConfigEntityClusterHandler(ClusterHandler): - """Inovelli Configuration Entity cluster handler. - - Per-model attribute init lives on the `InovelliVzm30/31/35Init` virtual - entities now. - """ - - REPORT_CONFIG = () - - async def issue_all_led_effect( # pylint: disable=unused-argument - self, - effect_type: AllLEDEffectType | int = AllLEDEffectType.Fast_Blink, - color: int = 200, - level: int = 100, - duration: int = 3, - **kwargs: Any, - ) -> None: - """Issue all LED effect command. - - This command is used to issue an LED effect to all LEDs on the device. - """ - - await self.led_effect(effect_type, color, level, duration, expect_reply=False) - - async def issue_individual_led_effect( # pylint: disable=too-many-arguments,unused-argument - self, - led_number: int = 1, - effect_type: SingleLEDEffectType | int = SingleLEDEffectType.Fast_Blink, - color: int = 200, - level: int = 100, - duration: int = 3, - **kwargs: Any, - ) -> None: - """Issue individual LED effect command. - - This command is used to issue an LED effect to the specified LED on the device. - """ - - await self.individual_led_effect( - led_number, effect_type, color, level, duration, expect_reply=False - ) - - @registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(IKEA_AIR_PURIFIER_CLUSTER) @registries.CLUSTER_HANDLER_REGISTRY.register(IKEA_AIR_PURIFIER_CLUSTER) class IkeaAirPurifierClusterHandler(ClusterHandler): @@ -283,16 +191,6 @@ class XiaomiVibrationAQ1ClusterHandler(MultistateInputClusterHandler): """Xiaomi DoorLock Cluster is in fact a MultiStateInput Cluster.""" -@registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(SONOFF_CLUSTER) -@registries.CLUSTER_HANDLER_REGISTRY.register(SONOFF_CLUSTER) -class SonoffPresenceSenorClusterHandler(ClusterHandler): - """SonoffPresenceSensor cluster handler. - - Per-model attribute init lives on the `SonoffPresenceSensorInit` virtual - entity now. - """ - - @registries.CLUSTER_HANDLER_REGISTRY.register( Thermostat.cluster_id, DANFOSS_ALLY_THERMOSTAT ) @@ -355,35 +253,6 @@ class DanfossDiagnosticClusterHandler(DiagnosticClusterHandler): ) -@registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(SINOPE_MANUFACTURER_CLUSTER) -@registries.CLUSTER_HANDLER_REGISTRY.register(SINOPE_MANUFACTURER_CLUSTER) -class SinopeManufacturerClusterHandler(ClusterHandler): - """Sinope Manufacturer cluster handler.""" - - BIND = True - - _value_attribute = "action_report" - REPORT_CONFIG = () - - @classmethod - def matches(cls, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> bool: - """Filter the cluster match for specific devices.""" - switches = ( - "SW2500ZB", - "SW2500ZB-G2", - "DM2500ZB", - "DM2500ZB-G2", - "DM2550ZB", - "DM2550ZB-G2", - ) - - _LOGGER.debug( - "matching sinope device to cluster handler %s", cluster.endpoint.model - ) - - return cluster.endpoint.model in switches - - @registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(LEGRAND_CABLE_OUTLET_CLUSTER) @registries.CLUSTER_HANDLER_REGISTRY.register(LEGRAND_CABLE_OUTLET_CLUSTER) class LegrandCableOutletClusterHandler(ClusterHandler): diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index ca804dcae..09497dc14 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -1026,6 +1026,9 @@ def _is_entity_removed_by_quirk(self, entity: PlatformEntity) -> bool: if self.quirk_metadata is None: return False + if entity._virtual: + return False + for meta in self.quirk_metadata.disabled_default_entities: _LOGGER.debug("Checking if entity %s is removed by %s", entity, meta) @@ -1055,6 +1058,9 @@ def _apply_entity_metadata_changes(self, entity: PlatformEntity) -> None: if self.quirk_metadata is None: return + if entity._virtual: + return + for meta in self.quirk_metadata.changed_entity_metadata: if meta.unique_id_suffix is not None and not entity.unique_id.endswith( meta.unique_id_suffix From 69a486fc26b4d5d24e705b88773ba9afdce1f913 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 12 May 2026 19:28:26 -0400 Subject: [PATCH 20/85] WIP: move async_update --- zha/application/platforms/__init__.py | 15 ++-- .../platforms/binary_sensor/__init__.py | 23 ++++-- zha/application/platforms/cover/__init__.py | 15 ++++ zha/application/platforms/fan/__init__.py | 23 ++++++ zha/application/platforms/lock/__init__.py | 9 +++ zha/application/platforms/number/__init__.py | 2 +- zha/application/platforms/sensor/__init__.py | 72 +++++++++++++++++++ zha/application/platforms/switch.py | 23 ++++++ zha/zigbee/cluster_handlers/__init__.py | 3 - zha/zigbee/cluster_handlers/closures.py | 34 +-------- zha/zigbee/cluster_handlers/general.py | 28 -------- zha/zigbee/cluster_handlers/homeautomation.py | 42 ----------- zha/zigbee/cluster_handlers/hvac.py | 6 -- .../cluster_handlers/manufacturerspecific.py | 5 -- zha/zigbee/cluster_handlers/security.py | 6 -- zha/zigbee/cluster_handlers/smartenergy.py | 11 --- 16 files changed, 167 insertions(+), 150 deletions(-) diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index 6e0cfb1a4..5ace753f8 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -641,16 +641,11 @@ def state(self) -> dict[str, Any]: return state async def async_update(self) -> None: - """Retrieve latest state.""" - self.debug("polling current state") - tasks = [ - cluster_handler.async_update() - for cluster_handler in self.cluster_handlers.values() - if hasattr(cluster_handler, "async_update") - ] - if tasks: - await asyncio.gather(*tasks) - self.maybe_emit_state_changed_event() + """Retrieve latest state. + + Default no-op: subclasses that need polling override this to read their + own attributes directly from the relevant cluster(s). + """ class GroupEntity(BaseEntity): diff --git a/zha/application/platforms/binary_sensor/__init__.py b/zha/application/platforms/binary_sensor/__init__.py index 293edced0..b377cde6d 100644 --- a/zha/application/platforms/binary_sensor/__init__.py +++ b/zha/application/platforms/binary_sensor/__init__.py @@ -18,6 +18,7 @@ from zigpy.zcl.clusters.security import IasZone from zha.application import Platform +from zha.application.helpers import safe_read from zha.application.platforms import ( AttrConfig, BaseEntityInfo, @@ -154,10 +155,15 @@ def handle_cluster_handler_attribute_updated( async def async_update(self) -> None: """Attempt to retrieve on off state from the binary sensor.""" - await super().async_update() - attribute = getattr(self._cluster_handler, "value_attribute", "on_off") - # this is a cached read to get the value for state mgt so there is no double read - attr_value = await self._cluster_handler.get_attribute_value(attribute) + self.debug("polling current state") + attribute = self._attribute_name or "on_off" + result = await safe_read( + self._cluster_handler.cluster, + [attribute], + allow_cache=False, + only_cache=False, + ) + attr_value = result.get(attribute) if attr_value is not None: self._state = attr_value self.maybe_emit_state_changed_event() @@ -402,7 +408,14 @@ def parse(value: bool | int) -> bool: async def async_update(self) -> None: """Attempt to retrieve on off state from the IAS Zone sensor.""" - await PlatformEntity.async_update(self) + self.debug("polling current state") + await safe_read( + self._cluster_handler.cluster, + [self._attribute_name], + allow_cache=False, + only_cache=False, + ) + self.maybe_emit_state_changed_event() @register_entity(IasZone.cluster_id) diff --git a/zha/application/platforms/cover/__init__.py b/zha/application/platforms/cover/__init__.py index 51919a454..e539e9f13 100644 --- a/zha/application/platforms/cover/__init__.py +++ b/zha/application/platforms/cover/__init__.py @@ -15,6 +15,7 @@ from zigpy.zcl.foundation import Status from zha.application import Platform +from zha.application.helpers import safe_read from zha.application.platforms import ( AttrConfig, ClusterConfig, @@ -616,6 +617,20 @@ def async_update_state(self, state): self._tilt_state = None self.maybe_emit_state_changed_event() + async def async_update(self) -> None: + """Retrieve latest state.""" + self.debug("polling current state") + await safe_read( + self._cover_cluster_handler.cluster, + [ + WCAttrs.current_position_lift_percentage.name, + WCAttrs.current_position_tilt_percentage.name, + ], + allow_cache=False, + only_cache=False, + ) + self.maybe_emit_state_changed_event() + async def async_open_cover(self) -> None: """Open the cover.""" self._set_lift_transition_target(POSITION_OPEN) diff --git a/zha/application/platforms/fan/__init__.py b/zha/application/platforms/fan/__init__.py index 71c324a15..c7b74704c 100644 --- a/zha/application/platforms/fan/__init__.py +++ b/zha/application/platforms/fan/__init__.py @@ -11,6 +11,7 @@ from zigpy.zcl.clusters import hvac from zha.application import Platform +from zha.application.helpers import safe_read from zha.application.platforms import ( AttrConfig, BaseEntity, @@ -322,6 +323,17 @@ async def _async_set_fan_mode(self, fan_mode: int) -> None: await self._fan_cluster_handler.async_set_speed(fan_mode) self.maybe_emit_state_changed_event() + async def async_update(self) -> None: + """Retrieve latest state.""" + self.debug("polling current state") + await safe_read( + self._fan_cluster_handler.cluster, + [hvac.Fan.AttributeDefs.fan_mode.name], + allow_cache=False, + only_cache=False, + ) + self.maybe_emit_state_changed_event() + @register_group_entity class FanGroup(BaseFan, GroupEntity): @@ -482,6 +494,17 @@ async def async_set_percentage(self, percentage: int) -> None: fan_mode = 2 await self._async_set_fan_mode(fan_mode) + async def async_update(self) -> None: + """Retrieve latest state.""" + self.debug("polling current state") + await safe_read( + self._fan_cluster_handler.cluster, + ["fan_mode", "fan_speed"], + allow_cache=False, + only_cache=False, + ) + self.maybe_emit_state_changed_event() + @register_entity(hvac.Fan.cluster_id) class KofFan(Fan): diff --git a/zha/application/platforms/lock/__init__.py b/zha/application/platforms/lock/__init__.py index 90003d991..ca8179e9c 100644 --- a/zha/application/platforms/lock/__init__.py +++ b/zha/application/platforms/lock/__init__.py @@ -172,6 +172,15 @@ def handle_cluster_handler_attribute_updated( self._state = VALUE_TO_STATE.get(event.attribute_value, self._state) self.maybe_emit_state_changed_event() + async def async_update(self) -> None: + """Refresh state from the cluster cache.""" + value = self._doorlock_cluster_handler.cluster.get( + DoorLockCluster.AttributeDefs.lock_state.name + ) + if value is not None: + self._state = VALUE_TO_STATE.get(value, self._state) + self.maybe_emit_state_changed_event() + def restore_external_state_attributes( self, *, diff --git a/zha/application/platforms/number/__init__.py b/zha/application/platforms/number/__init__.py index b16d5d841..5e1cd01ed 100644 --- a/zha/application/platforms/number/__init__.py +++ b/zha/application/platforms/number/__init__.py @@ -340,7 +340,6 @@ async def async_set_native_value(self, value: float) -> None: async def async_update(self) -> None: """Attempt to retrieve the state of the entity.""" - await super().async_update() _LOGGER.debug("polling current state") if self._cluster_handler: value = await self._cluster_handler.get_attribute_value( @@ -348,6 +347,7 @@ async def async_update(self) -> None: ) _LOGGER.debug("read value=%s", value) # The attribute update handler below takes care of the rest + self.maybe_emit_state_changed_event() def handle_cluster_handler_attribute_updated( self, diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 54d1961d6..8186ef156 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -52,6 +52,7 @@ ) from zha.application import Platform +from zha.application.helpers import safe_read from zha.application.platforms import ( AttrConfig, BaseEntity, @@ -383,6 +384,19 @@ def formatter(self, value: Any) -> date | datetime | int | float | str | None: return value + async def async_update(self) -> None: + """Retrieve latest state.""" + if self._attribute_name is None: + return + self.debug("polling current state") + await safe_read( + self._cluster_handler.cluster, + [self._attribute_name], + allow_cache=False, + only_cache=False, + ) + self.maybe_emit_state_changed_event() + class TimestampSensor(Sensor): """Timestamp ZHA sensor.""" @@ -1077,6 +1091,38 @@ class ReportingElectricalMeasurement(ElectricalMeasurementActivePower): ) +_ELECTRICAL_MEASUREMENT_POLLING_ATTRS = [ + ElectricalMeasurement.AttributeDefs.ac_frequency.name, + ElectricalMeasurement.AttributeDefs.ac_frequency_max.name, + ElectricalMeasurement.AttributeDefs.active_power.name, + ElectricalMeasurement.AttributeDefs.active_power_ph_b.name, + ElectricalMeasurement.AttributeDefs.active_power_ph_c.name, + ElectricalMeasurement.AttributeDefs.active_power_max.name, + ElectricalMeasurement.AttributeDefs.active_power_max_ph_b.name, + ElectricalMeasurement.AttributeDefs.active_power_max_ph_c.name, + ElectricalMeasurement.AttributeDefs.total_active_power.name, + ElectricalMeasurement.AttributeDefs.apparent_power.name, + ElectricalMeasurement.AttributeDefs.power_factor.name, + ElectricalMeasurement.AttributeDefs.power_factor_ph_b.name, + ElectricalMeasurement.AttributeDefs.power_factor_ph_c.name, + ElectricalMeasurement.AttributeDefs.rms_current.name, + ElectricalMeasurement.AttributeDefs.rms_current_ph_b.name, + ElectricalMeasurement.AttributeDefs.rms_current_ph_c.name, + ElectricalMeasurement.AttributeDefs.rms_current_max.name, + ElectricalMeasurement.AttributeDefs.rms_current_max_ph_b.name, + ElectricalMeasurement.AttributeDefs.rms_current_max_ph_c.name, + ElectricalMeasurement.AttributeDefs.rms_voltage.name, + ElectricalMeasurement.AttributeDefs.rms_voltage_ph_b.name, + ElectricalMeasurement.AttributeDefs.rms_voltage_ph_c.name, + ElectricalMeasurement.AttributeDefs.rms_voltage_max.name, + ElectricalMeasurement.AttributeDefs.rms_voltage_max_ph_b.name, + ElectricalMeasurement.AttributeDefs.rms_voltage_max_ph_c.name, + ElectricalMeasurement.AttributeDefs.dc_voltage.name, + ElectricalMeasurement.AttributeDefs.dc_current.name, + ElectricalMeasurement.AttributeDefs.dc_power.name, +] + + @register_entity(ElectricalMeasurement.cluster_id) class PolledElectricalMeasurement(ElectricalMeasurementActivePower): """Polled active power measurement that polls all relevant EM attributes.""" @@ -1088,6 +1134,18 @@ class PolledElectricalMeasurement(ElectricalMeasurementActivePower): feature_priority=(PlatformFeatureGroup.EM_ACTIVE_POWER, 0), ) + async def async_update(self) -> None: + """Poll the full EM attribute list so sibling EM entities update too.""" + self.debug("polling current state") + cluster = self._cluster_handler.cluster + attrs = [ + attr + for attr in _ELECTRICAL_MEASUREMENT_POLLING_ATTRS + if not cluster.is_attribute_unsupported(attr) + ] + await safe_read(cluster, attrs, allow_cache=False, only_cache=False) + self.maybe_emit_state_changed_event() + @register_entity(ElectricalMeasurement.cluster_id) class UbisysPolledElectricalMeasurement(PolledElectricalMeasurement): @@ -1872,6 +1930,20 @@ class PolledSmartEnergySummation(SmartEnergySummation): feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION, 1), ) + async def async_update(self) -> None: + """Poll every reported Metering attribute so sibling entities update too.""" + self.debug("polling current state") + cluster = self._cluster_handler.cluster + config = self._server_cluster_config[Metering.cluster_id] + attrs = [ + attr_def.name + for attr_def, attr_cfg in config.attributes.items() + if attr_cfg.reporting is not None + and not cluster.is_attribute_unsupported(attr_def.name) + ] + await safe_read(cluster, attrs, allow_cache=False, only_cache=False) + self.maybe_emit_state_changed_event() + @register_entity(Metering.cluster_id) class ExposedFeaturePolledSmartEnergySummation(PolledSmartEnergySummation): diff --git a/zha/application/platforms/switch.py b/zha/application/platforms/switch.py index 32b1ffcf9..99e66ad69 100644 --- a/zha/application/platforms/switch.py +++ b/zha/application/platforms/switch.py @@ -17,6 +17,7 @@ from zigpy.zcl.foundation import Status from zha.application import Platform +from zha.application.helpers import safe_read from zha.application.platforms import ( AttrConfig, BaseEntity, @@ -221,6 +222,17 @@ def handle_cluster_handler_attribute_updated( if event.attribute_name == self._attribute_name: self.maybe_emit_state_changed_event() + async def async_update(self) -> None: + """Retrieve latest state.""" + self.debug("polling current state") + await safe_read( + self._on_off_cluster_handler.cluster, + [self._attribute_name], + allow_cache=False, + only_cache=False, + ) + self.maybe_emit_state_changed_event() + @register_entity(BinaryOutput.cluster_id) class BinaryOutputSwitch(PlatformEntity, BaseSwitch): @@ -306,6 +318,17 @@ def handle_cluster_handler_attribute_updated( if event.attribute_name == BinaryOutput.AttributeDefs.present_value.name: self.maybe_emit_state_changed_event() + async def async_update(self) -> None: + """Retrieve latest state.""" + self.debug("polling current state") + await safe_read( + self._binary_output_cluster_handler.cluster, + [BinaryOutput.AttributeDefs.present_value.name], + allow_cache=False, + only_cache=False, + ) + self.maybe_emit_state_changed_event() + @register_group_entity class SwitchGroup(GroupEntity, BaseSwitch): diff --git a/zha/zigbee/cluster_handlers/__init__.py b/zha/zigbee/cluster_handlers/__init__.py index 052a78c37..4debb32ea 100644 --- a/zha/zigbee/cluster_handlers/__init__.py +++ b/zha/zigbee/cluster_handlers/__init__.py @@ -557,9 +557,6 @@ def emit_zha_event(self, command: str, arg: list | dict | CommandSchema) -> None } ) - async def async_update(self) -> None: - """Retrieve latest state from cluster.""" - def _get_attribute_name(self, attrid: int) -> str | int: if attrid not in self.cluster.attributes: return attrid diff --git a/zha/zigbee/cluster_handlers/closures.py b/zha/zigbee/cluster_handlers/closures.py index 5b2a61849..637c64c1a 100644 --- a/zha/zigbee/cluster_handlers/closures.py +++ b/zha/zigbee/cluster_handlers/closures.py @@ -8,14 +8,10 @@ from zha.zigbee.cluster_handlers import ( AttrReportConfig, ClientClusterHandler, - ClusterAttributeUpdatedEvent, ClusterHandler, registries, ) -from zha.zigbee.cluster_handlers.const import ( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - REPORT_CONFIG_IMMEDIATE, -) +from zha.zigbee.cluster_handlers.const import REPORT_CONFIG_IMMEDIATE @registries.CLUSTER_HANDLER_REGISTRY.register(DoorLock.cluster_id) @@ -30,23 +26,6 @@ class DoorLockClusterHandler(ClusterHandler): ), ) - async def async_update(self): - """Retrieve latest state.""" - result = await self.get_attribute_value( - DoorLock.AttributeDefs.lock_state.name, from_cache=True - ) - if result is not None: - self.emit( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - ClusterAttributeUpdatedEvent( - attribute_id=DoorLock.AttributeDefs.lock_state.id, - attribute_name=DoorLock.AttributeDefs.lock_state.name, - attribute_value=result, - cluster_handler_unique_id=self.unique_id, - cluster_id=self.cluster.cluster_id, - ), - ) - async def async_set_user_code(self, code_slot: int, user_code: str) -> None: """Set the user code for the code slot.""" @@ -131,17 +110,6 @@ class WindowCoveringClusterHandler(ClusterHandler): WindowCovering.AttributeDefs.installed_open_limit_tilt.name: True, } - async def async_update(self): - """Retrieve latest state.""" - await self.get_attributes( - [ - WindowCovering.AttributeDefs.current_position_lift_percentage.name, - WindowCovering.AttributeDefs.current_position_tilt_percentage.name, - ], - from_cache=False, - only_cache=False, - ) - @property def inverted(self): """Return true if the window covering is inverted.""" diff --git a/zha/zigbee/cluster_handlers/general.py b/zha/zigbee/cluster_handlers/general.py index f4bda972d..08de590bc 100644 --- a/zha/zigbee/cluster_handlers/general.py +++ b/zha/zigbee/cluster_handlers/general.py @@ -159,12 +159,6 @@ def application_type(self) -> ApplicationType | None: return None return ApplicationType(result) - async def async_update(self): - """Update cluster value attribute.""" - await self.get_attribute_value( - AnalogInput.AttributeDefs.present_value.name, from_cache=False - ) - @registries.BINDABLE_CLUSTERS.register(AnalogOutput.cluster_id) @registries.CLUSTER_HANDLER_REGISTRY.register(AnalogOutput.cluster_id) @@ -233,12 +227,6 @@ async def async_set_present_value(self, value: float) -> None: {AnalogOutput.AttributeDefs.present_value.name: value} ) - async def async_update(self): - """Update cluster value attribute.""" - await self.get_attribute_value( - AnalogOutput.AttributeDefs.present_value.name, from_cache=False - ) - @registries.CLUSTER_HANDLER_REGISTRY.register(AnalogValue.cluster_id) class AnalogValueClusterHandler(ClusterHandler): @@ -334,12 +322,6 @@ async def async_set_present_value(self, value: bool) -> None: {BinaryOutput.AttributeDefs.present_value.name: value} ) - async def async_update(self): - """Update cluster value attribute.""" - await self.get_attribute_value( - BinaryOutput.AttributeDefs.present_value.name, from_cache=False - ) - @registries.CLUSTER_HANDLER_REGISTRY.register(BinaryValue.cluster_id) class BinaryValueClusterHandler(ClusterHandler): @@ -569,16 +551,6 @@ async def turn_off(self) -> None: raise ZHAException(f"Failed to turn off: {result[1]}") self.cluster.update_attribute(OnOff.AttributeDefs.on_off.id, t.Bool.false) - async def async_update(self): - """Initialize cluster handler.""" - if self.cluster.is_client: - return - from_cache = not self._endpoint.device.is_mains_powered - self.debug("attempting to update onoff state - from cache: %s", from_cache) - await self.get_attribute_value( - OnOff.AttributeDefs.on_off.name, from_cache=from_cache - ) - @registries.CLUSTER_HANDLER_REGISTRY.register(OnOffConfiguration.cluster_id) class OnOffConfigurationClusterHandler(ClusterHandler): diff --git a/zha/zigbee/cluster_handlers/homeautomation.py b/zha/zigbee/cluster_handlers/homeautomation.py index f8c85b9f2..5bf0c16c9 100644 --- a/zha/zigbee/cluster_handlers/homeautomation.py +++ b/zha/zigbee/cluster_handlers/homeautomation.py @@ -178,36 +178,6 @@ class MeasurementType(enum.IntFlag): config=REPORT_CONFIG_OP, ), ) - ZCL_POLLING_ATTRS = [ - ElectricalMeasurement.AttributeDefs.ac_frequency.name, - ElectricalMeasurement.AttributeDefs.ac_frequency_max.name, - ElectricalMeasurement.AttributeDefs.active_power.name, - ElectricalMeasurement.AttributeDefs.active_power_ph_b.name, - ElectricalMeasurement.AttributeDefs.active_power_ph_c.name, - ElectricalMeasurement.AttributeDefs.active_power_max.name, - ElectricalMeasurement.AttributeDefs.active_power_max_ph_b.name, - ElectricalMeasurement.AttributeDefs.active_power_max_ph_c.name, - ElectricalMeasurement.AttributeDefs.total_active_power.name, - ElectricalMeasurement.AttributeDefs.apparent_power.name, - ElectricalMeasurement.AttributeDefs.power_factor.name, - ElectricalMeasurement.AttributeDefs.power_factor_ph_b.name, - ElectricalMeasurement.AttributeDefs.power_factor_ph_c.name, - ElectricalMeasurement.AttributeDefs.rms_current.name, - ElectricalMeasurement.AttributeDefs.rms_current_ph_b.name, - ElectricalMeasurement.AttributeDefs.rms_current_ph_c.name, - ElectricalMeasurement.AttributeDefs.rms_current_max.name, - ElectricalMeasurement.AttributeDefs.rms_current_max_ph_b.name, - ElectricalMeasurement.AttributeDefs.rms_current_max_ph_c.name, - ElectricalMeasurement.AttributeDefs.rms_voltage.name, - ElectricalMeasurement.AttributeDefs.rms_voltage_ph_b.name, - ElectricalMeasurement.AttributeDefs.rms_voltage_ph_c.name, - ElectricalMeasurement.AttributeDefs.rms_voltage_max.name, - ElectricalMeasurement.AttributeDefs.rms_voltage_max_ph_b.name, - ElectricalMeasurement.AttributeDefs.rms_voltage_max_ph_c.name, - ElectricalMeasurement.AttributeDefs.dc_voltage.name, - ElectricalMeasurement.AttributeDefs.dc_current.name, - ElectricalMeasurement.AttributeDefs.dc_power.name, - ] ZCL_INIT_ATTRS = { ElectricalMeasurement.AttributeDefs.ac_frequency_divisor.name: True, ElectricalMeasurement.AttributeDefs.ac_frequency_max.name: True, @@ -233,18 +203,6 @@ class MeasurementType(enum.IntFlag): ElectricalMeasurement.AttributeDefs.dc_power_multiplier.name: True, } - async def async_update(self): - """Retrieve latest state.""" - self.debug("async_update") - - # This is a polling cluster handler. Don't allow cache. - attrs = [ - attr - for attr in self.ZCL_POLLING_ATTRS - if not self.cluster.is_attribute_unsupported(attr) - ] - await self.get_attributes(attrs, from_cache=False, only_cache=False) - @property def ac_current_divisor(self) -> int: """Return ac current divisor.""" diff --git a/zha/zigbee/cluster_handlers/hvac.py b/zha/zigbee/cluster_handlers/hvac.py index 2e1d5d6c4..3b14fdcb5 100644 --- a/zha/zigbee/cluster_handlers/hvac.py +++ b/zha/zigbee/cluster_handlers/hvac.py @@ -52,12 +52,6 @@ async def async_set_speed(self, value) -> None: """Set the speed of the fan.""" await self.write_attributes_safe({Fan.AttributeDefs.fan_mode.name: value}) - async def async_update(self) -> None: - """Retrieve latest state.""" - await self.get_attribute_value( - Fan.AttributeDefs.fan_mode.name, from_cache=False - ) - @registries.CLUSTER_HANDLER_REGISTRY.register(Pump.cluster_id) class PumpClusterHandler(ClusterHandler): diff --git a/zha/zigbee/cluster_handlers/manufacturerspecific.py b/zha/zigbee/cluster_handlers/manufacturerspecific.py index 5f8b0b0e7..fa45ddc81 100644 --- a/zha/zigbee/cluster_handlers/manufacturerspecific.py +++ b/zha/zigbee/cluster_handlers/manufacturerspecific.py @@ -150,11 +150,6 @@ async def async_set_speed(self, value) -> None: """Set the speed of the fan.""" await self.write_attributes_safe({"fan_mode": value}) - async def async_update(self) -> None: - """Retrieve latest state.""" - await self.get_attribute_value("fan_mode", from_cache=False) - await self.get_attribute_value("fan_speed", from_cache=False) - @registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(IKEA_REMOTE_CLUSTER) @registries.CLIENT_CLUSTER_HANDLER_REGISTRY.register(IKEA_REMOTE_CLUSTER) diff --git a/zha/zigbee/cluster_handlers/security.py b/zha/zigbee/cluster_handlers/security.py index 3859b84c3..38d92be2c 100644 --- a/zha/zigbee/cluster_handlers/security.py +++ b/zha/zigbee/cluster_handlers/security.py @@ -338,9 +338,3 @@ class IASZoneClusterHandler(ClusterHandler): IasZone.AttributeDefs.zone_state.name: True, IasZone.AttributeDefs.zone_type.name: True, } - - async def async_update(self) -> None: - """Retrieve latest state.""" - await self.get_attribute_value( - IasZone.AttributeDefs.zone_status.name, from_cache=False - ) diff --git a/zha/zigbee/cluster_handlers/smartenergy.py b/zha/zigbee/cluster_handlers/smartenergy.py index b091da428..c3807d084 100644 --- a/zha/zigbee/cluster_handlers/smartenergy.py +++ b/zha/zigbee/cluster_handlers/smartenergy.py @@ -307,17 +307,6 @@ def summation_formatting(self) -> int | None: """Return summation formatting.""" return self.cluster.get(Metering.AttributeDefs.summation_formatting.name) - async def async_update(self) -> None: - """Retrieve latest state.""" - self.debug("async_update") - - attrs = [ - a["attr"] - for a in self.REPORT_CONFIG - if not self.cluster.is_attribute_unsupported(a["attr"]) - ] - await self.get_attributes(attrs, from_cache=False, only_cache=False) - @registries.CLUSTER_HANDLER_REGISTRY.register(Prepayment.cluster_id) class PrepaymentClusterHandler(ClusterHandler): From c33fe8977fe5ec33e194c9352dbe8d5626e2e624 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Fri, 15 May 2026 23:28:08 -0400 Subject: [PATCH 21/85] WIP --- zha/application/discovery.py | 1 - zha/application/platforms/device_tracker.py | 11 +- zha/application/platforms/light/__init__.py | 13 +- zha/application/platforms/number/__init__.py | 4 +- zha/zigbee/cluster_handlers/closures.py | 10 - zha/zigbee/cluster_handlers/general.py | 119 ------------ zha/zigbee/cluster_handlers/homeautomation.py | 20 -- zha/zigbee/cluster_handlers/hvac.py | 10 - zha/zigbee/cluster_handlers/lighting.py | 26 +-- zha/zigbee/cluster_handlers/measurement.py | 171 ------------------ zha/zigbee/cluster_handlers/protocol.py | 126 ------------- zha/zigbee/cluster_handlers/smartenergy.py | 70 +------ 12 files changed, 16 insertions(+), 565 deletions(-) delete mode 100644 zha/zigbee/cluster_handlers/protocol.py diff --git a/zha/application/discovery.py b/zha/application/discovery.py index 10cbba030..5109d1004 100644 --- a/zha/application/discovery.py +++ b/zha/application/discovery.py @@ -63,7 +63,6 @@ lightlink, manufacturerspecific, measurement, - protocol, security, smartenergy, ) diff --git a/zha/application/platforms/device_tracker.py b/zha/application/platforms/device_tracker.py index e08915cb6..769cec685 100644 --- a/zha/application/platforms/device_tracker.py +++ b/zha/application/platforms/device_tracker.py @@ -6,7 +6,7 @@ from enum import StrEnum import functools import time -from typing import TYPE_CHECKING, Any, cast +from typing import TYPE_CHECKING, Any from zigpy.profiles import zha from zigpy.zcl.clusters.general import PowerConfiguration @@ -27,7 +27,7 @@ CLUSTER_HANDLER_POWER_CONFIGURATION, REPORT_CONFIG_BATTERY_SAVE, ) -from zha.zigbee.cluster_handlers.general import PowerConfigurationClusterHandler +from zha.zigbee.cluster_handlers import ClusterHandler if TYPE_CHECKING: from zha.zigbee.cluster_handlers import ClusterHandler @@ -134,10 +134,9 @@ def __init__( **kwargs, legacy_discovery_unique_id=f"{endpoint.device.ieee}-{endpoint.id}", ) - self._battery_cluster_handler: PowerConfigurationClusterHandler = cast( - PowerConfigurationClusterHandler, - self.cluster_handlers[CLUSTER_HANDLER_POWER_CONFIGURATION], - ) + self._battery_cluster_handler: ClusterHandler = self.cluster_handlers[ + CLUSTER_HANDLER_POWER_CONFIGURATION + ] self._connected: bool = False self._keepalive_interval: int = 60 self._should_poll: bool = True diff --git a/zha/application/platforms/light/__init__.py b/zha/application/platforms/light/__init__.py index 92bd1e932..bab4ad95f 100644 --- a/zha/application/platforms/light/__init__.py +++ b/zha/application/platforms/light/__init__.py @@ -81,8 +81,8 @@ REPORT_CONFIG_DEFAULT, REPORT_CONFIG_IMMEDIATE, ) +from zha.zigbee.cluster_handlers import ClusterHandler from zha.zigbee.cluster_handlers.general import ( - IdentifyClusterHandler, LevelChangeEvent, LevelControlClusterHandler, OnOffClusterHandler, @@ -285,7 +285,7 @@ def __init__(self, *args, **kwargs): self._on_off_cluster_handler: OnOffClusterHandler | None = None self._level_cluster_handler: LevelControlClusterHandler | None = None self._color_cluster_handler: ColorClusterHandler | None = None - self._identify_cluster_handler: IdentifyClusterHandler | None = None + self._identify_cluster_handler: ClusterHandler | None = None self._transitioning_individual: bool = False self._transitioning_group: bool = False self._transition_listener: asyncio.TimerHandle | None = None @@ -940,9 +940,7 @@ def __init__( self._color_cluster_handler: ColorClusterHandler | None = cast( ColorClusterHandler | None, self.cluster_handlers.get(CLUSTER_HANDLER_COLOR) ) - self._identify_cluster_handler: IdentifyClusterHandler | None = cast( - IdentifyClusterHandler | None, device.identify_ch - ) + self._identify_cluster_handler: ClusterHandler | None = device.identify_ch self._refresh_task: asyncio.Task | None = None @@ -1279,9 +1277,8 @@ def __init__(self, group: Group): self._color_cluster_handler: ColorClusterHandler | None = cast( ColorClusterHandler | None, group.zigpy_group.endpoint[Color.cluster_id] ) - self._identify_cluster_handler: IdentifyClusterHandler | None = cast( - IdentifyClusterHandler | None, - group.zigpy_group.endpoint[Identify.cluster_id], + self._identify_cluster_handler: ClusterHandler | None = ( + group.zigpy_group.endpoint[Identify.cluster_id] ) self._debounced_member_refresh: Debouncer | None = Debouncer( diff --git a/zha/application/platforms/number/__init__.py b/zha/application/platforms/number/__init__.py index 5e1cd01ed..f8afc9c06 100644 --- a/zha/application/platforms/number/__init__.py +++ b/zha/application/platforms/number/__init__.py @@ -577,10 +577,10 @@ class BallastMinLevel(NumberConfigurationEntity): bind=True, attributes={ Ballast.AttributeDefs.min_level: AttrConfig( - read_on_startup=False, + read_on_startup=True, ), Ballast.AttributeDefs.max_level: AttrConfig( - read_on_startup=False, + read_on_startup=True, ), }, ), diff --git a/zha/zigbee/cluster_handlers/closures.py b/zha/zigbee/cluster_handlers/closures.py index 637c64c1a..b721d40be 100644 --- a/zha/zigbee/cluster_handlers/closures.py +++ b/zha/zigbee/cluster_handlers/closures.py @@ -74,16 +74,6 @@ async def async_get_user_type(self, code_slot: int) -> str: return result -@registries.CLUSTER_HANDLER_REGISTRY.register(Shade.cluster_id) -class ShadeClusterHandler(ClusterHandler): - """Shade cluster handler.""" - - -@registries.CLIENT_CLUSTER_HANDLER_REGISTRY.register(WindowCovering.cluster_id) -class WindowCoveringClientClusterHandler(ClientClusterHandler): - """Window client cluster handler.""" - - @registries.BINDABLE_CLUSTERS.register(WindowCovering.cluster_id) @registries.CLUSTER_HANDLER_REGISTRY.register(WindowCovering.cluster_id) class WindowCoveringClusterHandler(ClusterHandler): diff --git a/zha/zigbee/cluster_handlers/general.py b/zha/zigbee/cluster_handlers/general.py index 08de590bc..b57e195a2 100644 --- a/zha/zigbee/cluster_handlers/general.py +++ b/zha/zigbee/cluster_handlers/general.py @@ -79,11 +79,6 @@ class LevelChangeEvent: event_type: Final[str] = "cluster_handler_event" -@registries.CLUSTER_HANDLER_REGISTRY.register(Alarms.cluster_id) -class AlarmsClusterHandler(ClusterHandler): - """Alarms cluster handler.""" - - @registries.CLUSTER_HANDLER_REGISTRY.register(AnalogInput.cluster_id) class AnalogInputClusterHandler(ClusterHandler): """Analog Input cluster handler.""" @@ -240,11 +235,6 @@ class AnalogValueClusterHandler(ClusterHandler): ) -@registries.CLUSTER_HANDLER_REGISTRY.register(ApplianceControl.cluster_id) -class ApplianceControlClusterHandler(ClusterHandler): - """Appliance Control cluster handler.""" - - @registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(Basic.cluster_id) @registries.CLUSTER_HANDLER_REGISTRY.register(Basic.cluster_id) class BasicClusterHandler(ClusterHandler): @@ -335,53 +325,6 @@ class BinaryValueClusterHandler(ClusterHandler): ) -@registries.CLUSTER_HANDLER_REGISTRY.register(Commissioning.cluster_id) -class CommissioningClusterHandler(ClusterHandler): - """Commissioning cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(DeviceTemperature.cluster_id) -class DeviceTemperatureClusterHandler(ClusterHandler): - """Device Temperature cluster handler.""" - - REPORT_CONFIG = ( - { - "attr": DeviceTemperature.AttributeDefs.current_temperature.name, - "config": (REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 50), - }, - ) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(GreenPowerProxy.cluster_id) -class GreenPowerProxyClusterHandler(ClusterHandler): - """Green Power Proxy cluster handler.""" - - BIND: bool = False - - -@registries.CLUSTER_HANDLER_REGISTRY.register(Groups.cluster_id) -class GroupsClusterHandler(ClusterHandler): - """Groups cluster handler.""" - - BIND: bool = False - - -@registries.CLUSTER_HANDLER_REGISTRY.register(Identify.cluster_id) -class IdentifyClusterHandler(ClusterHandler): - """Identify cluster handler. - - `trigger_effect` → zha_event dispatch lives on the - `IdentifyTriggerEffectEvent` virtual entity now. - """ - - BIND: bool = False - - -@registries.CLIENT_CLUSTER_HANDLER_REGISTRY.register(LevelControl.cluster_id) -class LevelControlClientClusterHandler(ClientClusterHandler): - """LevelControl client cluster.""" - - @registries.BINDABLE_CLUSTERS.register(LevelControl.cluster_id) @registries.CLUSTER_HANDLER_REGISTRY.register(LevelControl.cluster_id) class LevelControlClusterHandler(ClusterHandler): @@ -500,15 +443,6 @@ class MultistateValueClusterHandler(ClusterHandler): ) -@registries.CLIENT_CLUSTER_HANDLER_REGISTRY.register(OnOff.cluster_id) -class OnOffClientClusterHandler(ClientClusterHandler): - """OnOff client cluster handler. - - Server attribute cache sync from incoming commands lives on the - `OnOffClientCacheSync` virtual entity now. - """ - - @registries.BINDABLE_CLUSTERS.register(OnOff.cluster_id) @registries.CLUSTER_HANDLER_REGISTRY.register(OnOff.cluster_id) class OnOffClusterHandler(ClusterHandler): @@ -552,11 +486,6 @@ async def turn_off(self) -> None: self.cluster.update_attribute(OnOff.AttributeDefs.on_off.id, t.Bool.false) -@registries.CLUSTER_HANDLER_REGISTRY.register(OnOffConfiguration.cluster_id) -class OnOffConfigurationClusterHandler(ClusterHandler): - """OnOff Configuration cluster handler.""" - - @registries.CLUSTER_HANDLER_REGISTRY.register(Ota.cluster_id) class OtaClusterHandler(ClusterHandler): """OTA cluster handler.""" @@ -606,51 +535,3 @@ def _handle_attribute_updated_event( ClusterHandler._handle_attribute_updated_event(self, event) -@registries.CLUSTER_HANDLER_REGISTRY.register(Partition.cluster_id) -class PartitionClusterHandler(ClusterHandler): - """Partition cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(PowerConfiguration.cluster_id) -class PowerConfigurationClusterHandler(ClusterHandler): - """Cluster handler for the zigbee power configuration cluster. - - `battery_size` / `battery_quantity` reads are declared on the `Battery` - sensor entity now. - """ - - REPORT_CONFIG = ( - AttrReportConfig( - attr=PowerConfiguration.AttributeDefs.battery_voltage.name, - config=REPORT_CONFIG_BATTERY_SAVE, - ), - AttrReportConfig( - attr=PowerConfiguration.AttributeDefs.battery_percentage_remaining.name, - config=REPORT_CONFIG_BATTERY_SAVE, - ), - ) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(PowerProfile.cluster_id) -class PowerProfileClusterHandler(ClusterHandler): - """Power Profile cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(RSSILocation.cluster_id) -class RSSILocationClusterHandler(ClusterHandler): - """RSSI Location cluster handler.""" - - -@registries.CLIENT_CLUSTER_HANDLER_REGISTRY.register(Scenes.cluster_id) -class ScenesClientClusterHandler(ClientClusterHandler): - """Scenes cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(Scenes.cluster_id) -class ScenesClusterHandler(ClusterHandler): - """Scenes cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(Time.cluster_id) -class TimeClusterHandler(ClusterHandler): - """Time cluster handler.""" diff --git a/zha/zigbee/cluster_handlers/homeautomation.py b/zha/zigbee/cluster_handlers/homeautomation.py index 5bf0c16c9..5ef001a48 100644 --- a/zha/zigbee/cluster_handlers/homeautomation.py +++ b/zha/zigbee/cluster_handlers/homeautomation.py @@ -21,21 +21,6 @@ ) -@registries.CLUSTER_HANDLER_REGISTRY.register(ApplianceEventAlerts.cluster_id) -class ApplianceEventAlertsClusterHandler(ClusterHandler): - """Appliance Event Alerts cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(ApplianceIdentification.cluster_id) -class ApplianceIdentificationClusterHandler(ClusterHandler): - """Appliance Identification cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(ApplianceStatistics.cluster_id) -class ApplianceStatisticsClusterHandler(ClusterHandler): - """Appliance Statistics cluster handler.""" - - @registries.CLUSTER_HANDLER_REGISTRY.register(Diagnostic.cluster_id) class DiagnosticClusterHandler(ClusterHandler): """Diagnostic cluster handler.""" @@ -355,8 +340,3 @@ def measurement_type(self) -> str | None: for m in self.MeasurementType if m in meas_type and m.name is not None ) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(MeterIdentification.cluster_id) -class MeterIdentificationClusterHandler(ClusterHandler): - """Metering Identification cluster handler.""" diff --git a/zha/zigbee/cluster_handlers/hvac.py b/zha/zigbee/cluster_handlers/hvac.py index 3b14fdcb5..f3dbcf6eb 100644 --- a/zha/zigbee/cluster_handlers/hvac.py +++ b/zha/zigbee/cluster_handlers/hvac.py @@ -22,11 +22,6 @@ REPORT_CONFIG_CLIMATE_DISCRETE = (REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 1) -@registries.CLUSTER_HANDLER_REGISTRY.register(Dehumidification.cluster_id) -class DehumidificationClusterHandler(ClusterHandler): - """Dehumidification cluster handler.""" - - @registries.CLUSTER_HANDLER_REGISTRY.register(Fan.cluster_id) class FanClusterHandler(ClusterHandler): """Fan cluster handler.""" @@ -53,11 +48,6 @@ async def async_set_speed(self, value) -> None: await self.write_attributes_safe({Fan.AttributeDefs.fan_mode.name: value}) -@registries.CLUSTER_HANDLER_REGISTRY.register(Pump.cluster_id) -class PumpClusterHandler(ClusterHandler): - """Pump cluster handler.""" - - @registries.CLUSTER_HANDLER_REGISTRY.register(Thermostat.cluster_id) class ThermostatClusterHandler(ClusterHandler): """Thermostat cluster handler.""" diff --git a/zha/zigbee/cluster_handlers/lighting.py b/zha/zigbee/cluster_handlers/lighting.py index 6220f2312..0312482da 100644 --- a/zha/zigbee/cluster_handlers/lighting.py +++ b/zha/zigbee/cluster_handlers/lighting.py @@ -2,30 +2,10 @@ from __future__ import annotations -from zigpy.zcl.clusters.lighting import Ballast, Color - -from zha.zigbee.cluster_handlers import ( - AttrReportConfig, - ClientClusterHandler, - ClusterHandler, - registries, -) -from zha.zigbee.cluster_handlers.const import REPORT_CONFIG_DEFAULT - - -@registries.CLUSTER_HANDLER_REGISTRY.register(Ballast.cluster_id) -class BallastClusterHandler(ClusterHandler): - """Ballast cluster handler.""" - - ZCL_INIT_ATTRS = { - Ballast.AttributeDefs.min_level.name: True, - Ballast.AttributeDefs.max_level.name: True, - } +from zigpy.zcl.clusters.lighting import Color - -@registries.CLIENT_CLUSTER_HANDLER_REGISTRY.register(Color.cluster_id) -class ColorClientClusterHandler(ClientClusterHandler): - """Color client cluster handler.""" +from zha.zigbee.cluster_handlers import AttrReportConfig, ClusterHandler, registries +from zha.zigbee.cluster_handlers.const import REPORT_CONFIG_DEFAULT @registries.BINDABLE_CLUSTERS.register(Color.cluster_id) diff --git a/zha/zigbee/cluster_handlers/measurement.py b/zha/zigbee/cluster_handlers/measurement.py index 86dc76ca6..28a427273 100644 --- a/zha/zigbee/cluster_handlers/measurement.py +++ b/zha/zigbee/cluster_handlers/measurement.py @@ -6,29 +6,14 @@ import zigpy.zcl from zigpy.zcl.clusters.measurement import ( - PM25, - CarbonDioxideConcentration, - CarbonMonoxideConcentration, - ElectricalConductivity, - FlowMeasurement, - FormaldehydeConcentration, IlluminanceLevelSensing, - IlluminanceMeasurement, - LeafWetness, OccupancySensing, - PressureMeasurement, - RelativeHumidity, - SoilMoisture, - TemperatureMeasurement, - WindSpeed, ) from zha.zigbee.cluster_handlers import AttrReportConfig, ClusterHandler, registries from zha.zigbee.cluster_handlers.const import ( REPORT_CONFIG_DEFAULT, REPORT_CONFIG_IMMEDIATE, - REPORT_CONFIG_MAX_INT, - REPORT_CONFIG_MIN_INT, ) from zha.zigbee.cluster_handlers.helpers import ( is_hue_motion_sensor, @@ -39,18 +24,6 @@ from zha.zigbee.endpoint import Endpoint -@registries.CLUSTER_HANDLER_REGISTRY.register(FlowMeasurement.cluster_id) -class FlowMeasurementClusterHandler(ClusterHandler): - """Flow Measurement cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=FlowMeasurement.AttributeDefs.measured_value.name, - config=REPORT_CONFIG_DEFAULT, - ), - ) - - @registries.CLUSTER_HANDLER_REGISTRY.register(IlluminanceLevelSensing.cluster_id) class IlluminanceLevelSensingClusterHandler(ClusterHandler): """Illuminance Level Sensing cluster handler.""" @@ -63,18 +36,6 @@ class IlluminanceLevelSensingClusterHandler(ClusterHandler): ) -@registries.CLUSTER_HANDLER_REGISTRY.register(IlluminanceMeasurement.cluster_id) -class IlluminanceMeasurementClusterHandler(ClusterHandler): - """Illuminance Measurement cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=IlluminanceMeasurement.AttributeDefs.measured_value.name, - config=REPORT_CONFIG_DEFAULT, - ), - ) - - @registries.CLUSTER_HANDLER_REGISTRY.register(OccupancySensing.cluster_id) class OccupancySensingClusterHandler(ClusterHandler): """Occupancy Sensing cluster handler.""" @@ -100,135 +61,3 @@ def __init__(self, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> None: self.ZCL_INIT_ATTRS = self.ZCL_INIT_ATTRS.copy() self.ZCL_INIT_ATTRS["ultrasonic_o_to_u_delay"] = True self.ZCL_INIT_ATTRS["ultrasonic_u_to_o_threshold"] = True - - -@registries.CLUSTER_HANDLER_REGISTRY.register(PressureMeasurement.cluster_id) -class PressureMeasurementClusterHandler(ClusterHandler): - """Pressure measurement cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=PressureMeasurement.AttributeDefs.measured_value.name, - config=REPORT_CONFIG_DEFAULT, - ), - ) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(RelativeHumidity.cluster_id) -class RelativeHumidityClusterHandler(ClusterHandler): - """Relative Humidity measurement cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=RelativeHumidity.AttributeDefs.measured_value.name, - config=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 100), - ), - ) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(SoilMoisture.cluster_id) -class SoilMoistureClusterHandler(ClusterHandler): - """Soil Moisture measurement cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=SoilMoisture.AttributeDefs.measured_value.name, - config=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 100), - ), - ) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(LeafWetness.cluster_id) -class LeafWetnessClusterHandler(ClusterHandler): - """Leaf Wetness measurement cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=LeafWetness.AttributeDefs.measured_value.name, - config=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 100), - ), - ) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(TemperatureMeasurement.cluster_id) -class TemperatureMeasurementClusterHandler(ClusterHandler): - """Temperature measurement cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=TemperatureMeasurement.AttributeDefs.measured_value.name, - config=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 50), - ), - ) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(CarbonMonoxideConcentration.cluster_id) -class CarbonMonoxideConcentrationClusterHandler(ClusterHandler): - """Carbon Monoxide measurement cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=CarbonMonoxideConcentration.AttributeDefs.measured_value.name, - config=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 0.000001), - ), - ) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(CarbonDioxideConcentration.cluster_id) -class CarbonDioxideConcentrationClusterHandler(ClusterHandler): - """Carbon Dioxide measurement cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=CarbonDioxideConcentration.AttributeDefs.measured_value.name, - config=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 0.000001), - ), - ) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(PM25.cluster_id) -class PM25ClusterHandler(ClusterHandler): - """Particulate Matter 2.5 microns or less measurement cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=PM25.AttributeDefs.measured_value.name, - config=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 0.1), - ), - ) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(FormaldehydeConcentration.cluster_id) -class FormaldehydeConcentrationClusterHandler(ClusterHandler): - """Formaldehyde measurement cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=FormaldehydeConcentration.AttributeDefs.measured_value.name, - config=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 0.000001), - ), - ) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(ElectricalConductivity.cluster_id) -class ElectricalConductivityClusterHandler(ClusterHandler): - """Electrical Conductivity cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=ElectricalConductivity.AttributeDefs.measured_value.name, - config=REPORT_CONFIG_DEFAULT, - ), - ) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(WindSpeed.cluster_id) -class WindSpeedClusterHandler(ClusterHandler): - """Wind Speed measurement cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=WindSpeed.AttributeDefs.measured_value.name, - config=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 0.01), - ), - ) diff --git a/zha/zigbee/cluster_handlers/protocol.py b/zha/zigbee/cluster_handlers/protocol.py deleted file mode 100644 index fd312035b..000000000 --- a/zha/zigbee/cluster_handlers/protocol.py +++ /dev/null @@ -1,126 +0,0 @@ -"""Protocol cluster handlers module for Zigbee Home Automation.""" - -from zigpy.zcl.clusters.protocol import ( - AnalogInputExtended, - AnalogInputRegular, - AnalogOutputExtended, - AnalogOutputRegular, - AnalogValueExtended, - AnalogValueRegular, - BacnetProtocolTunnel, - BinaryInputExtended, - BinaryInputRegular, - BinaryOutputExtended, - BinaryOutputRegular, - BinaryValueExtended, - BinaryValueRegular, - GenericTunnel, - MultistateInputExtended, - MultistateInputRegular, - MultistateOutputExtended, - MultistateOutputRegular, - MultistateValueExtended, - MultistateValueRegular, -) - -from zha.zigbee.cluster_handlers import ClusterHandler, registries - - -@registries.CLUSTER_HANDLER_REGISTRY.register(AnalogInputExtended.cluster_id) -class AnalogInputExtendedClusterHandler(ClusterHandler): - """Analog Input Extended cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(AnalogInputRegular.cluster_id) -class AnalogInputRegularClusterHandler(ClusterHandler): - """Analog Input Regular cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(AnalogOutputExtended.cluster_id) -class AnalogOutputExtendedClusterHandler(ClusterHandler): - """Analog Output Regular cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(AnalogOutputRegular.cluster_id) -class AnalogOutputRegularClusterHandler(ClusterHandler): - """Analog Output Regular cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(AnalogValueExtended.cluster_id) -class AnalogValueExtendedClusterHandler(ClusterHandler): - """Analog Value Extended edition cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(AnalogValueRegular.cluster_id) -class AnalogValueRegularClusterHandler(ClusterHandler): - """Analog Value Regular cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(BacnetProtocolTunnel.cluster_id) -class BacnetProtocolTunnelClusterHandler(ClusterHandler): - """Bacnet Protocol Tunnel cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(BinaryInputExtended.cluster_id) -class BinaryInputExtendedClusterHandler(ClusterHandler): - """Binary Input Extended cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(BinaryInputRegular.cluster_id) -class BinaryInputRegularClusterHandler(ClusterHandler): - """Binary Input Regular cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(BinaryOutputExtended.cluster_id) -class BinaryOutputExtendedClusterHandler(ClusterHandler): - """Binary Output Extended cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(BinaryOutputRegular.cluster_id) -class BinaryOutputRegularClusterHandler(ClusterHandler): - """Binary Output Regular cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(BinaryValueExtended.cluster_id) -class BinaryValueExtendedClusterHandler(ClusterHandler): - """Binary Value Extended cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(BinaryValueRegular.cluster_id) -class BinaryValueRegularClusterHandler(ClusterHandler): - """Binary Value Regular cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(GenericTunnel.cluster_id) -class GenericTunnelClusterHandler(ClusterHandler): - """Generic Tunnel cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(MultistateInputExtended.cluster_id) -class MultiStateInputExtendedClusterHandler(ClusterHandler): - """Multistate Input Extended cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(MultistateInputRegular.cluster_id) -class MultiStateInputRegularClusterHandler(ClusterHandler): - """Multistate Input Regular cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(MultistateOutputExtended.cluster_id) -class MultiStateOutputExtendedClusterHandler(ClusterHandler): - """Multistate Output Extended cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(MultistateOutputRegular.cluster_id) -class MultiStateOutputRegularClusterHandler(ClusterHandler): - """Multistate Output Regular cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(MultistateValueExtended.cluster_id) -class MultiStateValueExtendedClusterHandler(ClusterHandler): - """Multistate Value Extended cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(MultistateValueRegular.cluster_id) -class MultiStateValueRegularClusterHandler(ClusterHandler): - """Multistate Value Regular cluster handler.""" diff --git a/zha/zigbee/cluster_handlers/smartenergy.py b/zha/zigbee/cluster_handlers/smartenergy.py index c3807d084..8be55da96 100644 --- a/zha/zigbee/cluster_handlers/smartenergy.py +++ b/zha/zigbee/cluster_handlers/smartenergy.py @@ -6,20 +6,7 @@ from typing import TYPE_CHECKING import zigpy.zcl -from zigpy.zcl.clusters.smartenergy import ( - Calendar, - DeviceManagement, - Drlc, - EnergyManagement, - Events, - KeyEstablishment, - MduPairing, - Messaging, - Metering, - Prepayment, - Price, - Tunneling, -) +from zigpy.zcl.clusters.smartenergy import Metering from zha.zigbee.cluster_handlers import AttrReportConfig, ClusterHandler, registries from zha.zigbee.cluster_handlers.const import ( @@ -32,46 +19,6 @@ from zha.zigbee.endpoint import Endpoint -@registries.CLUSTER_HANDLER_REGISTRY.register(Calendar.cluster_id) -class CalendarClusterHandler(ClusterHandler): - """Calendar cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(DeviceManagement.cluster_id) -class DeviceManagementClusterHandler(ClusterHandler): - """Device Management cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(Drlc.cluster_id) -class DrlcClusterHandler(ClusterHandler): - """Demand Response and Load Control cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(EnergyManagement.cluster_id) -class EnergyManagementClusterHandler(ClusterHandler): - """Energy Management cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(Events.cluster_id) -class EventsClusterHandler(ClusterHandler): - """Event cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(KeyEstablishment.cluster_id) -class KeyEstablishmentClusterHandler(ClusterHandler): - """Key Establishment cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(MduPairing.cluster_id) -class MduPairingClusterHandler(ClusterHandler): - """Pairing cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(Messaging.cluster_id) -class MessagingClusterHandler(ClusterHandler): - """Messaging cluster handler.""" - - @registries.CLUSTER_HANDLER_REGISTRY.register(Metering.cluster_id) class MeteringClusterHandler(ClusterHandler): """Metering cluster handler.""" @@ -306,18 +253,3 @@ def demand_formatting(self) -> int | None: def summation_formatting(self) -> int | None: """Return summation formatting.""" return self.cluster.get(Metering.AttributeDefs.summation_formatting.name) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(Prepayment.cluster_id) -class PrepaymentClusterHandler(ClusterHandler): - """Prepayment cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(Price.cluster_id) -class PriceClusterHandler(ClusterHandler): - """Price cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(Tunneling.cluster_id) -class TunnelingClusterHandler(ClusterHandler): - """Tunneling cluster handler.""" From 3bdaffb0aeb40e154e5c0ace6de6f0106c60b193 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Fri, 15 May 2026 23:44:00 -0400 Subject: [PATCH 22/85] WIP --- zha/application/platforms/select.py | 28 ++++- zha/zigbee/cluster_handlers/general.py | 76 +------------ zha/zigbee/cluster_handlers/hvac.py | 5 +- .../cluster_handlers/manufacturerspecific.py | 102 +----------------- zha/zigbee/cluster_handlers/measurement.py | 22 +--- 5 files changed, 33 insertions(+), 200 deletions(-) diff --git a/zha/application/platforms/select.py b/zha/application/platforms/select.py index d5e229fd2..89f513743 100644 --- a/zha/application/platforms/select.py +++ b/zha/application/platforms/select.py @@ -913,10 +913,21 @@ class KeypadLockout(ZCLEnumSelectEntity): _enum = KeypadLockoutEnum _attr_translation_key: str = "keypad_lockout" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"thermostat_ui"}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({UserInterface.cluster_id}), ) + _server_cluster_config = { + UserInterface.cluster_id: ClusterConfig( + bind=True, + attributes={ + UserInterface.AttributeDefs.keypad_lockout: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(Thermostat.cluster_id) class DanfossExerciseDayOfTheWeek(ZCLEnumSelectEntity): @@ -1111,11 +1122,20 @@ class DanfossViewingDirection(ZCLEnumSelectEntity): _attr_translation_key: str = "viewing_direction" _enum = danfoss_thermostat.DanfossViewingDirectionEnum - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"thermostat_ui"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({UserInterface.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) + _server_cluster_config = { + UserInterface.cluster_id: ClusterConfig( + bind=True, + attributes={ + "viewing_direction": AttrConfig(read_on_startup=True), + }, + ), + } + class SinopeLightLedColors(types.enum32): """Color values for Sinope light switch status LEDs.""" diff --git a/zha/zigbee/cluster_handlers/general.py b/zha/zigbee/cluster_handlers/general.py index b57e195a2..858924993 100644 --- a/zha/zigbee/cluster_handlers/general.py +++ b/zha/zigbee/cluster_handlers/general.py @@ -15,33 +15,15 @@ AttributeWrittenEvent, ) from zigpy.zcl.clusters.general import ( - Alarms, AnalogInput, AnalogOutput, - AnalogValue, - ApplianceControl, Basic, BinaryInput, BinaryOutput, - BinaryValue, - Commissioning, - DeviceTemperature, - GreenPowerProxy, - Groups, - Identify, LevelControl, MultistateInput, - MultistateOutput, - MultistateValue, OnOff, - OnOffConfiguration, Ota, - Partition, - PowerConfiguration, - PowerProfile, - RSSILocation, - Scenes, - Time, ) from zigpy.zcl.clusters.general_const import ApplicationType from zigpy.zcl.foundation import Status @@ -223,18 +205,6 @@ async def async_set_present_value(self, value: float) -> None: ) -@registries.CLUSTER_HANDLER_REGISTRY.register(AnalogValue.cluster_id) -class AnalogValueClusterHandler(ClusterHandler): - """Analog Value cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=AnalogValue.AttributeDefs.present_value.name, - config=REPORT_CONFIG_DEFAULT, - ), - ) - - @registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(Basic.cluster_id) @registries.CLUSTER_HANDLER_REGISTRY.register(Basic.cluster_id) class BasicClusterHandler(ClusterHandler): @@ -313,18 +283,6 @@ async def async_set_present_value(self, value: bool) -> None: ) -@registries.CLUSTER_HANDLER_REGISTRY.register(BinaryValue.cluster_id) -class BinaryValueClusterHandler(ClusterHandler): - """Binary Value cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=BinaryValue.AttributeDefs.present_value.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - ) - - @registries.BINDABLE_CLUSTERS.register(LevelControl.cluster_id) @registries.CLUSTER_HANDLER_REGISTRY.register(LevelControl.cluster_id) class LevelControlClusterHandler(ClusterHandler): @@ -409,38 +367,10 @@ def dispatch_level_change(self, command, level): @registries.CLUSTER_HANDLER_REGISTRY.register(MultistateInput.cluster_id) class MultistateInputClusterHandler(ClusterHandler): - """Multistate Input cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=MultistateInput.AttributeDefs.present_value.name, - config=REPORT_CONFIG_DEFAULT, - ), - ) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(MultistateOutput.cluster_id) -class MultistateOutputClusterHandler(ClusterHandler): - """Multistate Output cluster handler.""" + """Multistate Input cluster handler. - REPORT_CONFIG = ( - AttrReportConfig( - attr=MultistateOutput.AttributeDefs.present_value.name, - config=REPORT_CONFIG_DEFAULT, - ), - ) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(MultistateValue.cluster_id) -class MultistateValueClusterHandler(ClusterHandler): - """Multistate Value cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=MultistateValue.AttributeDefs.present_value.name, - config=REPORT_CONFIG_DEFAULT, - ), - ) + Kept for `XiaomiVibrationAQ1ClusterHandler` to subclass. + """ @registries.BINDABLE_CLUSTERS.register(OnOff.cluster_id) diff --git a/zha/zigbee/cluster_handlers/hvac.py b/zha/zigbee/cluster_handlers/hvac.py index f3dbcf6eb..8b06d4a80 100644 --- a/zha/zigbee/cluster_handlers/hvac.py +++ b/zha/zigbee/cluster_handlers/hvac.py @@ -296,6 +296,7 @@ async def get_occupancy(self) -> bool | None: @registries.CLUSTER_HANDLER_REGISTRY.register(UserInterface.cluster_id) class UserInterfaceClusterHandler(ClusterHandler): - """User interface (thermostat) cluster handler.""" + """User interface (thermostat) cluster handler. - ZCL_INIT_ATTRS = {UserInterface.AttributeDefs.keypad_lockout.name: True} + Kept for `DanfossUserInterfaceClusterHandler` to subclass. + """ diff --git a/zha/zigbee/cluster_handlers/manufacturerspecific.py b/zha/zigbee/cluster_handlers/manufacturerspecific.py index fa45ddc81..cc60008c1 100644 --- a/zha/zigbee/cluster_handlers/manufacturerspecific.py +++ b/zha/zigbee/cluster_handlers/manufacturerspecific.py @@ -4,7 +4,7 @@ from typing import TYPE_CHECKING -from zhaquirks.quirk_ids import DANFOSS_ALLY_THERMOSTAT, XIAOMI_AQARA_VIBRATION_AQ1 +from zhaquirks.quirk_ids import XIAOMI_AQARA_VIBRATION_AQ1 import zigpy.zcl from zigpy.zcl import ( AttributeReadEvent, @@ -13,8 +13,6 @@ AttributeWrittenEvent, ) from zigpy.zcl.clusters.closures import DoorLock -from zigpy.zcl.clusters.homeautomation import Diagnostic -from zigpy.zcl.clusters.hvac import Thermostat, UserInterface from zha.zigbee.cluster_handlers import ( AttrReportConfig, @@ -27,10 +25,6 @@ IKEA_REMOTE_CLUSTER, IKEA_SHORTCUT_V1_CLUSTER, INOVELLI_CLUSTER, - LEGRAND_CABLE_OUTLET_CLUSTER, - OSRAM_BUTTON_CLUSTER, - PHILIPS_CONTACT_CLUSTER, - PHILLIPS_REMOTE_CLUSTER, REPORT_CONFIG_ASAP, REPORT_CONFIG_DEFAULT, REPORT_CONFIG_IMMEDIATE, @@ -38,40 +32,10 @@ ) from zha.zigbee.cluster_handlers.general import MultistateInputClusterHandler -from .homeautomation import DiagnosticClusterHandler -from .hvac import ThermostatClusterHandler, UserInterfaceClusterHandler - if TYPE_CHECKING: from zha.zigbee.endpoint import Endpoint -@registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(OSRAM_BUTTON_CLUSTER) -@registries.CLUSTER_HANDLER_REGISTRY.register(OSRAM_BUTTON_CLUSTER) -class OsramButtonClusterHandler(ClusterHandler): - """Osram button cluster handler.""" - - REPORT_CONFIG = () - - -@registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(PHILIPS_CONTACT_CLUSTER) -@registries.CLUSTER_HANDLER_REGISTRY.register(PHILIPS_CONTACT_CLUSTER) -class PhillipsContactClusterHandler(ClusterHandler): - """Phillips contact cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig(attr="contact", config=REPORT_CONFIG_IMMEDIATE), - AttrReportConfig(attr="tamper", config=REPORT_CONFIG_IMMEDIATE), - ) - - -@registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(PHILLIPS_REMOTE_CLUSTER) -@registries.CLUSTER_HANDLER_REGISTRY.register(PHILLIPS_REMOTE_CLUSTER) -class PhillipsRemoteClusterHandler(ClusterHandler): - """Phillips remote cluster handler.""" - - REPORT_CONFIG = () - - @registries.CLUSTER_HANDLER_REGISTRY.register(SMARTTHINGS_ACCELERATION_CLUSTER) class SmartThingsAccelerationClusterHandler(ClusterHandler): """Smart Things Acceleration cluster handler. @@ -186,69 +150,5 @@ class XiaomiVibrationAQ1ClusterHandler(MultistateInputClusterHandler): """Xiaomi DoorLock Cluster is in fact a MultiStateInput Cluster.""" -@registries.CLUSTER_HANDLER_REGISTRY.register( - Thermostat.cluster_id, DANFOSS_ALLY_THERMOSTAT -) -class DanfossThermostatClusterHandler(ThermostatClusterHandler): - """Thermostat cluster handler for the Danfoss TRV and derivatives.""" - - REPORT_CONFIG = ( # type: ignore[assignment] - *ThermostatClusterHandler.REPORT_CONFIG, - AttrReportConfig(attr="open_window_detection", config=REPORT_CONFIG_DEFAULT), - AttrReportConfig(attr="heat_required", config=REPORT_CONFIG_ASAP), - AttrReportConfig(attr="mounting_mode_active", config=REPORT_CONFIG_DEFAULT), - AttrReportConfig(attr="load_estimate", config=REPORT_CONFIG_DEFAULT), - AttrReportConfig(attr="adaptation_run_status", config=REPORT_CONFIG_DEFAULT), - AttrReportConfig(attr="preheat_status", config=REPORT_CONFIG_DEFAULT), - AttrReportConfig(attr="preheat_time", config=REPORT_CONFIG_DEFAULT), - ) - - ZCL_INIT_ATTRS = { - **ThermostatClusterHandler.ZCL_INIT_ATTRS, - "external_open_window_detected": True, - "window_open_feature": True, - "exercise_day_of_week": True, - "exercise_trigger_time": True, - "mounting_mode_control": False, # Can change - "orientation": True, - "external_measured_room_sensor": False, # Can change - "radiator_covered": True, - "heat_available": True, - "load_balancing_enable": True, - "load_room_mean": False, # Can change - "control_algorithm_scale_factor": True, - "regulation_setpoint_offset": True, - "adaptation_run_control": True, - "adaptation_run_settings": True, - } - - -@registries.CLUSTER_HANDLER_REGISTRY.register( - UserInterface.cluster_id, DANFOSS_ALLY_THERMOSTAT -) -class DanfossUserInterfaceClusterHandler(UserInterfaceClusterHandler): - """Interface cluster handler for the Danfoss TRV and derivatives.""" - - ZCL_INIT_ATTRS = { - **UserInterfaceClusterHandler.ZCL_INIT_ATTRS, - "viewing_direction": True, - } - - -@registries.CLUSTER_HANDLER_REGISTRY.register( - Diagnostic.cluster_id, DANFOSS_ALLY_THERMOSTAT -) -class DanfossDiagnosticClusterHandler(DiagnosticClusterHandler): - """Diagnostic cluster handler for the Danfoss TRV and derivatives.""" - - REPORT_CONFIG = ( - *DiagnosticClusterHandler.REPORT_CONFIG, - AttrReportConfig(attr="sw_error_code", config=REPORT_CONFIG_DEFAULT), - AttrReportConfig(attr="motor_step_counter", config=REPORT_CONFIG_DEFAULT), - ) -@registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(LEGRAND_CABLE_OUTLET_CLUSTER) -@registries.CLUSTER_HANDLER_REGISTRY.register(LEGRAND_CABLE_OUTLET_CLUSTER) -class LegrandCableOutletClusterHandler(ClusterHandler): - """Legrand cable outlet cluster handler.""" diff --git a/zha/zigbee/cluster_handlers/measurement.py b/zha/zigbee/cluster_handlers/measurement.py index 28a427273..47d406e7b 100644 --- a/zha/zigbee/cluster_handlers/measurement.py +++ b/zha/zigbee/cluster_handlers/measurement.py @@ -5,16 +5,10 @@ from typing import TYPE_CHECKING import zigpy.zcl -from zigpy.zcl.clusters.measurement import ( - IlluminanceLevelSensing, - OccupancySensing, -) +from zigpy.zcl.clusters.measurement import OccupancySensing from zha.zigbee.cluster_handlers import AttrReportConfig, ClusterHandler, registries -from zha.zigbee.cluster_handlers.const import ( - REPORT_CONFIG_DEFAULT, - REPORT_CONFIG_IMMEDIATE, -) +from zha.zigbee.cluster_handlers.const import REPORT_CONFIG_IMMEDIATE from zha.zigbee.cluster_handlers.helpers import ( is_hue_motion_sensor, is_sonoff_presence_sensor, @@ -24,18 +18,6 @@ from zha.zigbee.endpoint import Endpoint -@registries.CLUSTER_HANDLER_REGISTRY.register(IlluminanceLevelSensing.cluster_id) -class IlluminanceLevelSensingClusterHandler(ClusterHandler): - """Illuminance Level Sensing cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=IlluminanceLevelSensing.AttributeDefs.level_status.name, - config=REPORT_CONFIG_DEFAULT, - ), - ) - - @registries.CLUSTER_HANDLER_REGISTRY.register(OccupancySensing.cluster_id) class OccupancySensingClusterHandler(ClusterHandler): """Occupancy Sensing cluster handler.""" From 4512abc34c4bc5c395f28c3b3bad7475dd878d48 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sat, 16 May 2026 00:27:03 -0400 Subject: [PATCH 23/85] WIP: emit events and account for all regressions --- zha/application/discovery.py | 42 +++++- zha/application/platforms/__init__.py | 7 + zha/application/platforms/virtual.py | 184 +++++++++++++++++++++++++- 3 files changed, 221 insertions(+), 12 deletions(-) diff --git a/zha/application/discovery.py b/zha/application/discovery.py index 5109d1004..ef116eedc 100644 --- a/zha/application/discovery.py +++ b/zha/application/discovery.py @@ -414,7 +414,7 @@ def _resolve_cluster_handlers_for_match( if key not in endpoint.all_cluster_handlers: continue handler = endpoint.all_cluster_handlers[key] - if _is_renamed_cluster(handler.cluster): + if not match.match_renamed_clusters and _is_renamed_cluster(handler.cluster): continue result.append(handler) @@ -432,7 +432,7 @@ def _resolve_client_cluster_handlers_for_match( if key not in endpoint.client_cluster_handlers: continue handler = endpoint.client_cluster_handlers[key] - if _is_renamed_cluster(handler.cluster): + if not match.match_renamed_clusters and _is_renamed_cluster(handler.cluster): continue result.append(handler) @@ -463,7 +463,8 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit ] = defaultdict(lambda: defaultdict(list)) # Cluster IDs available to ClusterMatch (renamed quirked clusters excluded to - # mirror the legacy handler-name based matching). + # mirror the legacy handler-name based matching). Entities that opt into + # `match_renamed_clusters=True` get the inclusive sets instead. in_cluster_ids = { cid for cid, cluster in endpoint.zigpy_endpoint.in_clusters.items() @@ -474,6 +475,8 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit for cid, cluster in endpoint.zigpy_endpoint.out_clusters.items() if not _is_renamed_cluster(cluster) } + in_cluster_ids_with_renamed = set(endpoint.zigpy_endpoint.in_clusters) + out_cluster_ids_with_renamed = set(endpoint.zigpy_endpoint.out_clusters) for cluster in itertools.chain( endpoint.zigpy_endpoint.in_clusters.values(), @@ -492,10 +495,17 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit continue if isinstance(match, ClusterMatch): - if not match.server_clusters.issubset(in_cluster_ids): + if match.match_renamed_clusters: + available_in = in_cluster_ids_with_renamed + available_out = out_cluster_ids_with_renamed + else: + available_in = in_cluster_ids + available_out = out_cluster_ids + + if not match.server_clusters.issubset(available_in): continue - if not match.client_clusters.issubset(out_cluster_ids): + if not match.client_clusters.issubset(available_out): continue else: if not match.cluster_handlers.issubset( @@ -663,11 +673,33 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit server_cluster_handlers + client_cluster_handlers # type: ignore[operator] ) + init_kwargs: dict[str, Any] = {} + if isinstance(match, ClusterMatch) and not cluster_handlers: + # ClusterMatch entity with no resolved handler instance — derive + # the legacy unique_id from the match's primary cluster id so the + # entity can be constructed without going through a cluster + # handler. Needed for virtual entities that match clusters with + # no registered ClientClusterHandler. + primary_cluster_id = next( + iter( + match.server_clusters + | match.client_clusters + | match.optional_server_clusters + | match.optional_client_clusters + ), + None, + ) + if primary_cluster_id is not None: + init_kwargs["legacy_discovery_unique_id"] = ( + f"{device.ieee}-{endpoint.id}-{primary_cluster_id}" + ) + try: entity = entity_class( cluster_handlers=cluster_handlers, endpoint=endpoint, device=device, + **init_kwargs, ) except Exception: # pylint: disable=broad-except _LOGGER.exception("Failed to create %s entity", entity_class.__name__) diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index 5ace753f8..9da04d6b1 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -124,6 +124,13 @@ class ClusterMatch: # For a given feature, only entities with the highest priority will be considered feature_priority: tuple[PlatformFeatureGroup, int] | None = None + # By default ClusterMatch skips clusters whose ep_attribute was renamed by + # a quirk (so a Switch entity doesn't auto-attach to a Tuya-renamed OnOff + # cluster). Bind-only virtual entities can opt back in via this flag, since + # they don't care about cluster semantics — only that the cluster_id is + # what they target. + match_renamed_clusters: bool = False + @dataclasses.dataclass(frozen=True) class ClusterHandlerMatch: diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py index db0a79461..e99f5be03 100644 --- a/zha/application/platforms/virtual.py +++ b/zha/application/platforms/virtual.py @@ -21,8 +21,9 @@ AttributeUpdatedEvent, AttributeWrittenEvent, ) -from zigpy.zcl.clusters.closures import DoorLock -from zigpy.zcl.clusters.general import Identify, OnOff, Ota +from zigpy.zcl.clusters.closures import DoorLock, WindowCovering +from zigpy.zcl.clusters.general import Identify, LevelControl, OnOff, Ota, Scenes +from zigpy.zcl.clusters.lighting import Color from zigpy.zcl.clusters.lightlink import LightLink from zigpy.zcl.clusters.security import IasZone from zigpy.zcl.foundation import GENERAL_COMMANDS, GeneralCommand @@ -41,6 +42,7 @@ ATTRIBUTE_NAME, ATTRIBUTE_VALUE, SIGNAL_ATTR_UPDATED, + VALUE, ) SMARTTHINGS_ACCELERATION_CLUSTER = 0xFC02 @@ -70,9 +72,25 @@ def __init__( super().__init__(cluster_handlers, endpoint, device, **kwargs) # Cache the (single) cluster this virtual entity drives, for the # cluster_command listener hook. - self._cluster: zigpy.zcl.Cluster | None = ( - cluster_handlers[0].cluster if cluster_handlers else None - ) + if cluster_handlers: + self._cluster: zigpy.zcl.Cluster | None = cluster_handlers[0].cluster + else: + # No cluster handler was resolved (e.g. virtual entity matches a + # client cluster with no registered ClientClusterHandler). Look up + # the cluster directly from the endpoint via this entity's declared + # cluster config. + self._cluster = None + for cluster_id in self._server_cluster_config: + cluster = endpoint.zigpy_endpoint.in_clusters.get(cluster_id) + if cluster is not None: + self._cluster = cluster + break + if self._cluster is None: + for cluster_id in self._client_cluster_config: + cluster = endpoint.zigpy_endpoint.out_clusters.get(cluster_id) + if cluster is not None: + self._cluster = cluster + break def on_add(self) -> None: """Subscribe to incoming cluster commands and attribute events.""" @@ -236,10 +254,11 @@ class OnOffClientCacheSync(VirtualEntity): _cluster_match = ClusterMatch( client_clusters=frozenset({OnOff.cluster_id}), + match_renamed_clusters=True, ) _client_cluster_config = { - OnOff.cluster_id: ClusterConfig(bind=False), + OnOff.cluster_id: ClusterConfig(bind=True), } def __init__( @@ -259,12 +278,16 @@ def on_off(self) -> bool | None: return self._cluster.get(OnOff.AttributeDefs.on_off.name) def cluster_command(self, tsn: int, command_id: int, args: list[Any]) -> None: - """Mirror commands from the device into the server cache.""" + """Mirror commands from the device into the server cache + emit zha_event.""" try: cmd = self._cluster.server_commands[command_id].name except KeyError: return + # Legacy ClientClusterHandler.cluster_command emitted a zha_event for + # every incoming server command; preserve that. + self.emit_cluster_zha_event(cmd, args) + if cmd in ( OnOff.ServerCommandDefs.off.name, OnOff.ServerCommandDefs.off_with_effect.name, @@ -294,12 +317,159 @@ def cluster_command(self, tsn: int, command_id: int, args: list[Any]) -> None: OnOff.AttributeDefs.on_off.id, not bool(self.on_off) ) + def attribute_updated( + self, + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, + ) -> None: + """Relay attribute updates on this client cluster as zha_events.""" + self.emit_cluster_zha_event( + SIGNAL_ATTR_UPDATED, + { + ATTRIBUTE_ID: event.attribute_id, + ATTRIBUTE_NAME: event.attribute_name or UNKNOWN, + ATTRIBUTE_VALUE: event.value, + VALUE: event.value, + }, + ) + def _set_to_off(self) -> None: """Clear the on_off cache when the timed_off duration elapses.""" self._off_listener = None self._cluster.update_attribute(OnOff.AttributeDefs.on_off.id, t.Bool.false) +class _ClientClusterZhaEventEmitter(VirtualEntity): + """Bind a client cluster and emit zha_events for incoming commands/updates. + + Replaces the legacy `ClientClusterHandler` auto-emit behavior (which fired + on every cluster_command from the device and every attribute update). + """ + + def cluster_command(self, tsn: int, command_id: int, args: list[Any]) -> None: + """Relay incoming client cluster commands as zha_events.""" + if ( + self._cluster.server_commands is not None + and self._cluster.server_commands.get(command_id) is not None + ): + self.emit_cluster_zha_event( + self._cluster.server_commands[command_id].name, args + ) + + def attribute_updated( + self, + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, + ) -> None: + """Relay client cluster attribute updates as zha_events.""" + self.emit_cluster_zha_event( + SIGNAL_ATTR_UPDATED, + { + ATTRIBUTE_ID: event.attribute_id, + ATTRIBUTE_NAME: event.attribute_name or UNKNOWN, + ATTRIBUTE_VALUE: event.value, + VALUE: event.value, + }, + ) + + +@register_entity(Scenes.cluster_id) +class ScenesClientBind(_ClientClusterZhaEventEmitter): + """Bind the Scenes client cluster and emit zha_events for its commands.""" + + _unique_id_suffix = "scenes_client_bind" + + _cluster_match = ClusterMatch( + client_clusters=frozenset({Scenes.cluster_id}), + match_renamed_clusters=True, + ) + _client_cluster_config = { + Scenes.cluster_id: ClusterConfig(bind=True), + } + + +@register_entity(LevelControl.cluster_id) +class LevelControlClientBind(_ClientClusterZhaEventEmitter): + """Bind LevelControl client cluster and emit zha_events for its commands.""" + + _unique_id_suffix = "level_control_client_bind" + + _cluster_match = ClusterMatch( + client_clusters=frozenset({LevelControl.cluster_id}), + match_renamed_clusters=True, + ) + _client_cluster_config = { + LevelControl.cluster_id: ClusterConfig(bind=True), + } + + +@register_entity(Color.cluster_id) +class ColorClientBind(_ClientClusterZhaEventEmitter): + """Bind the Color client cluster and emit zha_events for its commands.""" + + _unique_id_suffix = "color_client_bind" + + _cluster_match = ClusterMatch( + client_clusters=frozenset({Color.cluster_id}), + match_renamed_clusters=True, + ) + _client_cluster_config = { + Color.cluster_id: ClusterConfig(bind=True), + } + + +@register_entity(WindowCovering.cluster_id) +class WindowCoveringClientBind(_ClientClusterZhaEventEmitter): + """Bind WindowCovering client cluster and emit zha_events for its commands.""" + + _unique_id_suffix = "window_covering_client_bind" + + _cluster_match = ClusterMatch( + client_clusters=frozenset({WindowCovering.cluster_id}), + match_renamed_clusters=True, + ) + _client_cluster_config = { + WindowCovering.cluster_id: ClusterConfig(bind=True), + } + + +PHILIPS_REMOTE_CLUSTER = 0xFC00 +OSRAM_BUTTON_CLUSTER = 0xFD51 +OSRAM_CLUSTER = 0xFD00 + + +@register_entity(PHILIPS_REMOTE_CLUSTER) +class PhilipsRemoteBind(VirtualEntity): + """Bind the Philips remote cluster on every device that exposes it.""" + + _unique_id_suffix = "philips_remote_bind" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({PHILIPS_REMOTE_CLUSTER}), + ) + _server_cluster_config = { + PHILIPS_REMOTE_CLUSTER: ClusterConfig(bind=True), + } + + +@register_entity(OSRAM_CLUSTER) +class OsramClusterBind(VirtualEntity): + """Bind the Osram manufacturer cluster on every device that exposes it.""" + + _unique_id_suffix = "osram_cluster_bind" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({OSRAM_CLUSTER}), + ) + _server_cluster_config = { + OSRAM_CLUSTER: ClusterConfig(bind=True), + } + + @register_entity(Ota.cluster_id) class OtaCurrentFileVersionCache(VirtualEntity): """Updates `current_file_version` on every query_next_image from the device.""" From a3daa4a54e0f5b9e9b889fdb0d5a1456229d2a67 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sat, 16 May 2026 01:03:56 -0400 Subject: [PATCH 24/85] WIP: Begin migrating --- zha/application/discovery.py | 77 ++++++++-------- zha/application/helpers.py | 21 +++++ zha/application/platforms/__init__.py | 39 ++++---- .../platforms/alarm_control_panel/__init__.py | 1 + zha/application/platforms/climate/__init__.py | 1 + zha/application/platforms/cover/__init__.py | 2 + zha/application/platforms/device_tracker.py | 55 +++++------ zha/application/platforms/light/__init__.py | 1 + zha/application/platforms/lock/__init__.py | 92 ++++++++++--------- zha/application/platforms/siren.py | 1 + zha/application/platforms/switch.py | 2 + zha/application/platforms/virtual.py | 31 +++---- 12 files changed, 177 insertions(+), 146 deletions(-) diff --git a/zha/application/discovery.py b/zha/application/discovery.py index ef116eedc..e79c41626 100644 --- a/zha/application/discovery.py +++ b/zha/application/discovery.py @@ -627,16 +627,33 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit selected_matches = override_matches for match, entity_class in selected_matches: + cluster_handlers: list[ClusterHandler | ClientClusterHandler] = [] + if isinstance(match, ClusterMatch): - # New cluster-based discovery: resolve cluster handlers from - # cluster IDs for backward compatibility during migration. - # Handlers are NOT claimed: configuration is handled by - # configure_cluster_configs/initialize_cluster_configs. - server_cluster_handlers = _resolve_cluster_handlers_for_match( - endpoint, match + cluster_handlers.extend( + _resolve_cluster_handlers_for_match(endpoint, match) + ) + cluster_handlers.extend( + _resolve_client_cluster_handlers_for_match(endpoint, match) + ) + + primary_cluster_id = next( + iter( + match.server_clusters + | match.client_clusters + | match.optional_server_clusters + | match.optional_client_clusters + ), + None, ) - client_cluster_handlers = _resolve_client_cluster_handlers_for_match( - endpoint, match + if primary_cluster_id is None: + _LOGGER.error( + "ClusterMatch entity %s has no cluster ids declared", + entity_class.__name__, + ) + continue + legacy_unique_id = ( + f"{device.ieee}-{endpoint.id}-{primary_cluster_id}" ) else: server_handlers = set(match.cluster_handlers) @@ -655,51 +672,31 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit for name in client_handlers ] - # Claim on endpoint (only for legacy ClusterHandlerMatch entities) - if not isinstance(match, ClusterMatch): + # Legacy ClusterHandlerMatch entities still claim handlers endpoint.claim_cluster_handlers(server_cluster_handlers) endpoint.claim_cluster_handlers(client_cluster_handlers) + cluster_handlers = ( + server_cluster_handlers + client_cluster_handlers # type: ignore[operator] + ) + + primary_handler = cluster_handlers[0] + legacy_unique_id = ( + f"{device.ieee}-{endpoint.id}-{primary_handler.cluster.cluster_id}" + ) + _LOGGER.debug( - "'%s' platform -> '%s' using %s + %s", + "'%s' platform -> '%s'", entity_class.PLATFORM, entity_class.__name__, - [ch.name for ch in server_cluster_handlers], - [ch.name for ch in client_cluster_handlers], - ) - - # XXX: Combining server and client cluster handlers should not be done - cluster_handlers: list[ClusterHandler | ClientClusterHandler] = ( - server_cluster_handlers + client_cluster_handlers # type: ignore[operator] ) - init_kwargs: dict[str, Any] = {} - if isinstance(match, ClusterMatch) and not cluster_handlers: - # ClusterMatch entity with no resolved handler instance — derive - # the legacy unique_id from the match's primary cluster id so the - # entity can be constructed without going through a cluster - # handler. Needed for virtual entities that match clusters with - # no registered ClientClusterHandler. - primary_cluster_id = next( - iter( - match.server_clusters - | match.client_clusters - | match.optional_server_clusters - | match.optional_client_clusters - ), - None, - ) - if primary_cluster_id is not None: - init_kwargs["legacy_discovery_unique_id"] = ( - f"{device.ieee}-{endpoint.id}-{primary_cluster_id}" - ) - try: entity = entity_class( cluster_handlers=cluster_handlers, endpoint=endpoint, device=device, - **init_kwargs, + legacy_discovery_unique_id=legacy_unique_id, ) except Exception: # pylint: disable=broad-except _LOGGER.exception("Failed to create %s entity", entity_class.__name__) diff --git a/zha/application/helpers.py b/zha/application/helpers.py index a0e09b179..94452f6b6 100644 --- a/zha/application/helpers.py +++ b/zha/application/helpers.py @@ -35,6 +35,7 @@ ) from zha.async_ import gather_with_limited_concurrency from zha.decorators import periodic +from zha.exceptions import ZHAException if TYPE_CHECKING: from zha.application.gateway import Gateway @@ -89,6 +90,26 @@ async def safe_read( return {} +async def write_attributes_safe( + cluster: zigpy.zcl.Cluster, + attributes: dict[str, Any], + manufacturer: int | UndefinedType | None = UNDEFINED, +) -> None: + """Write attributes and raise on any per-attribute failure.""" + res = await cluster.write_attributes(attributes, manufacturer=manufacturer) + for record in res[0]: + if record.status != foundation.Status.SUCCESS: + try: + name = cluster.attributes[record.attrid].name + value = attributes.get(name, "unknown") + except KeyError: + name = f"0x{record.attrid:04x}" + value = "unknown" + raise ZHAException( + f"Failed to write attribute {name}={value}: {record.status}", + ) + + async def get_matched_clusters( source_zha_device: Device, target_zha_device: Device ) -> list[BindingPair]: diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index 9da04d6b1..38f7d67b8 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -526,23 +526,25 @@ class PlatformEntity(BaseEntity): def __init__( self, - cluster_handlers: list[ClusterHandler], - endpoint: Endpoint, - device: Device, + cluster_handlers: list[ClusterHandler] | None = None, + endpoint: Endpoint | None = None, + device: Device | None = None, *, entity_metadata: EntityMetadata | None = None, - legacy_discovery_unique_id: str | None = None, + legacy_discovery_unique_id: str, **kwargs: Any, ): - """Initialize the platform entity.""" + """Initialize the platform entity. + + `cluster_handlers` is kept for legacy entity classes that haven't been + migrated to direct-cluster access. New entity classes should access + clusters directly via `endpoint.zigpy_endpoint.` and ignore the + param. TODO: remove `cluster_handlers` entirely once all entities are + migrated. + """ if entity_metadata is not None: self._init_from_quirks_metadata(entity_metadata) - if legacy_discovery_unique_id is None: - legacy_discovery_unique_id = ( - f"{device.ieee}-{endpoint.id}-{cluster_handlers[0].cluster.cluster_id}" - ) - if self._unique_id_suffix is not None: unique_id = f"{legacy_discovery_unique_id}-{self._unique_id_suffix}" else: @@ -550,14 +552,19 @@ def __init__( super().__init__(unique_id=unique_id, **kwargs) - self._cluster_handlers: list[ClusterHandler] = cluster_handlers - self.cluster_handlers: dict[str, ClusterHandler] = {} - - for cluster_handler in cluster_handlers: - self.cluster_handlers[cluster_handler.name] = cluster_handler - + assert endpoint is not None + assert device is not None self._device: Device = device self._endpoint = endpoint + self._cluster_handlers: list[ClusterHandler] = list(cluster_handlers or []) + + @property + def cluster_handlers(self) -> dict[str, ClusterHandler]: + """Legacy: cluster handlers dict keyed by ep_attribute. + + TODO: remove once all entity classes access clusters directly. + """ + return {ch.name: ch for ch in self._cluster_handlers} def _init_from_quirks_metadata(self, entity_metadata: EntityMetadata) -> None: """Init this entity from the quirks metadata.""" diff --git a/zha/application/platforms/alarm_control_panel/__init__.py b/zha/application/platforms/alarm_control_panel/__init__.py index aa13b4a40..c00bef433 100644 --- a/zha/application/platforms/alarm_control_panel/__init__.py +++ b/zha/application/platforms/alarm_control_panel/__init__.py @@ -157,6 +157,7 @@ def __init__( ) else f"{endpoint.device.ieee}-{endpoint.id}-{int(IasAce.cluster_id)}" ) + kwargs.pop("legacy_discovery_unique_id", None) super().__init__( cluster_handlers, endpoint, diff --git a/zha/application/platforms/climate/__init__.py b/zha/application/platforms/climate/__init__.py index c1ab52270..b2ed4d202 100644 --- a/zha/application/platforms/climate/__init__.py +++ b/zha/application/platforms/climate/__init__.py @@ -346,6 +346,7 @@ def __init__( if endpoint.zigpy_endpoint.device_type == zha.DeviceType.THERMOSTAT else f"{endpoint.device.ieee}-{endpoint.id}-{int(ThermostatCluster.cluster_id)}" ) + kwargs.pop("legacy_discovery_unique_id", None) super().__init__( cluster_handlers, endpoint, diff --git a/zha/application/platforms/cover/__init__.py b/zha/application/platforms/cover/__init__.py index e539e9f13..350c122a8 100644 --- a/zha/application/platforms/cover/__init__.py +++ b/zha/application/platforms/cover/__init__.py @@ -185,6 +185,7 @@ def __init__( **kwargs, ) -> None: """Init this cover.""" + kwargs.pop("legacy_discovery_unique_id", None) legacy_discovery_unique_id = ( f"{endpoint.device.ieee}-{endpoint.id}" if ( @@ -826,6 +827,7 @@ def __init__( **kwargs, ) -> None: """Initialize the ZHA shade.""" + kwargs.pop("legacy_discovery_unique_id", None) super().__init__( cluster_handlers, endpoint, diff --git a/zha/application/platforms/device_tracker.py b/zha/application/platforms/device_tracker.py index 769cec685..9ad19083a 100644 --- a/zha/application/platforms/device_tracker.py +++ b/zha/application/platforms/device_tracker.py @@ -9,6 +9,12 @@ from typing import TYPE_CHECKING, Any from zigpy.profiles import zha +from zigpy.zcl import ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, +) from zigpy.zcl.clusters.general import PowerConfiguration from zha.application import Platform @@ -21,16 +27,9 @@ ) from zha.application.platforms.sensor import Battery from zha.decorators import periodic -from zha.zigbee.cluster_handlers import ClusterAttributeUpdatedEvent -from zha.zigbee.cluster_handlers.const import ( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - CLUSTER_HANDLER_POWER_CONFIGURATION, - REPORT_CONFIG_BATTERY_SAVE, -) -from zha.zigbee.cluster_handlers import ClusterHandler +from zha.zigbee.cluster_handlers.const import REPORT_CONFIG_BATTERY_SAVE if TYPE_CHECKING: - from zha.zigbee.cluster_handlers import ClusterHandler from zha.zigbee.device import Device from zha.zigbee.endpoint import Endpoint @@ -121,21 +120,14 @@ class DeviceScannerEntity(BaseDeviceTracker): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs, ): """Initialize the ZHA device tracker.""" - super().__init__( - cluster_handlers, - endpoint, - device, - **kwargs, - legacy_discovery_unique_id=f"{endpoint.device.ieee}-{endpoint.id}", - ) - self._battery_cluster_handler: ClusterHandler = self.cluster_handlers[ - CLUSTER_HANDLER_POWER_CONFIGURATION + super().__init__(endpoint=endpoint, device=device, **kwargs) + self._cluster = endpoint.zigpy_endpoint.in_clusters[ + PowerConfiguration.cluster_id ] self._connected: bool = False self._keepalive_interval: int = 60 @@ -145,12 +137,17 @@ def __init__( def on_add(self) -> None: """Run when entity is added.""" super().on_add() - self._on_remove_callbacks.append( - self._battery_cluster_handler.on_event( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - self.handle_cluster_handler_attribute_updated, + for event_type in ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + ): + self._on_remove_callbacks.append( + self._cluster.on_event( + event_type.event_type, self.handle_attribute_updated + ) ) - ) self._tracked_tasks.append( self.device.gateway.async_create_background_task( @@ -200,8 +197,12 @@ async def async_update(self) -> None: self._connected = True self.maybe_emit_state_changed_event() - def handle_cluster_handler_attribute_updated( - self, event: ClusterAttributeUpdatedEvent + def handle_attribute_updated( + self, + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, ) -> None: """Handle tracking.""" if ( @@ -209,7 +210,7 @@ def handle_cluster_handler_attribute_updated( != PowerConfiguration.AttributeDefs.battery_percentage_remaining.name ): return - self.debug("battery_percentage_remaining updated: %s", event.attribute_value) + self.debug("battery_percentage_remaining updated: %s", event.value) self._connected = True - self._battery_level = Battery.formatter(event.attribute_value) + self._battery_level = Battery.formatter(event.value) self.maybe_emit_state_changed_event() diff --git a/zha/application/platforms/light/__init__.py b/zha/application/platforms/light/__init__.py index bab4ad95f..26a04654a 100644 --- a/zha/application/platforms/light/__init__.py +++ b/zha/application/platforms/light/__init__.py @@ -922,6 +922,7 @@ def __init__( **kwargs, ) -> None: """Initialize the light.""" + kwargs.pop("legacy_discovery_unique_id", None) super().__init__( cluster_handlers, endpoint, diff --git a/zha/application/platforms/lock/__init__.py b/zha/application/platforms/lock/__init__.py index ca8179e9c..29d123391 100644 --- a/zha/application/platforms/lock/__init__.py +++ b/zha/application/platforms/lock/__init__.py @@ -3,8 +3,14 @@ from __future__ import annotations from abc import ABC, abstractmethod -from typing import TYPE_CHECKING, Any, Literal, cast +from typing import TYPE_CHECKING, Any, Literal +from zigpy.zcl import ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, +) from zigpy.zcl.clusters.closures import DoorLock as DoorLockCluster from zigpy.zcl.foundation import Status @@ -21,16 +27,9 @@ STATE_UNLOCKED, VALUE_TO_STATE, ) -from zha.zigbee.cluster_handlers import ClusterAttributeUpdatedEvent -from zha.zigbee.cluster_handlers.closures import DoorLockClusterHandler -from zha.zigbee.cluster_handlers.const import ( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - CLUSTER_HANDLER_DOORLOCK, - REPORT_CONFIG_IMMEDIATE, -) +from zha.zigbee.cluster_handlers.const import REPORT_CONFIG_IMMEDIATE if TYPE_CHECKING: - from zha.zigbee.cluster_handlers import ClusterHandler from zha.zigbee.device import Device from zha.zigbee.endpoint import Endpoint @@ -86,29 +85,31 @@ class DoorLock(BaseLock): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs, ) -> None: """Initialize the lock.""" - super().__init__(cluster_handlers, endpoint, device, **kwargs) - self._doorlock_cluster_handler: DoorLockClusterHandler = cast( - DoorLockClusterHandler, self.cluster_handlers[CLUSTER_HANDLER_DOORLOCK] - ) + super().__init__(endpoint=endpoint, device=device, **kwargs) + self._cluster = endpoint.zigpy_endpoint.in_clusters[DoorLockCluster.cluster_id] self._state: str | None = VALUE_TO_STATE.get( - self._doorlock_cluster_handler.cluster.get("lock_state"), None + self._cluster.get(DoorLockCluster.AttributeDefs.lock_state.name), None ) def on_add(self) -> None: """Run when entity is added.""" super().on_add() - self._on_remove_callbacks.append( - self._doorlock_cluster_handler.on_event( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - self.handle_cluster_handler_attribute_updated, + for event_type in ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + ): + self._on_remove_callbacks.append( + self._cluster.on_event( + event_type.event_type, self.handle_attribute_updated + ) ) - ) @property def is_locked(self) -> bool: @@ -119,7 +120,7 @@ def is_locked(self) -> bool: async def async_lock(self) -> None: """Lock the lock.""" - result = await self._doorlock_cluster_handler.lock_door() + result = await self._cluster.lock_door() if result[0] is not Status.SUCCESS: self.error("Error with lock_door: %s", result) return @@ -129,7 +130,7 @@ async def async_lock(self) -> None: async def async_unlock(self) -> None: """Unlock the lock.""" - result = await self._doorlock_cluster_handler.unlock_door() + result = await self._cluster.unlock_door() if result[0] is not Status.SUCCESS: self.error("Error with unlock_door: %s", result) return @@ -139,44 +140,49 @@ async def async_unlock(self) -> None: async def async_set_lock_user_code(self, code_slot: int, user_code: str) -> None: """Set the user_code to index X on the lock.""" - if self._doorlock_cluster_handler: - await self._doorlock_cluster_handler.async_set_user_code( - code_slot, user_code - ) - self.debug("User code at slot %s set", code_slot) + await self._cluster.set_pin_code( + code_slot - 1, # start code slots at 1, Zigbee internals use 0 + DoorLockCluster.UserStatus.Enabled, + DoorLockCluster.UserType.Unrestricted, + user_code, + ) + self.debug("User code at slot %s set", code_slot) async def async_enable_lock_user_code(self, code_slot: int) -> None: """Enable user_code at index X on the lock.""" - if self._doorlock_cluster_handler: - await self._doorlock_cluster_handler.async_enable_user_code(code_slot) - self.debug("User code at slot %s enabled", code_slot) + await self._cluster.set_user_status( + code_slot - 1, DoorLockCluster.UserStatus.Enabled + ) + self.debug("User code at slot %s enabled", code_slot) async def async_disable_lock_user_code(self, code_slot: int) -> None: """Disable user_code at index X on the lock.""" - if self._doorlock_cluster_handler: - await self._doorlock_cluster_handler.async_disable_user_code(code_slot) - self.debug("User code at slot %s disabled", code_slot) + await self._cluster.set_user_status( + code_slot - 1, DoorLockCluster.UserStatus.Disabled + ) + self.debug("User code at slot %s disabled", code_slot) async def async_clear_lock_user_code(self, code_slot: int) -> None: """Clear the user_code at index X on the lock.""" - if self._doorlock_cluster_handler: - await self._doorlock_cluster_handler.async_clear_user_code(code_slot) - self.debug("User code at slot %s cleared", code_slot) + await self._cluster.clear_pin_code(code_slot - 1) + self.debug("User code at slot %s cleared", code_slot) - def handle_cluster_handler_attribute_updated( - self, event: ClusterAttributeUpdatedEvent + def handle_attribute_updated( + self, + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, ) -> None: - """Handle state update from cluster handler.""" + """Handle state update from the door-lock cluster.""" if event.attribute_id != DoorLockCluster.AttributeDefs.lock_state.id: return - self._state = VALUE_TO_STATE.get(event.attribute_value, self._state) + self._state = VALUE_TO_STATE.get(event.value, self._state) self.maybe_emit_state_changed_event() async def async_update(self) -> None: """Refresh state from the cluster cache.""" - value = self._doorlock_cluster_handler.cluster.get( - DoorLockCluster.AttributeDefs.lock_state.name - ) + value = self._cluster.get(DoorLockCluster.AttributeDefs.lock_state.name) if value is not None: self._state = VALUE_TO_STATE.get(value, self._state) self.maybe_emit_state_changed_event() diff --git a/zha/application/platforms/siren.py b/zha/application/platforms/siren.py index 87875d988..9bef7d6bf 100644 --- a/zha/application/platforms/siren.py +++ b/zha/application/platforms/siren.py @@ -155,6 +155,7 @@ def __init__( ) else f"{endpoint.device.ieee}-{endpoint.id}-{int(IasWd.cluster_id)}" ) + kwargs.pop("legacy_discovery_unique_id", None) super().__init__( cluster_handlers, diff --git a/zha/application/platforms/switch.py b/zha/application/platforms/switch.py index 99e66ad69..835ff4c73 100644 --- a/zha/application/platforms/switch.py +++ b/zha/application/platforms/switch.py @@ -162,6 +162,7 @@ def __init__( ) else f"{endpoint.device.ieee}-{endpoint.id}-{int(OnOff.cluster_id)}" ) + kwargs.pop("legacy_discovery_unique_id", None) super().__init__( cluster_handlers, @@ -420,6 +421,7 @@ def __init__( } else f"{endpoint.device.ieee}-{endpoint.id}-{int(cluster_handlers[0].cluster.cluster_id)}" ) + kwargs.pop("legacy_discovery_unique_id", None) super().__init__( cluster_handlers, diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py index e99f5be03..70174b65b 100644 --- a/zha/application/platforms/virtual.py +++ b/zha/application/platforms/virtual.py @@ -63,34 +63,26 @@ class VirtualEntity(PlatformEntity): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs: Any, ) -> None: """Initialize the virtual entity.""" - super().__init__(cluster_handlers, endpoint, device, **kwargs) + super().__init__(endpoint=endpoint, device=device, **kwargs) # Cache the (single) cluster this virtual entity drives, for the # cluster_command listener hook. - if cluster_handlers: - self._cluster: zigpy.zcl.Cluster | None = cluster_handlers[0].cluster - else: - # No cluster handler was resolved (e.g. virtual entity matches a - # client cluster with no registered ClientClusterHandler). Look up - # the cluster directly from the endpoint via this entity's declared - # cluster config. - self._cluster = None - for cluster_id in self._server_cluster_config: - cluster = endpoint.zigpy_endpoint.in_clusters.get(cluster_id) + self._cluster: zigpy.zcl.Cluster | None = None + for cluster_id in self._server_cluster_config: + cluster = endpoint.zigpy_endpoint.in_clusters.get(cluster_id) + if cluster is not None: + self._cluster = cluster + break + if self._cluster is None: + for cluster_id in self._client_cluster_config: + cluster = endpoint.zigpy_endpoint.out_clusters.get(cluster_id) if cluster is not None: self._cluster = cluster break - if self._cluster is None: - for cluster_id in self._client_cluster_config: - cluster = endpoint.zigpy_endpoint.out_clusters.get(cluster_id) - if cluster is not None: - self._cluster = cluster - break def on_add(self) -> None: """Subscribe to incoming cluster commands and attribute events.""" @@ -263,13 +255,12 @@ class OnOffClientCacheSync(VirtualEntity): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs: Any, ) -> None: """Initialize the OnOff client cache sync.""" - super().__init__(cluster_handlers, endpoint, device, **kwargs) + super().__init__(endpoint=endpoint, device=device, **kwargs) self._off_listener: asyncio.TimerHandle | None = None @property From 4536dcfe1eb684498ec6c10a5e9ff882fdb74155 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sat, 16 May 2026 02:21:14 -0400 Subject: [PATCH 25/85] WIP: finish migration? --- zha/application/discovery.py | 154 +----- zha/application/helpers.py | 14 + zha/application/platforms/__init__.py | 58 +- .../platforms/alarm_control_panel/__init__.py | 272 +++++++-- .../platforms/binary_sensor/__init__.py | 142 +++-- zha/application/platforms/button/__init__.py | 42 +- zha/application/platforms/climate/__init__.py | 521 ++++++++++++------ zha/application/platforms/cover/__init__.py | 205 ++++--- zha/application/platforms/fan/__init__.py | 134 +++-- zha/application/platforms/light/__init__.py | 357 +++++++----- zha/application/platforms/number/__init__.py | 363 +++++++----- zha/application/platforms/select.py | 194 ++++--- zha/application/platforms/sensor/__init__.py | 407 +++++++++----- zha/application/platforms/siren.py | 83 ++- zha/application/platforms/switch.py | 401 ++++++++------ zha/application/platforms/update.py | 121 ++-- 16 files changed, 2107 insertions(+), 1361 deletions(-) diff --git a/zha/application/discovery.py b/zha/application/discovery.py index e79c41626..a5687fc4d 100644 --- a/zha/application/discovery.py +++ b/zha/application/discovery.py @@ -28,7 +28,6 @@ ENTITY_REGISTRY, GROUP_ENTITY_REGISTRY, BaseEntity, - ClusterHandlerMatch, ClusterMatch, PlatformEntity, PlatformFeatureGroup, @@ -363,7 +362,6 @@ def discover_quirks_v2_entities(device: Device) -> Iterator[PlatformEntity]: attribute_initialization_found = True yield entity_class( - cluster_handlers=[cluster_handler], endpoint=endpoint, device=device, entity_metadata=entity_metadata, @@ -403,42 +401,6 @@ def _is_renamed_cluster(cluster: Cluster) -> bool: return cluster.ep_attribute != standard.ep_attribute -def _resolve_cluster_handlers_for_match( - endpoint: Endpoint, match: ClusterMatch -) -> list[ClusterHandler]: - """Resolve server cluster handlers from a ClusterMatch.""" - result: list[ClusterHandler] = [] - - for cluster_id in match.server_clusters | match.optional_server_clusters: - key = f"{endpoint.id}:0x{cluster_id:04x}" - if key not in endpoint.all_cluster_handlers: - continue - handler = endpoint.all_cluster_handlers[key] - if not match.match_renamed_clusters and _is_renamed_cluster(handler.cluster): - continue - result.append(handler) - - return result - - -def _resolve_client_cluster_handlers_for_match( - endpoint: Endpoint, match: ClusterMatch -) -> list[ClientClusterHandler]: - """Resolve client cluster handlers from a ClusterMatch.""" - result: list[ClientClusterHandler] = [] - - for cluster_id in match.client_clusters | match.optional_client_clusters: - key = f"{endpoint.id}:0x{cluster_id:04x}_client" - if key not in endpoint.client_cluster_handlers: - continue - handler = endpoint.client_cluster_handlers[key] - if not match.match_renamed_clusters and _is_renamed_cluster(handler.cluster): - continue - result.append(handler) - - return result - - def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntity]: # noqa: C901 """Discover entities for an endpoint using the new registry-based discovery.""" device = endpoint.device @@ -458,7 +420,7 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit PlatformFeatureGroup | None, defaultdict[ int, # Weight - list[tuple[ClusterHandlerMatch | ClusterMatch, type[PlatformEntity]]], + list[tuple[ClusterMatch, type[PlatformEntity]]], ], ] = defaultdict(lambda: defaultdict(list)) @@ -485,38 +447,22 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit # To speed up lookups, we key ENTITY_REGISTRY by cluster ID. First, we find all # compatible entities and their matching criteria. for entity_class in ENTITY_REGISTRY.get(cluster.cluster_id, []): - match: ClusterHandlerMatch | ClusterMatch | None - - if entity_class._cluster_match is not None: - match = entity_class._cluster_match - elif entity_class._cluster_handler_match is not None: - match = entity_class._cluster_handler_match - else: + if entity_class._cluster_match is None: continue + match = entity_class._cluster_match - if isinstance(match, ClusterMatch): - if match.match_renamed_clusters: - available_in = in_cluster_ids_with_renamed - available_out = out_cluster_ids_with_renamed - else: - available_in = in_cluster_ids - available_out = out_cluster_ids - - if not match.server_clusters.issubset(available_in): - continue - - if not match.client_clusters.issubset(available_out): - continue + if match.match_renamed_clusters: + available_in = in_cluster_ids_with_renamed + available_out = out_cluster_ids_with_renamed else: - if not match.cluster_handlers.issubset( - endpoint.cluster_handlers_by_name.keys() - ): - continue + available_in = in_cluster_ids + available_out = out_cluster_ids + + if not match.server_clusters.issubset(available_in): + continue - if not match.client_cluster_handlers.issubset( - endpoint.client_cluster_handlers_by_name.keys() - ): - continue + if not match.client_clusters.issubset(available_out): + continue if ( match.exposed_features is not None @@ -580,7 +526,7 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit if platform_override is not None and feature is not None: override_by_priority: defaultdict[ int, - list[tuple[ClusterHandlerMatch | ClusterMatch, type[PlatformEntity]]], + list[tuple[ClusterMatch, type[PlatformEntity]]], ] = defaultdict(list) for priority, priority_matches in matches_by_priority.items(): @@ -627,63 +573,22 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit selected_matches = override_matches for match, entity_class in selected_matches: - cluster_handlers: list[ClusterHandler | ClientClusterHandler] = [] - - if isinstance(match, ClusterMatch): - cluster_handlers.extend( - _resolve_cluster_handlers_for_match(endpoint, match) - ) - cluster_handlers.extend( - _resolve_client_cluster_handlers_for_match(endpoint, match) - ) - - primary_cluster_id = next( - iter( - match.server_clusters - | match.client_clusters - | match.optional_server_clusters - | match.optional_client_clusters - ), - None, - ) - if primary_cluster_id is None: - _LOGGER.error( - "ClusterMatch entity %s has no cluster ids declared", - entity_class.__name__, - ) - continue - legacy_unique_id = ( - f"{device.ieee}-{endpoint.id}-{primary_cluster_id}" - ) - else: - server_handlers = set(match.cluster_handlers) - - for optional in match.optional_cluster_handlers: - if optional in endpoint.cluster_handlers_by_name: - server_handlers.add(optional) - - client_handlers = set(match.client_cluster_handlers) - - server_cluster_handlers = [ - endpoint.cluster_handlers_by_name[name] for name in server_handlers - ] - client_cluster_handlers = [ - endpoint.client_cluster_handlers_by_name[name] - for name in client_handlers - ] - - # Legacy ClusterHandlerMatch entities still claim handlers - endpoint.claim_cluster_handlers(server_cluster_handlers) - endpoint.claim_cluster_handlers(client_cluster_handlers) - - cluster_handlers = ( - server_cluster_handlers + client_cluster_handlers # type: ignore[operator] - ) - - primary_handler = cluster_handlers[0] - legacy_unique_id = ( - f"{device.ieee}-{endpoint.id}-{primary_handler.cluster.cluster_id}" + primary_cluster_id = next( + iter( + match.server_clusters + | match.client_clusters + | match.optional_server_clusters + | match.optional_client_clusters + ), + None, + ) + if primary_cluster_id is None: + _LOGGER.error( + "ClusterMatch entity %s has no cluster ids declared", + entity_class.__name__, ) + continue + legacy_unique_id = f"{device.ieee}-{endpoint.id}-{primary_cluster_id}" _LOGGER.debug( "'%s' platform -> '%s'", @@ -693,7 +598,6 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit try: entity = entity_class( - cluster_handlers=cluster_handlers, endpoint=endpoint, device=device, legacy_discovery_unique_id=legacy_unique_id, diff --git a/zha/application/helpers.py b/zha/application/helpers.py index 94452f6b6..dfdb5216e 100644 --- a/zha/application/helpers.py +++ b/zha/application/helpers.py @@ -90,6 +90,20 @@ async def safe_read( return {} +def cluster_runtime_state(cluster: zigpy.zcl.Cluster) -> dict[str, Any]: + """Return a per-cluster, in-memory runtime state dict. + + Used for cross-entity coordination state (e.g. siren preference values set + by select entities and read back by the siren entity) that does not belong + in the ZCL attribute cache. + """ + cache = getattr(cluster, "_zha_runtime_state", None) + if cache is None: + cache = {} + cluster._zha_runtime_state = cache + return cache + + async def write_attributes_safe( cluster: zigpy.zcl.Cluster, attributes: dict[str, Any], diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index 38f7d67b8..f09184772 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -28,7 +28,6 @@ from zha.zigbee.cluster_handlers import ClusterHandlerInfo if TYPE_CHECKING: - from zha.zigbee.cluster_handlers import ClusterHandler from zha.zigbee.device import Device from zha.zigbee.endpoint import Endpoint from zha.zigbee.group import Group @@ -132,29 +131,6 @@ class ClusterMatch: match_renamed_clusters: bool = False -@dataclasses.dataclass(frozen=True) -class ClusterHandlerMatch: - """Declares cluster handler requirements for an entity class.""" - - cluster_handlers: frozenset[str] = frozenset() - client_cluster_handlers: frozenset[str] = frozenset() - optional_cluster_handlers: frozenset[str] = frozenset() - - # Strict filters: if present, device info must match - manufacturers: frozenset[str] | None = None - models: frozenset[str] | None = None - exposed_features: frozenset[str] | None = None - not_exposed_features: frozenset[str] | None = None - - # If present, device must match one of the given profile and device type combinations. - # This will be ignored if `platform_override` is used. - profile_device_types: frozenset[tuple[int, int]] | None = None - not_profile_device_types: frozenset[tuple[int, int]] | None = None - - # For a given feature, only entities with the highest priority will be considered - feature_priority: tuple[PlatformFeatureGroup, int] | None = None - - def register_entity[T: type[PlatformEntity]](cluster_id: ClusterId) -> Callable[[T], T]: """Register an entity class for discovery.""" @@ -514,34 +490,23 @@ class PlatformEntity(BaseEntity): _migrate_platform_unique_ids: tuple[tuple[UniqueIdMigration, str]] | None = None - # Legacy: Auto-discovery for the entity (being phased out) - _cluster_handler_match: ClusterHandlerMatch | None = None - - # New: Direct cluster matching for discovery + # Direct cluster matching for discovery _cluster_match: ClusterMatch | None = None - # New: Per-cluster configuration (keyed by cluster ID) + # Per-cluster configuration (keyed by cluster ID) _server_cluster_config: dict[int, ClusterConfig] = {} _client_cluster_config: dict[int, ClusterConfig] = {} def __init__( self, - cluster_handlers: list[ClusterHandler] | None = None, - endpoint: Endpoint | None = None, - device: Device | None = None, + endpoint: Endpoint, + device: Device, *, entity_metadata: EntityMetadata | None = None, legacy_discovery_unique_id: str, **kwargs: Any, ): - """Initialize the platform entity. - - `cluster_handlers` is kept for legacy entity classes that haven't been - migrated to direct-cluster access. New entity classes should access - clusters directly via `endpoint.zigpy_endpoint.` and ignore the - param. TODO: remove `cluster_handlers` entirely once all entities are - migrated. - """ + """Initialize the platform entity.""" if entity_metadata is not None: self._init_from_quirks_metadata(entity_metadata) @@ -552,19 +517,8 @@ def __init__( super().__init__(unique_id=unique_id, **kwargs) - assert endpoint is not None - assert device is not None self._device: Device = device self._endpoint = endpoint - self._cluster_handlers: list[ClusterHandler] = list(cluster_handlers or []) - - @property - def cluster_handlers(self) -> dict[str, ClusterHandler]: - """Legacy: cluster handlers dict keyed by ep_attribute. - - TODO: remove once all entity classes access clusters directly. - """ - return {ch.name: ch for ch in self._cluster_handlers} def _init_from_quirks_metadata(self, entity_metadata: EntityMetadata) -> None: """Init this entity from the quirks metadata.""" @@ -621,7 +575,7 @@ def info_object(self) -> BaseEntityInfo: """Return a representation of the platform entity.""" return dataclasses.replace( super().info_object, - cluster_handlers=[ch.info_object for ch in self._cluster_handlers], + cluster_handlers=[], device_ieee=self._device.ieee, endpoint_id=self._endpoint.id, available=self.available, diff --git a/zha/application/platforms/alarm_control_panel/__init__.py b/zha/application/platforms/alarm_control_panel/__init__.py index c00bef433..08cde493c 100644 --- a/zha/application/platforms/alarm_control_panel/__init__.py +++ b/zha/application/platforms/alarm_control_panel/__init__.py @@ -3,13 +3,14 @@ from __future__ import annotations from abc import ABC, abstractmethod +from collections.abc import Callable from dataclasses import dataclass import functools import logging -from typing import TYPE_CHECKING, Any, cast +from typing import TYPE_CHECKING, Any from zigpy.profiles import zha -from zigpy.zcl.clusters.security import IasAce +from zigpy.zcl.clusters.security import IasAce as AceCluster from zha.application import Platform from zha.application.platforms import ( @@ -28,19 +29,16 @@ AlarmState, CodeFormat, ) -from zha.zigbee.cluster_handlers.const import CLUSTER_HANDLER_STATE_CHANGED -from zha.zigbee.cluster_handlers.security import ( - ClusterHandlerStateChangedEvent, - IasAceClientClusterHandler, -) if TYPE_CHECKING: - from zha.zigbee.cluster_handlers import ClusterHandler from zha.zigbee.device import Device from zha.zigbee.endpoint import Endpoint _LOGGER = logging.getLogger(__name__) +SIGNAL_ARMED_STATE_CHANGED = "zha_armed_state_changed" +SIGNAL_ALARM_TRIGGERED = "zha_armed_triggered" + @dataclass(frozen=True, kw_only=True) class AlarmControlPanelEntityInfo(BaseEntityInfo): @@ -118,7 +116,7 @@ async def async_alarm_trigger(self, code: str | None = None) -> None: """Send alarm trigger command.""" -@register_entity(IasAce.cluster_id) +@register_entity(AceCluster.cluster_id) class AlarmControlPanel(BaseAlarmControlPanel): """Entity for ZHA alarm control devices.""" @@ -132,99 +130,281 @@ class AlarmControlPanel(BaseAlarmControlPanel): ) _cluster_match = ClusterMatch( - client_clusters=frozenset({IasAce.cluster_id}), + client_clusters=frozenset({AceCluster.cluster_id}), ) _client_cluster_config = { - IasAce.cluster_id: ClusterConfig( + AceCluster.cluster_id: ClusterConfig( bind=True, ), } def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs, ) -> None: """Initialize the ZHA alarm control device.""" legacy_discovery_unique_id = ( - f"{endpoint.device.ieee}-{endpoint.id}-{int(IasAce.cluster_id)}" - if ( - endpoint.zigpy_endpoint.device_type - == zha.DeviceType.IAS_ANCILLARY_CONTROL - ) - else f"{endpoint.device.ieee}-{endpoint.id}-{int(IasAce.cluster_id)}" + f"{endpoint.device.ieee}-{endpoint.id}-{int(AceCluster.cluster_id)}" ) kwargs.pop("legacy_discovery_unique_id", None) super().__init__( - cluster_handlers, - endpoint, - device, + endpoint=endpoint, + device=device, **kwargs, legacy_discovery_unique_id=legacy_discovery_unique_id, ) + self._cluster = endpoint.zigpy_endpoint.out_clusters[AceCluster.cluster_id] + alarm_options = device.gateway.config.config.alarm_control_panel_options - self._cluster_handler: IasAceClientClusterHandler = cast( - IasAceClientClusterHandler, cluster_handlers[0] - ) - self._cluster_handler.panel_code = alarm_options.master_code - self._cluster_handler.code_required_arm_actions = ( - alarm_options.arm_requires_code + self.panel_code: str = alarm_options.master_code + self.code_required_arm_actions: bool = alarm_options.arm_requires_code + self.max_invalid_tries: int = alarm_options.failed_tries + + self.armed_state: AceCluster.PanelStatus = ( + AceCluster.PanelStatus.Panel_Disarmed ) - self._cluster_handler.max_invalid_tries = alarm_options.failed_tries + self.alarm_status: AceCluster.AlarmStatus = AceCluster.AlarmStatus.No_Alarm + self.invalid_tries: int = 0 + + self._command_map: dict[int, Callable[..., Any]] = { + AceCluster.ServerCommandDefs.arm.id: self._cmd_arm, + AceCluster.ServerCommandDefs.bypass.id: self._bypass, + AceCluster.ServerCommandDefs.emergency.id: self._emergency, + AceCluster.ServerCommandDefs.fire.id: self._fire, + AceCluster.ServerCommandDefs.panic.id: self._panic_cmd, + AceCluster.ServerCommandDefs.get_zone_id_map.id: self._get_zone_id_map, + AceCluster.ServerCommandDefs.get_zone_info.id: self._get_zone_info, + AceCluster.ServerCommandDefs.get_panel_status.id: self._send_panel_status_response, + AceCluster.ServerCommandDefs.get_bypassed_zone_list.id: self._get_bypassed_zone_list, + AceCluster.ServerCommandDefs.get_zone_status.id: self._get_zone_status, + } + self._arm_map: dict[AceCluster.ArmMode, Callable[..., Any]] = { + AceCluster.ArmMode.Disarm: self._disarm, + AceCluster.ArmMode.Arm_All_Zones: self._arm_away, + AceCluster.ArmMode.Arm_Day_Home_Only: self._arm_day, + AceCluster.ArmMode.Arm_Night_Sleep_Only: self._arm_night, + } def on_add(self) -> None: """Run when entity is added.""" super().on_add() + self._cluster.add_listener(self) self._on_remove_callbacks.append( - self._cluster_handler.on_event( - CLUSTER_HANDLER_STATE_CHANGED, self._handle_event_protocol + lambda: self._cluster.remove_listener(self) + ) + + def cluster_command(self, tsn: int, command_id: int, args: list[Any]) -> None: + """Handle commands received on the IAS ACE cluster.""" + self.debug( + "received command %s", self._cluster.server_commands[command_id].name + ) + self._command_map[command_id](*args) + + def _emit_zha_event(self, command: str, args: list | dict) -> None: + """Relay a cluster-level zha_event via the endpoint.""" + self._endpoint.emit_zha_event( + { + "unique_id": self.unique_id, + "cluster_id": self._cluster.cluster_id, + "command": command, + "args": args if isinstance(args, list) else [], + "params": args if isinstance(args, dict) else {}, + } + ) + + def _cmd_arm(self, arm_mode: int, code: str | None, zone_id: int) -> None: + """Handle the IAS ACE arm command.""" + mode = AceCluster.ArmMode(arm_mode) + + self._emit_zha_event( + AceCluster.ServerCommandDefs.arm.name, + { + "arm_mode": mode.value, + "arm_mode_description": mode.name, + "code": code, + "zone_id": zone_id, + }, + ) + + zigbee_reply = self._arm_map[mode](code) + self._device.gateway.async_create_task(zigbee_reply) + + if self.invalid_tries >= self.max_invalid_tries: + self.alarm_status = AceCluster.AlarmStatus.Emergency + self.armed_state = AceCluster.PanelStatus.In_Alarm + self._emit_zha_event(f"{self.unique_id}_{SIGNAL_ALARM_TRIGGERED}", []) + else: + self._emit_zha_event(f"{self.unique_id}_{SIGNAL_ARMED_STATE_CHANGED}", []) + self._emit_panel_status_changed() + + def _disarm(self, code: str): + """Test the code and disarm the panel if the code is correct.""" + if ( + code != self.panel_code + and self.armed_state != AceCluster.PanelStatus.Panel_Disarmed + ): + self.debug("Invalid code supplied to IAS ACE") + self.invalid_tries += 1 + zigbee_reply = self._cluster.arm_response( + AceCluster.ArmNotification.Invalid_Arm_Disarm_Code + ) + else: + self.invalid_tries = 0 + if ( + self.armed_state == AceCluster.PanelStatus.Panel_Disarmed + and self.alarm_status == AceCluster.AlarmStatus.No_Alarm + ): + self.debug("IAS ACE already disarmed") + zigbee_reply = self._cluster.arm_response( + AceCluster.ArmNotification.Already_Disarmed + ) + else: + self.debug("Disarming all IAS ACE zones") + zigbee_reply = self._cluster.arm_response( + AceCluster.ArmNotification.All_Zones_Disarmed + ) + + self.armed_state = AceCluster.PanelStatus.Panel_Disarmed + self.alarm_status = AceCluster.AlarmStatus.No_Alarm + return zigbee_reply + + def _arm_day(self, code: str): + """Arm the panel for day / home zones.""" + return self._handle_arm( + code, + AceCluster.PanelStatus.Armed_Stay, + AceCluster.ArmNotification.Only_Day_Home_Zones_Armed, + ) + + def _arm_night(self, code: str): + """Arm the panel for night / sleep zones.""" + return self._handle_arm( + code, + AceCluster.PanelStatus.Armed_Night, + AceCluster.ArmNotification.Only_Night_Sleep_Zones_Armed, + ) + + def _arm_away(self, code: str): + """Arm the panel for away mode.""" + return self._handle_arm( + code, + AceCluster.PanelStatus.Armed_Away, + AceCluster.ArmNotification.All_Zones_Armed, + ) + + def _handle_arm( + self, + code: str, + panel_status: AceCluster.PanelStatus, + armed_type: AceCluster.ArmNotification, + ): + """Arm the panel with the specified statuses.""" + if self.code_required_arm_actions and code != self.panel_code: + self.debug("Invalid code supplied to IAS ACE") + zigbee_reply = self._cluster.arm_response( + AceCluster.ArmNotification.Invalid_Arm_Disarm_Code ) + else: + self.debug("Arming all IAS ACE zones") + self.armed_state = panel_status + zigbee_reply = self._cluster.arm_response(armed_type) + return zigbee_reply + + def _bypass(self, zone_list, code) -> None: + """Handle the IAS ACE bypass command.""" + self._emit_zha_event( + AceCluster.ServerCommandDefs.bypass.name, + {"zone_list": zone_list, "code": code}, ) + def _emergency(self) -> None: + """Handle the IAS ACE emergency command.""" + self._set_alarm(AceCluster.AlarmStatus.Emergency) + + def _fire(self) -> None: + """Handle the IAS ACE fire command.""" + self._set_alarm(AceCluster.AlarmStatus.Fire) + + def _panic_cmd(self) -> None: + """Handle the IAS ACE panic command (received from device).""" + self._set_alarm(AceCluster.AlarmStatus.Emergency_Panic) + + def _set_alarm(self, status: AceCluster.AlarmStatus) -> None: + """Set the specified alarm status.""" + self.alarm_status = status + self.armed_state = AceCluster.PanelStatus.In_Alarm + self._emit_panel_status_changed() + + def _get_zone_id_map(self): + """Handle the IAS ACE zone id map command.""" + + def _get_zone_info(self, zone_id): + """Handle the IAS ACE zone info command.""" + + def _send_panel_status_response(self) -> None: + """Handle the IAS ACE panel status response command.""" + response = self._cluster.panel_status_response( + self.armed_state, + 0x00, + AceCluster.AudibleNotification.Default_Sound, + self.alarm_status, + ) + self._device.gateway.async_create_task(response) + + def _emit_panel_status_changed(self) -> None: + """Handle the IAS ACE panel status changed command.""" + response = self._cluster.panel_status_changed( + self.armed_state, + 0x00, + AceCluster.AudibleNotification.Default_Sound, + self.alarm_status, + ) + self._device.gateway.async_create_task(response) + self.maybe_emit_state_changed_event() + + def _get_bypassed_zone_list(self): + """Handle the IAS ACE bypassed zone list command.""" + + def _get_zone_status( + self, starting_zone_id, max_zone_ids, zone_status_mask_flag, zone_status_mask + ): + """Handle the IAS ACE zone status command.""" + @property def alarm_state(self) -> AlarmState: """Return the current alarm state.""" - return IAS_ACE_STATE_MAP.get( - self._cluster_handler.armed_state, AlarmState.UNKNOWN - ) + return IAS_ACE_STATE_MAP.get(self.armed_state, AlarmState.UNKNOWN) @property def code_arm_required(self) -> bool: """Whether the code is required for arm actions.""" - return self._cluster_handler.code_required_arm_actions - - def handle_cluster_handler_state_changed( - self, - event: ClusterHandlerStateChangedEvent, # pylint: disable=unused-argument - ) -> None: - """Handle state changed on cluster.""" - self.maybe_emit_state_changed_event() + return self.code_required_arm_actions async def async_alarm_disarm(self, code: str | None = None) -> None: """Send disarm command.""" - self._cluster_handler.arm(IasAce.ArmMode.Disarm, code, 0) + self._cmd_arm(AceCluster.ArmMode.Disarm, code, 0) self.maybe_emit_state_changed_event() async def async_alarm_arm_home(self, code: str | None = None) -> None: """Send arm home command.""" - self._cluster_handler.arm(IasAce.ArmMode.Arm_Day_Home_Only, code, 0) + self._cmd_arm(AceCluster.ArmMode.Arm_Day_Home_Only, code, 0) self.maybe_emit_state_changed_event() async def async_alarm_arm_away(self, code: str | None = None) -> None: """Send arm away command.""" - self._cluster_handler.arm(IasAce.ArmMode.Arm_All_Zones, code, 0) + self._cmd_arm(AceCluster.ArmMode.Arm_All_Zones, code, 0) self.maybe_emit_state_changed_event() async def async_alarm_arm_night(self, code: str | None = None) -> None: """Send arm night command.""" - self._cluster_handler.arm(IasAce.ArmMode.Arm_Night_Sleep_Only, code, 0) + self._cmd_arm(AceCluster.ArmMode.Arm_Night_Sleep_Only, code, 0) self.maybe_emit_state_changed_event() async def async_alarm_trigger(self, code: str | None = None) -> None: # pylint: disable=unused-argument """Send alarm trigger command.""" - self._cluster_handler.panic() + self._panic_cmd() self.maybe_emit_state_changed_event() diff --git a/zha/application/platforms/binary_sensor/__init__.py b/zha/application/platforms/binary_sensor/__init__.py index b377cde6d..4c4b58057 100644 --- a/zha/application/platforms/binary_sensor/__init__.py +++ b/zha/application/platforms/binary_sensor/__init__.py @@ -17,13 +17,19 @@ from zigpy.zcl.clusters.measurement import OccupancySensing from zigpy.zcl.clusters.security import IasZone +from zigpy.zcl import ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, +) + from zha.application import Platform from zha.application.helpers import safe_read from zha.application.platforms import ( AttrConfig, BaseEntityInfo, ClusterConfig, - ClusterHandlerMatch, ClusterMatch, EntityCategory, PlatformEntity, @@ -35,11 +41,8 @@ BinarySensorDeviceClass, ) from zha.application.platforms.helpers import validate_device_class -from zha.zigbee.cluster_handlers import ClusterAttributeUpdatedEvent from zha.zigbee.cluster_handlers.const import ( AQARA_OPPLE_CLUSTER, - CLUSTER_HANDLER_ACCELEROMETER, - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, IKEA_AIR_PURIFIER_CLUSTER, REPORT_CONFIG_IMMEDIATE, SMARTTHINGS_ACCELERATION_CLUSTER, @@ -47,7 +50,6 @@ ) if TYPE_CHECKING: - from zha.zigbee.cluster_handlers import ClusterHandler from zha.zigbee.device import Device from zha.zigbee.endpoint import Endpoint @@ -86,29 +88,38 @@ class BinarySensor(BaseBinarySensor): _attr_device_class: BinarySensorDeviceClass | None _attribute_name: str _attribute_converter: Callable[[Any], Any] | None = None + _cluster_id: int + _is_client_cluster: bool = False def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs, ) -> None: """Initialize the ZHA binary sensor.""" - self._cluster_handler = cluster_handlers[0] - super().__init__(cluster_handlers, endpoint, device, **kwargs) + if self._is_client_cluster: + self._cluster = endpoint.zigpy_endpoint.out_clusters[self._cluster_id] + else: + self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] + super().__init__(endpoint=endpoint, device=device, **kwargs) self._state: bool = self.is_on self.recompute_capabilities() def on_add(self) -> None: """Run when entity is added.""" super().on_add() - self._on_remove_callbacks.append( - self._cluster_handler.on_event( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - self.handle_cluster_handler_attribute_updated, + for event_type in ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + ): + self._on_remove_callbacks.append( + self._cluster.on_event( + event_type.event_type, self.handle_attribute_updated + ) ) - ) def _init_from_quirks_metadata(self, entity_metadata: BinarySensorMetadata) -> None: """Init this entity from the quirks metadata.""" @@ -135,22 +146,24 @@ def info_object(self) -> BinarySensorEntityInfo: @property def is_on(self) -> bool: """Return True if the switch is on based on the state machine.""" - self._state = raw_state = self._cluster_handler.cluster.get( - self._attribute_name - ) + self._state = raw_state = self._cluster.get(self._attribute_name) if raw_state is None: return False if self._attribute_converter: return self._attribute_converter(raw_state) return self.parse(raw_state) - def handle_cluster_handler_attribute_updated( - self, event: ClusterAttributeUpdatedEvent + def handle_attribute_updated( + self, + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, ) -> None: - """Handle attribute updates from the cluster handler.""" + """Handle attribute updates from the cluster.""" if self._attribute_name is None or self._attribute_name != event.attribute_name: return - self._state = bool(event.attribute_value) + self._state = bool(event.value) self.maybe_emit_state_changed_event() async def async_update(self) -> None: @@ -158,7 +171,7 @@ async def async_update(self) -> None: self.debug("polling current state") attribute = self._attribute_name or "on_off" result = await safe_read( - self._cluster_handler.cluster, + self._cluster, [attribute], allow_cache=False, only_cache=False, @@ -181,9 +194,10 @@ class Accelerometer(BinarySensor): _attribute_name = "acceleration" _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.MOVING _attr_translation_key: str = "accelerometer" + _cluster_id = SMARTTHINGS_ACCELERATION_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_ACCELEROMETER}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({SMARTTHINGS_ACCELERATION_CLUSTER}), ) @@ -194,6 +208,7 @@ class Occupancy(BinarySensor): _attribute_name = "occupancy" _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.OCCUPANCY _attr_primary_weight = 2 + _cluster_id = OccupancySensing.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({OccupancySensing.cluster_id}), @@ -225,6 +240,8 @@ class Opening(BinarySensor): _attribute_name = "on_off" _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.OPENING _attr_primary_weight = 1 + _cluster_id = OnOff.cluster_id + _is_client_cluster = True _cluster_match = ClusterMatch( client_clusters=frozenset({OnOff.cluster_id}), @@ -257,6 +274,7 @@ class BinaryInputWithDescription(BinarySensor): """ZHA BinarySensor.""" _attribute_name = "present_value" + _cluster_id = BinaryInputCluster.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({BinaryInputCluster.cluster_id}), @@ -280,10 +298,15 @@ class BinaryInputWithDescription(BinarySensor): def recompute_capabilities(self) -> None: """Recompute capabilities.""" super().recompute_capabilities() - self._attr_fallback_name = self._cluster_handler.description + self._attr_fallback_name = self._cluster.get( + BinaryInputCluster.AttributeDefs.description.name + ) def _is_supported(self) -> bool: - if self._cluster_handler.description is None: + if ( + self._cluster.get(BinaryInputCluster.AttributeDefs.description.name) + is None + ): return False return super()._is_supported() @@ -295,6 +318,7 @@ class BinaryInput(BinarySensor): _attribute_name = "present_value" _attr_translation_key: str = "binary_input" + _cluster_id = BinaryInputCluster.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({BinaryInputCluster.cluster_id}), @@ -317,7 +341,10 @@ class BinaryInput(BinarySensor): def _is_supported(self) -> bool: # Prefer to use the "WithDescription" variant above - if self._cluster_handler.description is not None: + if ( + self._cluster.get(BinaryInputCluster.AttributeDefs.description.name) + is not None + ): return False return super()._is_supported() @@ -330,6 +357,8 @@ class IkeaMotion(BinarySensor): _attribute_name = "on_off" _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.MOTION _attr_primary_weight = 1 + _cluster_id = OnOff.cluster_id + _is_client_cluster = True _cluster_match = ClusterMatch( client_clusters=frozenset({OnOff.cluster_id}), @@ -346,6 +375,8 @@ class PhilipsMotion(BinarySensor): _attribute_name = "on_off" _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.MOTION _attr_primary_weight = 1 + _cluster_id = OnOff.cluster_id + _is_client_cluster = True _cluster_match = ClusterMatch( client_clusters=frozenset({OnOff.cluster_id}), @@ -361,6 +392,7 @@ class IASZone(BinarySensor): _attribute_name = "zone_status" _attr_primary_weight = 3 + _cluster_id = IasZone.cluster_id # TODO: split this sensor off into individual sensor classes per IASZone type @@ -388,7 +420,7 @@ class IASZone(BinarySensor): def recompute_capabilities(self) -> None: """Recompute capabilities.""" super().recompute_capabilities() - zone_type = self._cluster_handler.cluster.get("zone_type") + zone_type = self._cluster.get(IasZone.AttributeDefs.zone_type.name) if zone_type is None: self._attr_translation_key = "ias_zone" @@ -410,7 +442,7 @@ async def async_update(self) -> None: """Attempt to retrieve on off state from the IAS Zone sensor.""" self.debug("polling current state") await safe_read( - self._cluster_handler.cluster, + self._cluster, [self._attribute_name], allow_cache=False, only_cache=False, @@ -425,6 +457,7 @@ class SinopeLeakStatus(BinarySensor): _attribute_name = "leak_status" _attr_device_class = BinarySensorDeviceClass.MOISTURE _attr_primary_weight = 1 + _cluster_id = IasZone.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({IasZone.cluster_id}), @@ -440,9 +473,10 @@ class FrostLock(BinarySensor): _unique_id_suffix = "frost_lock" _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.LOCK _attr_translation_key: str = "frost_lock" + _cluster_id = TUYA_MANUFACTURER_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"tuya_manufacturer"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({TUYA_MANUFACTURER_CLUSTER}), manufacturers=frozenset({"_TZE200_htnnfasr"}), ) @@ -456,9 +490,10 @@ class ReplaceFilter(BinarySensor): _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.PROBLEM _attr_entity_category: EntityCategory = EntityCategory.DIAGNOSTIC _attr_translation_key: str = "replace_filter" + _cluster_id = IKEA_AIR_PURIFIER_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"ikea_airpurifier"}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({IKEA_AIR_PURIFIER_CLUSTER}), ) @@ -469,9 +504,10 @@ class AqaraPetFeederErrorDetected(BinarySensor): _attribute_name = "error_detected" _unique_id_suffix = "error_detected" _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.PROBLEM + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"aqara.feeder.acn001"}), ) @@ -484,9 +520,10 @@ class XiaomiPlugConsumerConnected(BinarySensor): _unique_id_suffix = "consumer_connected" _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.PLUG _attr_translation_key: str = "consumer_connected" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.plug.mmeu01", "lumi.plug.maeu01"}), ) @@ -498,9 +535,10 @@ class AqaraThermostatWindowOpen(BinarySensor): _attribute_name = "window_open" _unique_id_suffix = "window_open" _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.WINDOW + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.airrtc.agl001"}), ) @@ -513,9 +551,10 @@ class AqaraThermostatValveAlarm(BinarySensor): _unique_id_suffix = "valve_alarm" _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.PROBLEM _attr_translation_key: str = "valve_alarm" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.airrtc.agl001"}), ) @@ -528,9 +567,10 @@ class AqaraThermostatCalibrated(BinarySensor): _unique_id_suffix = "calibrated" _attr_entity_category: EntityCategory = EntityCategory.DIAGNOSTIC _attr_translation_key: str = "calibrated" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.airrtc.agl001"}), ) @@ -543,9 +583,10 @@ class AqaraThermostatExternalSensor(BinarySensor): _unique_id_suffix = "sensor" _attr_entity_category: EntityCategory = EntityCategory.DIAGNOSTIC _attr_translation_key: str = "external_sensor" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.airrtc.agl001"}), ) @@ -558,9 +599,10 @@ class AqaraLinkageAlarmState(BinarySensor): _unique_id_suffix = "linkage_alarm_state" _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.SMOKE _attr_translation_key: str = "linkage_alarm_state" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.sensor_smoke.acn03"}), ) @@ -573,9 +615,10 @@ class AqaraE1CurtainMotorOpenedByHandBinarySensor(BinarySensor): _attribute_name = "hand_open" _attr_translation_key = "hand_open" _attr_entity_category = EntityCategory.DIAGNOSTIC + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.curtain.agl001"}), ) @@ -589,6 +632,7 @@ class DanfossMountingModeActive(BinarySensor): _attr_translation_key: str = "mounting_mode_active" _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.OPENING _attr_entity_category = EntityCategory.DIAGNOSTIC + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), @@ -603,6 +647,7 @@ class DanfossHeatRequired(BinarySensor): _unique_id_suffix = "heat_required" _attribute_name = "heat_required" _attr_translation_key: str = "heat_required" + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), @@ -619,6 +664,7 @@ class DanfossPreheatStatus(BinarySensor): _attr_translation_key: str = "preheat_status" _attr_entity_registry_enabled_default = False _attr_entity_category = EntityCategory.DIAGNOSTIC + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), diff --git a/zha/application/platforms/button/__init__.py b/zha/application/platforms/button/__init__.py index b4e87dd21..1af57d8c6 100644 --- a/zha/application/platforms/button/__init__.py +++ b/zha/application/platforms/button/__init__.py @@ -13,10 +13,10 @@ from zha.application import Platform from zha.application.const import ENTITY_METADATA +from zha.application.helpers import write_attributes_safe from zha.application.platforms import ( BaseEntity, BaseEntityInfo, - ClusterHandlerMatch, ClusterMatch, EntityCategory, PlatformEntity, @@ -29,7 +29,6 @@ ) if TYPE_CHECKING: - from zha.zigbee.cluster_handlers import ClusterHandler from zha.zigbee.device import Device from zha.zigbee.endpoint import Endpoint @@ -79,19 +78,19 @@ class Button(BaseButton): _command_name: str _args: list[Any] _kwargs: dict[str, Any] + _cluster_id: int def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs: Any, ): """Initialize button.""" - self._cluster_handler: ClusterHandler = cluster_handlers[0] + self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] if ENTITY_METADATA in kwargs: self._init_from_quirks_metadata(kwargs[ENTITY_METADATA]) - super().__init__(cluster_handlers, endpoint, device, **kwargs) + super().__init__(endpoint=endpoint, device=device, **kwargs) def _init_from_quirks_metadata( self, entity_metadata: ZCLCommandButtonMetadata @@ -124,7 +123,7 @@ def kwargs(self) -> dict[str, Any]: async def async_press(self) -> None: """Send out a update command.""" - command = getattr(self._cluster_handler, self._command_name) + command = getattr(self._cluster, self._command_name) arguments = self.args or [] kwargs = self.kwargs or {} await command(*arguments, **kwargs) @@ -139,6 +138,7 @@ class IdentifyButton(Button): _command_name = "identify" _kwargs = {} _args = [DEFAULT_DURATION] + _cluster_id = Identify.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Identify.cluster_id}), @@ -155,19 +155,19 @@ class WriteAttributeButton(BaseButton): _attribute_name: str _attribute_value: Any = None + _cluster_id: int def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs: Any, ) -> None: """Init this button.""" - self._cluster_handler: ClusterHandler = cluster_handlers[0] + self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] if ENTITY_METADATA in kwargs: self._init_from_quirks_metadata(kwargs[ENTITY_METADATA]) - super().__init__(cluster_handlers, endpoint, device, **kwargs) + super().__init__(endpoint=endpoint, device=device, **kwargs) self.recompute_capabilities() def _init_from_quirks_metadata( @@ -189,8 +189,8 @@ def info_object(self) -> WriteAttributeButtonEntityInfo: async def async_press(self) -> None: """Write attribute with defined value.""" - await self._cluster_handler.write_attributes_safe( - {self._attribute_name: self._attribute_value} + await write_attributes_safe( + self._cluster, {self._attribute_name: self._attribute_value} ) @@ -204,9 +204,10 @@ class FrostLockResetButton(WriteAttributeButton): _attr_device_class = ButtonDeviceClass.RESTART _attr_entity_category = EntityCategory.CONFIG _attr_translation_key = "reset_frost_lock" + _cluster_id = TUYA_MANUFACTURER_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"tuya_manufacturer"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({TUYA_MANUFACTURER_CLUSTER}), manufacturers=frozenset({"_TZE200_htnnfasr"}), ) @@ -221,9 +222,10 @@ class NoPresenceStatusResetButton(WriteAttributeButton): _attr_device_class = ButtonDeviceClass.RESTART _attr_entity_category = EntityCategory.CONFIG _attr_translation_key = "reset_no_presence_status" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.motion.ac01"}), ) @@ -236,9 +238,10 @@ class AqaraPetFeederFeedButton(WriteAttributeButton): _attribute_name = "feeding" _attribute_value = 1 _attr_translation_key = "feed" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"aqara.feeder.acn001"}), ) @@ -252,8 +255,9 @@ class AqaraSelfTestButton(WriteAttributeButton): _attribute_value = 1 _attr_entity_category = EntityCategory.CONFIG _attr_translation_key = "self_test" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.sensor_smoke.acn03"}), ) diff --git a/zha/application/platforms/climate/__init__.py b/zha/application/platforms/climate/__init__.py index b2ed4d202..081ecd2a9 100644 --- a/zha/application/platforms/climate/__init__.py +++ b/zha/application/platforms/climate/__init__.py @@ -7,9 +7,15 @@ from dataclasses import dataclass import datetime as dt import functools -from typing import TYPE_CHECKING, Any, cast +from typing import TYPE_CHECKING, Any from zigpy.profiles import zha +from zigpy.zcl import ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, +) from zigpy.zcl.clusters.hvac import ( Fan as FanCluster, FanMode, @@ -19,11 +25,11 @@ ) from zha.application import Platform +from zha.application.helpers import write_attributes_safe from zha.application.platforms import ( AttrConfig, BaseEntityInfo, ClusterConfig, - ClusterHandlerMatch, ClusterMatch, PlatformEntity, PlatformFeatureGroup, @@ -52,23 +58,14 @@ ) from zha.decorators import periodic from zha.units import UnitOfTemperature -from zha.zigbee.cluster_handlers import ClusterAttributeUpdatedEvent -from zha.zigbee.cluster_handlers.const import ( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - CLUSTER_HANDLER_FAN, - CLUSTER_HANDLER_THERMOSTAT, - REPORT_CONFIG_OP, -) +from zha.zigbee.cluster_handlers.const import REPORT_CONFIG_OP from zha.zigbee.cluster_handlers.hvac import ( REPORT_CONFIG_CLIMATE, REPORT_CONFIG_CLIMATE_DEMAND, REPORT_CONFIG_CLIMATE_DISCRETE, - FanClusterHandler, - ThermostatClusterHandler, ) if TYPE_CHECKING: - from zha.zigbee.cluster_handlers import ClusterHandler from zha.zigbee.device import Device from zha.zigbee.endpoint import Endpoint @@ -335,7 +332,6 @@ class Thermostat(BaseThermostat): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs, @@ -348,25 +344,162 @@ def __init__( ) kwargs.pop("legacy_discovery_unique_id", None) super().__init__( - cluster_handlers, - endpoint, - device, + endpoint=endpoint, + device=device, **kwargs, legacy_discovery_unique_id=legacy_discovery_unique_id, ) self._preset: Preset | str = Preset.NONE self._presets: list[Preset | str] = [] - self._thermostat_cluster_handler: ThermostatClusterHandler = cast( - ThermostatClusterHandler, self.cluster_handlers[CLUSTER_HANDLER_THERMOSTAT] - ) - self._fan_cluster_handler: FanClusterHandler | None = cast( - FanClusterHandler | None, self.cluster_handlers.get(CLUSTER_HANDLER_FAN) + self._cluster = endpoint.zigpy_endpoint.in_clusters[ + ThermostatCluster.cluster_id + ] + self._fan_cluster = endpoint.zigpy_endpoint.in_clusters.get( + FanCluster.cluster_id ) self._supported_features = ClimateEntityFeature(0) self.recompute_capabilities() + @property + def _local_temperature(self) -> int | None: + return self._cluster.get(ThermostatCluster.AttributeDefs.local_temperature.name) + + @property + def _outdoor_temperature(self) -> int | None: + return self._cluster.get( + ThermostatCluster.AttributeDefs.outdoor_temperature.name + ) + + @property + def _occupancy(self) -> int | None: + return self._cluster.get(ThermostatCluster.AttributeDefs.occupancy.name) + + @property + def _occupied_cooling_setpoint(self) -> int | None: + return self._cluster.get( + ThermostatCluster.AttributeDefs.occupied_cooling_setpoint.name + ) + + @property + def _occupied_heating_setpoint(self) -> int | None: + return self._cluster.get( + ThermostatCluster.AttributeDefs.occupied_heating_setpoint.name + ) + + @property + def _unoccupied_cooling_setpoint(self) -> int | None: + return self._cluster.get( + ThermostatCluster.AttributeDefs.unoccupied_cooling_setpoint.name + ) + + @property + def _unoccupied_heating_setpoint(self) -> int | None: + return self._cluster.get( + ThermostatCluster.AttributeDefs.unoccupied_heating_setpoint.name + ) + + @property + def _pi_cooling_demand(self) -> int | None: + return self._cluster.get( + ThermostatCluster.AttributeDefs.pi_cooling_demand.name + ) + + @property + def _pi_heating_demand(self) -> int | None: + return self._cluster.get( + ThermostatCluster.AttributeDefs.pi_heating_demand.name + ) + + @property + def _running_mode(self) -> int | None: + return self._cluster.get(ThermostatCluster.AttributeDefs.running_mode.name) + + @property + def _running_state(self) -> int | None: + return self._cluster.get(ThermostatCluster.AttributeDefs.running_state.name) + + @property + def _system_mode(self) -> int | None: + return self._cluster.get(ThermostatCluster.AttributeDefs.system_mode.name) + + @property + def _ctrl_sequence_of_oper(self) -> int: + return self._cluster.get( + ThermostatCluster.AttributeDefs.ctrl_sequence_of_oper.name, 0xFF + ) + + @property + def _abs_max_cool_setpoint_limit(self) -> int: + return self._cluster.get( + ThermostatCluster.AttributeDefs.abs_max_cool_setpoint_limit.name, 3200 + ) + + @property + def _abs_min_cool_setpoint_limit(self) -> int: + return self._cluster.get( + ThermostatCluster.AttributeDefs.abs_min_cool_setpoint_limit.name, 1600 + ) + + @property + def _abs_max_heat_setpoint_limit(self) -> int: + return self._cluster.get( + ThermostatCluster.AttributeDefs.abs_max_heat_setpoint_limit.name, 3000 + ) + + @property + def _abs_min_heat_setpoint_limit(self) -> int: + return self._cluster.get( + ThermostatCluster.AttributeDefs.abs_min_heat_setpoint_limit.name, 700 + ) + + @property + def _max_cool_setpoint_limit(self) -> int: + sp_limit = self._cluster.get( + ThermostatCluster.AttributeDefs.max_cool_setpoint_limit.name + ) + if sp_limit is None: + return self._abs_max_cool_setpoint_limit + return sp_limit + + @property + def _min_cool_setpoint_limit(self) -> int: + sp_limit = self._cluster.get( + ThermostatCluster.AttributeDefs.min_cool_setpoint_limit.name + ) + if sp_limit is None: + return self._abs_min_cool_setpoint_limit + return sp_limit + + @property + def _max_heat_setpoint_limit(self) -> int: + sp_limit = self._cluster.get( + ThermostatCluster.AttributeDefs.max_heat_setpoint_limit.name + ) + if sp_limit is None: + return self._abs_max_heat_setpoint_limit + return sp_limit + + @property + def _min_heat_setpoint_limit(self) -> int: + sp_limit = self._cluster.get( + ThermostatCluster.AttributeDefs.min_heat_setpoint_limit.name + ) + if sp_limit is None: + return self._abs_min_heat_setpoint_limit + return sp_limit + + async def _async_get_occupancy(self) -> bool | None: + """Get unreportable occupancy attribute.""" + res, fail = await self._cluster.read_attributes( + [ThermostatCluster.AttributeDefs.occupancy.name] + ) + self.debug("read 'occupancy' attr, success: %s, fail: %s", res, fail) + if ThermostatCluster.AttributeDefs.occupancy.name not in res: + return None + return bool(self._occupancy) + def recompute_capabilities(self) -> None: """Recompute capabilities and feature flags.""" super().recompute_capabilities() @@ -379,18 +512,23 @@ def recompute_capabilities(self) -> None: if HVACMode.HEAT_COOL in self.hvac_modes: self._supported_features |= ClimateEntityFeature.TARGET_TEMPERATURE_RANGE - if self._fan_cluster_handler is not None: + if self._fan_cluster is not None: self._supported_features |= ClimateEntityFeature.FAN_MODE def on_add(self) -> None: """Run when entity is added.""" super().on_add() - self._on_remove_callbacks.append( - self._thermostat_cluster_handler.on_event( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - self.handle_cluster_handler_attribute_updated, + for event_type in ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + ): + self._on_remove_callbacks.append( + self._cluster.on_event( + event_type.event_type, self.handle_attribute_updated + ) ) - ) @functools.cached_property def info_object(self) -> ThermostatEntityInfo: @@ -408,46 +546,46 @@ def info_object(self) -> ThermostatEntityInfo: @property def state(self) -> dict[str, Any]: """Get the state of the thermostat.""" - thermostat = self._thermostat_cluster_handler - system_mode = SYSTEM_MODE_2_HVAC.get(thermostat.system_mode, "unknown") + system_mode = SYSTEM_MODE_2_HVAC.get(self._system_mode, "unknown") response = super().state response[ATTR_SYS_MODE] = ( - f"[{thermostat.system_mode}]/{system_mode}" + f"[{self._system_mode}]/{system_mode}" if self.hvac_mode is not None else None ) - response[ATTR_OCCUPANCY] = thermostat.occupancy - response[ATTR_OCCP_COOL_SETPT] = thermostat.occupied_cooling_setpoint - response[ATTR_OCCP_HEAT_SETPT] = thermostat.occupied_heating_setpoint - response[ATTR_PI_HEATING_DEMAND] = thermostat.pi_heating_demand - response[ATTR_PI_COOLING_DEMAND] = thermostat.pi_cooling_demand - response[ATTR_UNOCCP_COOL_SETPT] = thermostat.unoccupied_cooling_setpoint - response[ATTR_UNOCCP_HEAT_SETPT] = thermostat.unoccupied_heating_setpoint + response[ATTR_OCCUPANCY] = self._occupancy + response[ATTR_OCCP_COOL_SETPT] = self._occupied_cooling_setpoint + response[ATTR_OCCP_HEAT_SETPT] = self._occupied_heating_setpoint + response[ATTR_PI_HEATING_DEMAND] = self._pi_heating_demand + response[ATTR_PI_COOLING_DEMAND] = self._pi_cooling_demand + response[ATTR_UNOCCP_COOL_SETPT] = self._unoccupied_cooling_setpoint + response[ATTR_UNOCCP_HEAT_SETPT] = self._unoccupied_heating_setpoint return response @property def current_temperature(self): """Return the current temperature.""" - if self._thermostat_cluster_handler.local_temperature is None: + if self._local_temperature is None: return None - return self._thermostat_cluster_handler.local_temperature / ZCL_TEMP + return self._local_temperature / ZCL_TEMP @property def outdoor_temperature(self): """Return the outdoor temperature.""" - if self._thermostat_cluster_handler.outdoor_temperature is None: + if self._outdoor_temperature is None: return None - return self._thermostat_cluster_handler.outdoor_temperature / ZCL_TEMP + return self._outdoor_temperature / ZCL_TEMP @property def fan_mode(self) -> str | None: """Return current FAN mode.""" - if self._thermostat_cluster_handler.running_state is None: + running_state = self._running_state + if running_state is None: return FAN_AUTO - if self._thermostat_cluster_handler.running_state & ( + if running_state & ( RunningState.Fan_State_On | RunningState.Fan_2nd_Stage_On | RunningState.Fan_3rd_Stage_On @@ -458,17 +596,14 @@ def fan_mode(self) -> str | None: @functools.cached_property def fan_modes(self) -> list[str] | None: """Return supported FAN modes.""" - if not self._fan_cluster_handler: + if self._fan_cluster is None: return None return [FAN_AUTO, FAN_ON] @property def hvac_action(self) -> HVACAction | None: """Return the current HVAC action.""" - if ( - self._thermostat_cluster_handler.pi_heating_demand is None - and self._thermostat_cluster_handler.pi_cooling_demand is None - ): + if self._pi_heating_demand is None and self._pi_cooling_demand is None: return self._rm_rs_action return self._pi_demand_action @@ -476,7 +611,7 @@ def hvac_action(self) -> HVACAction | None: def _rm_rs_action(self) -> HVACAction | None: """Return the current HVAC action based on running mode and running state.""" - if (running_state := self._thermostat_cluster_handler.running_state) is None: + if (running_state := self._running_state) is None: return None if running_state & ( RunningState.Heat_State_On | RunningState.Heat_2nd_Stage_On @@ -502,10 +637,10 @@ def _rm_rs_action(self) -> HVACAction | None: def _pi_demand_action(self) -> HVACAction | None: """Return the current HVAC action based on pi_demands.""" - heating_demand = self._thermostat_cluster_handler.pi_heating_demand + heating_demand = self._pi_heating_demand if heating_demand is not None and heating_demand > 0: return HVACAction.HEATING - cooling_demand = self._thermostat_cluster_handler.pi_cooling_demand + cooling_demand = self._pi_cooling_demand if cooling_demand is not None and cooling_demand > 0: return HVACAction.COOLING @@ -516,14 +651,12 @@ def _pi_demand_action(self) -> HVACAction | None: @property def hvac_mode(self) -> HVACMode | None: """Return HVAC operation mode.""" - return SYSTEM_MODE_2_HVAC.get(self._thermostat_cluster_handler.system_mode) + return SYSTEM_MODE_2_HVAC.get(self._system_mode) @property def hvac_modes(self) -> list[HVACMode]: """Return the list of available HVAC operation modes.""" - return SEQ_OF_OPERATION.get( - self._thermostat_cluster_handler.ctrl_sequence_of_oper, [HVACMode.OFF] - ) + return SEQ_OF_OPERATION.get(self._ctrl_sequence_of_oper, [HVACMode.OFF]) @property def preset_mode(self) -> str: @@ -546,14 +679,14 @@ def target_temperature(self): temp = None if self.hvac_mode == HVACMode.COOL: if self.preset_mode == Preset.AWAY: - temp = self._thermostat_cluster_handler.unoccupied_cooling_setpoint + temp = self._unoccupied_cooling_setpoint else: - temp = self._thermostat_cluster_handler.occupied_cooling_setpoint + temp = self._occupied_cooling_setpoint elif self.hvac_mode == HVACMode.HEAT: if self.preset_mode == Preset.AWAY: - temp = self._thermostat_cluster_handler.unoccupied_heating_setpoint + temp = self._unoccupied_heating_setpoint else: - temp = self._thermostat_cluster_handler.occupied_heating_setpoint + temp = self._occupied_heating_setpoint if temp is None: return temp return round(temp / ZCL_TEMP, 1) @@ -564,9 +697,9 @@ def target_temperature_high(self): if self.hvac_mode != HVACMode.HEAT_COOL: return None if self.preset_mode == Preset.AWAY: - temp = self._thermostat_cluster_handler.unoccupied_cooling_setpoint + temp = self._unoccupied_cooling_setpoint else: - temp = self._thermostat_cluster_handler.occupied_cooling_setpoint + temp = self._occupied_cooling_setpoint if temp is None: return temp @@ -579,9 +712,9 @@ def target_temperature_low(self): if self.hvac_mode != HVACMode.HEAT_COOL: return None if self.preset_mode == Preset.AWAY: - temp = self._thermostat_cluster_handler.unoccupied_heating_setpoint + temp = self._unoccupied_heating_setpoint else: - temp = self._thermostat_cluster_handler.occupied_heating_setpoint + temp = self._occupied_heating_setpoint if temp is None: return temp @@ -592,9 +725,9 @@ def max_temp(self) -> float: """Return the maximum temperature.""" temps = [] if HVACMode.HEAT in self.hvac_modes: - temps.append(self._thermostat_cluster_handler.max_heat_setpoint_limit) + temps.append(self._max_heat_setpoint_limit) if HVACMode.COOL in self.hvac_modes: - temps.append(self._thermostat_cluster_handler.max_cool_setpoint_limit) + temps.append(self._max_cool_setpoint_limit) if not temps: return self.DEFAULT_MAX_TEMP @@ -605,30 +738,38 @@ def min_temp(self) -> float: """Return the minimum temperature.""" temps = [] if HVACMode.HEAT in self.hvac_modes: - temps.append(self._thermostat_cluster_handler.min_heat_setpoint_limit) + temps.append(self._min_heat_setpoint_limit) if HVACMode.COOL in self.hvac_modes: - temps.append(self._thermostat_cluster_handler.min_cool_setpoint_limit) + temps.append(self._min_cool_setpoint_limit) if not temps: return self.DEFAULT_MIN_TEMP return round(min(temps) / ZCL_TEMP, 1) - def handle_cluster_handler_attribute_updated( - self, event: ClusterAttributeUpdatedEvent + def handle_attribute_updated( + self, + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, ) -> None: """Handle attribute update from device.""" self.device.gateway.async_create_task( - self._handle_cluster_handler_attribute_updated(event) + self._handle_attribute_updated(event) ) - async def _handle_cluster_handler_attribute_updated( - self, event: ClusterAttributeUpdatedEvent + async def _handle_attribute_updated( + self, + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, ) -> None: """Handle attribute update from device.""" if ( event.attribute_name in (ATTR_OCCP_COOL_SETPT, ATTR_OCCP_HEAT_SETPT) and self.preset_mode == Preset.AWAY - and await self._thermostat_cluster_handler.get_occupancy() is True + and await self._async_get_occupancy() is True ): # occupancy attribute is an unreportable attribute, but if we get # an attribute update for an "occupied" setpoint, there's a chance @@ -636,14 +777,14 @@ async def _handle_cluster_handler_attribute_updated( self._preset = Preset.NONE self.debug( - "Attribute '%s' = %s update", event.attribute_name, event.attribute_value + "Attribute '%s' = %s update", event.attribute_name, event.value ) self.maybe_emit_state_changed_event() async def async_set_fan_mode(self, fan_mode: str) -> None: """Set fan mode.""" - if self._fan_cluster_handler is None: - self.warning("Fan cluster handler is not available") + if self._fan_cluster is None: + self.warning("Fan cluster is not available") return if not self.fan_modes or fan_mode not in self.fan_modes: @@ -652,7 +793,9 @@ async def async_set_fan_mode(self, fan_mode: str) -> None: mode = FanMode.On if fan_mode == FAN_ON else FanMode.Auto - await self._fan_cluster_handler.async_set_speed(mode) + await write_attributes_safe( + self._fan_cluster, {FanCluster.AttributeDefs.fan_mode.name: mode} + ) async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: """Set new target operation mode.""" @@ -664,10 +807,15 @@ async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ) return - if await self._thermostat_cluster_handler.async_set_operation_mode( - HVAC_MODE_2_SYSTEM[hvac_mode] - ): - self.maybe_emit_state_changed_event() + await write_attributes_safe( + self._cluster, + { + ThermostatCluster.AttributeDefs.system_mode.name: HVAC_MODE_2_SYSTEM[ + hvac_mode + ] + }, + ) + self.maybe_emit_state_changed_event() async def async_set_preset_mode(self, preset_mode: str) -> None: """Set new preset mode.""" @@ -687,6 +835,26 @@ async def async_set_preset_mode(self, preset_mode: str) -> None: self._preset = preset_mode self.maybe_emit_state_changed_event() + async def _async_set_heating_setpoint( + self, temperature: int, is_away: bool + ) -> None: + attr = ( + ThermostatCluster.AttributeDefs.unoccupied_heating_setpoint.name + if is_away + else ThermostatCluster.AttributeDefs.occupied_heating_setpoint.name + ) + await write_attributes_safe(self._cluster, {attr: temperature}) + + async def _async_set_cooling_setpoint( + self, temperature: int, is_away: bool + ) -> None: + attr = ( + ThermostatCluster.AttributeDefs.unoccupied_cooling_setpoint.name + if is_away + else ThermostatCluster.AttributeDefs.occupied_cooling_setpoint.name + ) + await write_attributes_safe(self._cluster, {attr: temperature}) + async def async_set_temperature( self, target_temp_low: float | None = None, @@ -702,23 +870,23 @@ async def async_set_temperature( if self.hvac_mode == HVACMode.HEAT_COOL: if target_temp_low is not None: - await self._thermostat_cluster_handler.async_set_heating_setpoint( + await self._async_set_heating_setpoint( temperature=int(target_temp_low * ZCL_TEMP), is_away=is_away, ) if target_temp_high is not None: - await self._thermostat_cluster_handler.async_set_cooling_setpoint( + await self._async_set_cooling_setpoint( temperature=int(target_temp_high * ZCL_TEMP), is_away=is_away, ) elif temperature is not None: if self.hvac_mode == HVACMode.COOL: - await self._thermostat_cluster_handler.async_set_cooling_setpoint( + await self._async_set_cooling_setpoint( temperature=int(temperature * ZCL_TEMP), is_away=is_away, ) elif self.hvac_mode == HVACMode.HEAT: - await self._thermostat_cluster_handler.async_set_heating_setpoint( + await self._async_set_heating_setpoint( temperature=int(temperature * ZCL_TEMP), is_away=is_away, ) @@ -738,6 +906,9 @@ async def async_preset_handler(self, preset: str, enable: bool = False) -> None: await handler(enable) +SINOPE_MANUFACTURER_CLUSTER = 0xFF01 + + @register_entity(ThermostatCluster.cluster_id) class SinopeTechnologiesThermostat(Thermostat): """Sinope Technologies Thermostat.""" @@ -745,25 +916,25 @@ class SinopeTechnologiesThermostat(Thermostat): manufacturer = 0x119C __polling_interval: int - _cluster_match = None - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset( - {CLUSTER_HANDLER_THERMOSTAT, "sinope_manufacturer_specific"} + _cluster_match = ClusterMatch( + server_clusters=frozenset( + {ThermostatCluster.cluster_id, SINOPE_MANUFACTURER_CLUSTER} ), manufacturers=frozenset({"Sinope Technologies"}), ) def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs, ): """Initialize ZHA Thermostat instance.""" - super().__init__(cluster_handlers, endpoint, device, **kwargs) + super().__init__(endpoint=endpoint, device=device, **kwargs) self._presets = [Preset.AWAY, Preset.NONE] - self._manufacturer_ch = self.cluster_handlers["sinope_manufacturer_specific"] + self._sinope_cluster = endpoint.zigpy_endpoint.in_clusters[ + SINOPE_MANUFACTURER_CLUSTER + ] self._time_update_task: Task | None = None def recompute_capabilities(self) -> None: @@ -837,15 +1008,19 @@ async def _async_update_time(self) -> None: ).total_seconds() self.debug("Updating time: %s", secs_2k) - await self._manufacturer_ch.write_attributes_safe( - {"secs_since_2k": secs_2k}, manufacturer=self.manufacturer + await write_attributes_safe( + self._sinope_cluster, + {"secs_since_2k": secs_2k}, + manufacturer=self.manufacturer, ) async def async_preset_handler_away(self, is_away: bool = False) -> None: """Set occupancy.""" mfg_code = self._device.manufacturer_code - await self._thermostat_cluster_handler.write_attributes_safe( - {"set_occupancy": 0 if is_away else 1}, manufacturer=mfg_code + await write_attributes_safe( + self._cluster, + {"set_occupancy": 0 if is_away else 1}, + manufacturer=mfg_code, ) @@ -895,10 +1070,15 @@ async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ) return - if await self._thermostat_cluster_handler.async_set_operation_mode( - ZehnderThermostat.ZEHNDER_HVAC_MODE_2_SYSTEM[hvac_mode] - ): - self.maybe_emit_state_changed_event() + await write_attributes_safe( + self._cluster, + { + ThermostatCluster.AttributeDefs.system_mode.name: ZehnderThermostat.ZEHNDER_HVAC_MODE_2_SYSTEM[ + hvac_mode + ] + }, + ) + self.maybe_emit_state_changed_event() @property def current_temperature(self): @@ -908,15 +1088,14 @@ def current_temperature(self): @property def state(self) -> dict[str, Any]: """Get the state of the lock.""" - thermostat = self._thermostat_cluster_handler system_mode = ZehnderThermostat.ZEHNDER_SYSTEM_MODE_2_HVAC.get( - thermostat.system_mode, "unknown" + self._system_mode, "unknown" ) response = super().state response[ATTR_SYS_MODE] = ( - f"[{thermostat.system_mode}]/{system_mode}" + f"[{self._system_mode}]/{system_mode}" if self.hvac_mode is not None else None ) @@ -926,9 +1105,7 @@ def state(self) -> dict[str, Any]: @property def hvac_mode(self) -> HVACMode | None: """Return HVAC operation mode.""" - return ZehnderThermostat.ZEHNDER_SYSTEM_MODE_2_HVAC.get( - self._thermostat_cluster_handler.system_mode - ) + return ZehnderThermostat.ZEHNDER_SYSTEM_MODE_2_HVAC.get(self._system_mode) @register_entity(ThermostatCluster.cluster_id) @@ -992,57 +1169,61 @@ def hvac_modes(self) -> list[HVACMode]: """Return only the heat mode, because the device can't be turned off.""" return [HVACMode.HEAT] - def handle_cluster_handler_attribute_updated( - self, event: ClusterAttributeUpdatedEvent + def handle_attribute_updated( + self, + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, ) -> None: """Handle attribute update from device.""" if event.attribute_name == "operation_preset": - if event.attribute_value == 0: + if event.value == 0: self._preset = Preset.AWAY - if event.attribute_value == 1: + if event.value == 1: self._preset = Preset.SCHEDULE - if event.attribute_value == 2: + if event.value == 2: self._preset = Preset.NONE - if event.attribute_value == 3: + if event.value == 3: self._preset = Preset.COMFORT - if event.attribute_value == 4: + if event.value == 4: self._preset = Preset.ECO - if event.attribute_value == 5: + if event.value == 5: self._preset = Preset.BOOST - if event.attribute_value == 6: + if event.value == 6: self._preset = Preset.COMPLEX - super().handle_cluster_handler_attribute_updated(event) + super().handle_attribute_updated(event) async def async_preset_handler(self, preset: str, enable: bool = False) -> None: """Set the preset mode.""" mfg_code = self._device.manufacturer_code if not enable: - return await self._thermostat_cluster_handler.write_attributes_safe( - {"operation_preset": 2}, manufacturer=mfg_code + return await write_attributes_safe( + self._cluster, {"operation_preset": 2}, manufacturer=mfg_code ) if preset == Preset.AWAY: - return await self._thermostat_cluster_handler.write_attributes_safe( - {"operation_preset": 0}, manufacturer=mfg_code + return await write_attributes_safe( + self._cluster, {"operation_preset": 0}, manufacturer=mfg_code ) if preset == Preset.SCHEDULE: - return await self._thermostat_cluster_handler.write_attributes_safe( - {"operation_preset": 1}, manufacturer=mfg_code + return await write_attributes_safe( + self._cluster, {"operation_preset": 1}, manufacturer=mfg_code ) if preset == Preset.COMFORT: - return await self._thermostat_cluster_handler.write_attributes_safe( - {"operation_preset": 3}, manufacturer=mfg_code + return await write_attributes_safe( + self._cluster, {"operation_preset": 3}, manufacturer=mfg_code ) if preset == Preset.ECO: - return await self._thermostat_cluster_handler.write_attributes_safe( - {"operation_preset": 4}, manufacturer=mfg_code + return await write_attributes_safe( + self._cluster, {"operation_preset": 4}, manufacturer=mfg_code ) if preset == Preset.BOOST: - return await self._thermostat_cluster_handler.write_attributes_safe( - {"operation_preset": 5}, manufacturer=mfg_code + return await write_attributes_safe( + self._cluster, {"operation_preset": 5}, manufacturer=mfg_code ) if preset == Preset.COMPLEX: - return await self._thermostat_cluster_handler.write_attributes_safe( - {"operation_preset": 6}, manufacturer=mfg_code + return await write_attributes_safe( + self._cluster, {"operation_preset": 6}, manufacturer=mfg_code ) @@ -1074,51 +1255,55 @@ def hvac_modes(self) -> list[HVACMode]: """Return only the heat mode, because the device can't be turned off.""" return [HVACMode.HEAT] - def handle_cluster_handler_attribute_updated( - self, event: ClusterAttributeUpdatedEvent + def handle_attribute_updated( + self, + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, ) -> None: """Handle attribute update from device.""" if event.attribute_name == "operation_preset": - if event.attribute_value == 0: + if event.value == 0: self._preset = Preset.AWAY - if event.attribute_value == 1: + if event.value == 1: self._preset = Preset.SCHEDULE - if event.attribute_value == 2: + if event.value == 2: self._preset = Preset.NONE - if event.attribute_value == 4: + if event.value == 4: self._preset = Preset.ECO - if event.attribute_value == 5: + if event.value == 5: self._preset = Preset.BOOST - if event.attribute_value == 7: + if event.value == 7: self._preset = Preset.TEMP_MANUAL - super().handle_cluster_handler_attribute_updated(event) + super().handle_attribute_updated(event) async def async_preset_handler(self, preset: str, enable: bool = False) -> None: """Set the preset mode.""" mfg_code = self._device.manufacturer_code if not enable: - return await self._thermostat_cluster_handler.write_attributes_safe( - {"operation_preset": 2}, manufacturer=mfg_code + return await write_attributes_safe( + self._cluster, {"operation_preset": 2}, manufacturer=mfg_code ) if preset == Preset.AWAY: - return await self._thermostat_cluster_handler.write_attributes_safe( - {"operation_preset": 0}, manufacturer=mfg_code + return await write_attributes_safe( + self._cluster, {"operation_preset": 0}, manufacturer=mfg_code ) if preset == Preset.SCHEDULE: - return await self._thermostat_cluster_handler.write_attributes_safe( - {"operation_preset": 1}, manufacturer=mfg_code + return await write_attributes_safe( + self._cluster, {"operation_preset": 1}, manufacturer=mfg_code ) if preset == Preset.ECO: - return await self._thermostat_cluster_handler.write_attributes_safe( - {"operation_preset": 4}, manufacturer=mfg_code + return await write_attributes_safe( + self._cluster, {"operation_preset": 4}, manufacturer=mfg_code ) if preset == Preset.BOOST: - return await self._thermostat_cluster_handler.write_attributes_safe( - {"operation_preset": 5}, manufacturer=mfg_code + return await write_attributes_safe( + self._cluster, {"operation_preset": 5}, manufacturer=mfg_code ) if preset == Preset.TEMP_MANUAL: - return await self._thermostat_cluster_handler.write_attributes_safe( - {"operation_preset": 7}, manufacturer=mfg_code + return await write_attributes_safe( + self._cluster, {"operation_preset": 7}, manufacturer=mfg_code ) @@ -1181,37 +1366,41 @@ def recompute_capabilities(self) -> None: ] self._supported_features |= ClimateEntityFeature.PRESET_MODE - def handle_cluster_handler_attribute_updated( - self, event: ClusterAttributeUpdatedEvent + def handle_attribute_updated( + self, + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, ) -> None: """Handle attribute update from device.""" if event.attribute_name == "operation_preset": - if event.attribute_value == 0: + if event.value == 0: self._preset = Preset.SCHEDULE - if event.attribute_value == 1: + if event.value == 1: self._preset = Preset.NONE - if event.attribute_value in (2, 3): + if event.value in (2, 3): self._preset = self.PRESET_HOLIDAY - if event.attribute_value == 4: + if event.value == 4: self._preset = self.PRESET_FROST - super().handle_cluster_handler_attribute_updated(event) + super().handle_attribute_updated(event) async def async_preset_handler(self, preset: str, enable: bool = False) -> None: """Set the preset mode.""" mfg_code = self._device.manufacturer_code if not enable: - return await self._thermostat_cluster_handler.write_attributes_safe( - {"operation_preset": 1}, manufacturer=mfg_code + return await write_attributes_safe( + self._cluster, {"operation_preset": 1}, manufacturer=mfg_code ) if preset == Preset.SCHEDULE: - return await self._thermostat_cluster_handler.write_attributes_safe( - {"operation_preset": 0}, manufacturer=mfg_code + return await write_attributes_safe( + self._cluster, {"operation_preset": 0}, manufacturer=mfg_code ) if preset == self.PRESET_HOLIDAY: - return await self._thermostat_cluster_handler.write_attributes_safe( - {"operation_preset": 3}, manufacturer=mfg_code + return await write_attributes_safe( + self._cluster, {"operation_preset": 3}, manufacturer=mfg_code ) if preset == self.PRESET_FROST: - return await self._thermostat_cluster_handler.write_attributes_safe( - {"operation_preset": 4}, manufacturer=mfg_code + return await write_attributes_safe( + self._cluster, {"operation_preset": 4}, manufacturer=mfg_code ) diff --git a/zha/application/platforms/cover/__init__.py b/zha/application/platforms/cover/__init__.py index 350c122a8..fd17bb621 100644 --- a/zha/application/platforms/cover/__init__.py +++ b/zha/application/platforms/cover/__init__.py @@ -7,9 +7,15 @@ from collections import deque import functools import logging -from typing import TYPE_CHECKING, Any, cast +from typing import TYPE_CHECKING, Any from zigpy.profiles import zha +from zigpy.zcl import ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, +) from zigpy.zcl.clusters.closures import Shade as ShadeCluster, WindowCovering from zigpy.zcl.clusters.general import LevelControl, OnOff, OnOff as OnOffCluster from zigpy.zcl.foundation import Status @@ -37,25 +43,12 @@ WCAttrs, ) from zha.exceptions import ZHAException -from zha.zigbee.cluster_handlers import ClusterAttributeUpdatedEvent -from zha.zigbee.cluster_handlers.closures import WindowCoveringClusterHandler from zha.zigbee.cluster_handlers.const import ( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - CLUSTER_HANDLER_COVER, - CLUSTER_HANDLER_LEVEL, - CLUSTER_HANDLER_LEVEL_CHANGED, - CLUSTER_HANDLER_ON_OFF, REPORT_CONFIG_ASAP, REPORT_CONFIG_IMMEDIATE, ) -from zha.zigbee.cluster_handlers.general import ( - LevelChangeEvent, - LevelControlClusterHandler, - OnOffClusterHandler, -) if TYPE_CHECKING: - from zha.zigbee.cluster_handlers import ClusterHandler from zha.zigbee.device import Device from zha.zigbee.endpoint import Endpoint @@ -179,7 +172,6 @@ class Cover(BaseCover): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs, @@ -196,23 +188,15 @@ def __init__( ) super().__init__( - cluster_handlers, - endpoint, - device, + endpoint=endpoint, + device=device, **kwargs, legacy_discovery_unique_id=legacy_discovery_unique_id, ) - cluster_handler = self.cluster_handlers.get(CLUSTER_HANDLER_COVER) - assert cluster_handler - - self._cover_cluster_handler: WindowCoveringClusterHandler = cast( - WindowCoveringClusterHandler, cluster_handler - ) - if self._cover_cluster_handler.window_covering_type is not None: + self._cluster = endpoint.zigpy_endpoint.in_clusters[WindowCovering.cluster_id] + if self._window_covering_type is not None: self._attr_device_class: CoverDeviceClass | None = ( - ZCL_TO_COVER_DEVICE_CLASS.get( - self._cover_cluster_handler.window_covering_type - ) + ZCL_TO_COVER_DEVICE_CLASS.get(self._window_covering_type) ) self._attr_supported_features: CoverEntityFeature = CoverEntityFeature(0) self.recompute_capabilities() @@ -234,13 +218,18 @@ def __init__( self._state: CoverState | None = None self._determine_cover_state(refresh=True) + @property + def _window_covering_type(self) -> WindowCovering.WindowCoveringType | None: + """Return the window covering type.""" + return self._cluster.get(WCAttrs.window_covering_type.name) + def recompute_capabilities(self) -> None: """Recompute capabilities and feature flags based on the window covering type.""" super().recompute_capabilities() supported_features = CoverEntityFeature(0) # Enable lift features if the window covering type is not tilt only - if self._cover_cluster_handler.window_covering_type not in ( + if self._window_covering_type not in ( WCT.Shutter, WCT.Tilt_blind_tilt_only, ): @@ -252,7 +241,7 @@ def recompute_capabilities(self) -> None: ) # Enable tilt features if the window covering type supports tilt - if self._cover_cluster_handler.window_covering_type in ( + if self._window_covering_type in ( WCT.Shutter, WCT.Tilt_blind_tilt_only, WCT.Tilt_blind_tilt_and_lift, @@ -269,12 +258,17 @@ def recompute_capabilities(self) -> None: def on_add(self) -> None: """Run when entity is added.""" super().on_add() - self._on_remove_callbacks.append( - self._cover_cluster_handler.on_event( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - self.handle_cluster_handler_attribute_updated, + for event_type in ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + ): + self._on_remove_callbacks.append( + self._cluster.on_event( + event_type.event_type, self.handle_attribute_updated + ) ) - ) self._on_remove_callbacks.extend( (self._clear_lift_transition, self._clear_tilt_transition) ) @@ -347,12 +341,16 @@ def current_cover_position(self) -> int | None: In HA None is unknown, 0 is closed, 100 is fully open. In ZCL 0 is fully open, 100 is fully closed. - Keep in mind the values have already been flipped to match HA - in the WindowCovering cluster handler. """ if not self.supported_features & CoverEntityFeature.OPEN: return None - return self._cover_cluster_handler.current_position_lift_percentage + lift_percentage = self._cluster.get( + WCAttrs.current_position_lift_percentage.name + ) + if lift_percentage is None: + return None + # ZCL 0=open / 100=closed → HA 0=closed / 100=open + return 100 - lift_percentage @property def current_cover_tilt_position(self) -> int | None: @@ -360,12 +358,15 @@ def current_cover_tilt_position(self) -> int | None: In HA None is unknown, 0 is closed, 100 is fully open. In ZCL 0 is fully open, 100 is fully closed. - Keep in mind the values have already been flipped to match HA - in the WindowCovering cluster handler. """ if not self.supported_features & CoverEntityFeature.OPEN_TILT: return None - return self._cover_cluster_handler.current_position_tilt_percentage + tilt_percentage = self._cluster.get( + WCAttrs.current_position_tilt_percentage.name + ) + if tilt_percentage is None: + return None + return 100 - tilt_percentage @property def _previous_cover_position(self) -> int | None: @@ -592,14 +593,18 @@ def _clear_tilt_transition(self, determine_state: bool = False) -> None: return self._determine_cover_state(refresh=True) - def handle_cluster_handler_attribute_updated( - self, event: ClusterAttributeUpdatedEvent + def handle_attribute_updated( + self, + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, ) -> None: - """Handle position updates from cluster handler. + """Handle position updates from the WindowCovering cluster. The previous position is retained for use in state determination. """ - _LOGGER.debug("handle_cluster_handler_attribute_updated=%s", event) + _LOGGER.debug("handle_attribute_updated=%s", event) if event.attribute_id == WCAttrs.current_position_lift_percentage.id: self._lift_position_history.append(self.current_cover_position) self._determine_cover_state(is_lift_update=True) @@ -622,7 +627,7 @@ async def async_update(self) -> None: """Retrieve latest state.""" self.debug("polling current state") await safe_read( - self._cover_cluster_handler.cluster, + self._cluster, [ WCAttrs.current_position_lift_percentage.name, WCAttrs.current_position_tilt_percentage.name, @@ -635,7 +640,7 @@ async def async_update(self) -> None: async def async_open_cover(self) -> None: """Open the cover.""" self._set_lift_transition_target(POSITION_OPEN) - res = await self._cover_cluster_handler.up_open() + res = await self._cluster.up_open() if res[1] is not Status.SUCCESS: self._clear_lift_transition() raise ZHAException(f"Failed to open cover: {res[1]}") @@ -647,7 +652,7 @@ async def async_open_cover(self) -> None: async def async_open_cover_tilt(self) -> None: """Open the cover tilt.""" self._set_tilt_transition_target(POSITION_OPEN) - res = await self._cover_cluster_handler.go_to_tilt_percentage( + res = await self._cluster.go_to_tilt_percentage( self._ha_position_to_zcl(POSITION_OPEN) ) if res[1] is not Status.SUCCESS: @@ -661,7 +666,7 @@ async def async_open_cover_tilt(self) -> None: async def async_close_cover(self) -> None: """Close the cover.""" self._set_lift_transition_target(POSITION_CLOSED) - res = await self._cover_cluster_handler.down_close() + res = await self._cluster.down_close() if res[1] is not Status.SUCCESS: self._clear_lift_transition() raise ZHAException(f"Failed to close cover: {res[1]}") @@ -673,7 +678,7 @@ async def async_close_cover(self) -> None: async def async_close_cover_tilt(self) -> None: """Close the cover tilt.""" self._set_tilt_transition_target(POSITION_CLOSED) - res = await self._cover_cluster_handler.go_to_tilt_percentage( + res = await self._cluster.go_to_tilt_percentage( self._ha_position_to_zcl(POSITION_CLOSED) ) if res[1] is not Status.SUCCESS: @@ -690,7 +695,7 @@ async def async_set_cover_position(self, position: int) -> None: target_position = position self._set_lift_transition_target(target_position) - res = await self._cover_cluster_handler.go_to_lift_percentage( + res = await self._cluster.go_to_lift_percentage( self._ha_position_to_zcl(target_position) ) if res[1] is not Status.SUCCESS: @@ -711,7 +716,7 @@ async def async_set_cover_tilt_position(self, tilt_position: int) -> None: target_position = tilt_position self._set_tilt_transition_target(target_position) - res = await self._cover_cluster_handler.go_to_tilt_percentage( + res = await self._cluster.go_to_tilt_percentage( self._ha_position_to_zcl(target_position) ) if res[1] is not Status.SUCCESS: @@ -731,7 +736,7 @@ async def async_stop_cover(self) -> None: Upon receipt of this command the cover stops both lift and tilt movement. """ - res = await self._cover_cluster_handler.stop() + res = await self._cluster.stop() if res[1] is not Status.SUCCESS: raise ZHAException(f"Failed to stop cover: {res[1]}") self._clear_lift_transition() @@ -821,7 +826,6 @@ class Shade(BaseCover): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs, @@ -829,25 +833,24 @@ def __init__( """Initialize the ZHA shade.""" kwargs.pop("legacy_discovery_unique_id", None) super().__init__( - cluster_handlers, - endpoint, - device, + endpoint=endpoint, + device=device, **kwargs, legacy_discovery_unique_id=f"{endpoint.device.ieee}-{endpoint.id}", ) - self._on_off_cluster_handler: OnOffClusterHandler = cast( - OnOffClusterHandler, self.cluster_handlers[CLUSTER_HANDLER_ON_OFF] - ) - self._level_cluster_handler: LevelControlClusterHandler | None = cast( - LevelControlClusterHandler, self.cluster_handlers.get(CLUSTER_HANDLER_LEVEL) + self._on_off_cluster = endpoint.zigpy_endpoint.in_clusters[OnOff.cluster_id] + self._level_cluster = endpoint.zigpy_endpoint.in_clusters.get( + LevelControl.cluster_id ) - self._is_open: bool | None = self._on_off_cluster_handler.on_off + self._is_open: bool | None = self._on_off_cluster.get( + OnOff.AttributeDefs.on_off.name + ) self._position: int | None = None - if self._level_cluster_handler is not None: + if self._level_cluster is not None: self._position = self._zcl_level_to_ha_position( - self._level_cluster_handler.current_level + self._level_cluster.get(LevelControl.AttributeDefs.current_level.name) ) self.recompute_capabilities() @@ -858,25 +861,36 @@ def recompute_capabilities(self) -> None: CoverEntityFeature.OPEN | CoverEntityFeature.CLOSE ) - if self._level_cluster_handler is not None: + if self._level_cluster is not None: self._attr_supported_features |= ( CoverEntityFeature.STOP | CoverEntityFeature.SET_POSITION ) def on_add(self) -> None: """Run when entity is added.""" - self._on_remove_callbacks.append( - self._on_off_cluster_handler.on_event( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - self.handle_cluster_handler_attribute_updated, - ) - ) - if self._level_cluster_handler is not None: + for event_type in ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + ): self._on_remove_callbacks.append( - self._level_cluster_handler.on_event( - CLUSTER_HANDLER_LEVEL_CHANGED, self.handle_cluster_handler_set_level + self._on_off_cluster.on_event( + event_type.event_type, self.handle_attribute_updated ) ) + if self._level_cluster is not None: + for event_type in ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + ): + self._on_remove_callbacks.append( + self._level_cluster.on_event( + event_type.event_type, self.handle_level_attribute_updated + ) + ) @property def state(self) -> dict[str, Any]: @@ -923,22 +937,33 @@ def is_closed(self) -> bool | None: """Return True if shade is closed.""" return None if self._is_open is None else not self._is_open - def handle_cluster_handler_attribute_updated( - self, event: ClusterAttributeUpdatedEvent + def handle_attribute_updated( + self, + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, ) -> None: """Set open/closed state.""" if event.attribute_id == OnOff.AttributeDefs.on_off.id: - self._is_open = event.attribute_value + self._is_open = event.value self.maybe_emit_state_changed_event() - def handle_cluster_handler_set_level(self, event: LevelChangeEvent) -> None: + def handle_level_attribute_updated( + self, + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, + ) -> None: """Set the reported position.""" - self._position = self._zcl_level_to_ha_position(event.level) - self.maybe_emit_state_changed_event() + if event.attribute_id == LevelControl.AttributeDefs.current_level.id: + self._position = self._zcl_level_to_ha_position(event.value) + self.maybe_emit_state_changed_event() async def async_open_cover(self) -> None: """Open the window cover.""" - res = await self._on_off_cluster_handler.on() + res = await self._on_off_cluster.on() if res[1] != Status.SUCCESS: raise ZHAException(f"Failed to open cover: {res[1]}") @@ -947,7 +972,7 @@ async def async_open_cover(self) -> None: async def async_close_cover(self) -> None: """Close the window cover.""" - res = await self._on_off_cluster_handler.off() + res = await self._on_off_cluster.off() if res[1] != Status.SUCCESS: raise ZHAException(f"Failed to close cover: {res[1]}") @@ -956,11 +981,11 @@ async def async_close_cover(self) -> None: async def async_set_cover_position(self, position: int) -> None: """Move the roller shutter to a specific position.""" - if not self._level_cluster_handler: + if not self._level_cluster: return new_pos = position - res = await self._level_cluster_handler.move_to_level_with_on_off( + res = await self._level_cluster.move_to_level_with_on_off( self._ha_position_to_zcl_level(new_pos), 1 ) @@ -972,10 +997,10 @@ async def async_set_cover_position(self, position: int) -> None: async def async_stop_cover(self) -> None: """Stop the cover.""" - if not self._level_cluster_handler: + if not self._level_cluster: return - res = await self._level_cluster_handler.stop() + res = await self._level_cluster.stop() if res[1] != Status.SUCCESS: raise ZHAException(f"Failed to stop cover: {res[1]}") @@ -1008,14 +1033,14 @@ class KeenVent(Shade): async def async_open_cover(self) -> None: """Open the cover.""" - assert self._level_cluster_handler is not None + assert self._level_cluster is not None position = self._position or 100 await asyncio.gather( - self._level_cluster_handler.move_to_level_with_on_off( + self._level_cluster.move_to_level_with_on_off( self._ha_position_to_zcl_level(position), 1 ), - self._on_off_cluster_handler.on(), + self._on_off_cluster.on(), ) self._is_open = True diff --git a/zha/application/platforms/fan/__init__.py b/zha/application/platforms/fan/__init__.py index c7b74704c..edf346a19 100644 --- a/zha/application/platforms/fan/__init__.py +++ b/zha/application/platforms/fan/__init__.py @@ -6,18 +6,23 @@ from dataclasses import dataclass import functools import math -from typing import TYPE_CHECKING, Any, cast +from typing import TYPE_CHECKING, Any +from zigpy.zcl import ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, +) from zigpy.zcl.clusters import hvac from zha.application import Platform -from zha.application.helpers import safe_read +from zha.application.helpers import safe_read, write_attributes_safe from zha.application.platforms import ( AttrConfig, BaseEntity, BaseEntityInfo, ClusterConfig, - ClusterHandlerMatch, ClusterMatch, GroupEntity, PlatformEntity, @@ -46,24 +51,14 @@ percentage_to_ranged_value, ranged_value_to_percentage, ) -from zha.zigbee.cluster_handlers import ( - ClusterAttributeUpdatedEvent, - wrap_zigpy_exceptions, -) +from zha.zigbee.cluster_handlers import wrap_zigpy_exceptions from zha.zigbee.cluster_handlers.const import ( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - CLUSTER_HANDLER_FAN, IKEA_AIR_PURIFIER_CLUSTER, REPORT_CONFIG_OP, ) -from zha.zigbee.cluster_handlers.hvac import FanClusterHandler -from zha.zigbee.cluster_handlers.manufacturerspecific import ( - IkeaAirPurifierClusterHandler, -) from zha.zigbee.group import Group if TYPE_CHECKING: - from zha.zigbee.cluster_handlers import ClusterHandler from zha.zigbee.device import Device from zha.zigbee.endpoint import Endpoint @@ -228,11 +223,14 @@ async def async_set_preset_mode(self, preset_mode: str) -> None: async def _async_set_fan_mode(self, fan_mode: int) -> None: """Set the fan mode for the fan.""" - def handle_cluster_handler_attribute_updated( + def handle_attribute_updated( self, - event: ClusterAttributeUpdatedEvent, # pylint: disable=unused-argument + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, # pylint: disable=unused-argument ) -> None: - """Handle state update from cluster handler.""" + """Handle state update from cluster.""" self.maybe_emit_state_changed_event() def speed_to_percentage(self, speed: str) -> int: @@ -277,57 +275,62 @@ class Fan(BaseFan, PlatformEntity): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs, ) -> None: """Initialize the fan.""" - super().__init__(cluster_handlers, endpoint, device, **kwargs) - self._fan_cluster_handler: FanClusterHandler = cast( - FanClusterHandler, self.cluster_handlers[CLUSTER_HANDLER_FAN] - ) + super().__init__(endpoint=endpoint, device=device, **kwargs) + self._cluster = endpoint.zigpy_endpoint.in_clusters[hvac.Fan.cluster_id] self.recompute_capabilities() def on_add(self) -> None: """Run when entity is added.""" super().on_add() - self._on_remove_callbacks.append( - self._fan_cluster_handler.on_event( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - self.handle_cluster_handler_attribute_updated, + for event_type in ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + ): + self._on_remove_callbacks.append( + self._cluster.on_event( + event_type.event_type, self.handle_attribute_updated + ) ) - ) + + @property + def _fan_mode(self) -> int | None: + """Return current fan mode.""" + return self._cluster.get(hvac.Fan.AttributeDefs.fan_mode.name) @property def percentage(self) -> int | None: """Return the current speed percentage.""" - if ( - self._fan_cluster_handler.fan_mode is None - or self._fan_cluster_handler.fan_mode > self.speed_range[1] - ): + fan_mode = self._fan_mode + if fan_mode is None or fan_mode > self.speed_range[1]: return None - if self._fan_cluster_handler.fan_mode == 0: + if fan_mode == 0: return 0 - return ranged_value_to_percentage( - self.speed_range, self._fan_cluster_handler.fan_mode - ) + return ranged_value_to_percentage(self.speed_range, fan_mode) @property def preset_mode(self) -> str | None: """Return the current preset mode.""" - return self.preset_modes_to_name.get(self._fan_cluster_handler.fan_mode) + return self.preset_modes_to_name.get(self._fan_mode) async def _async_set_fan_mode(self, fan_mode: int) -> None: """Set the fan mode for the fan.""" - await self._fan_cluster_handler.async_set_speed(fan_mode) + await write_attributes_safe( + self._cluster, {hvac.Fan.AttributeDefs.fan_mode.name: fan_mode} + ) self.maybe_emit_state_changed_event() async def async_update(self) -> None: """Retrieve latest state.""" self.debug("polling current state") await safe_read( - self._fan_cluster_handler.cluster, + self._cluster, [hvac.Fan.AttributeDefs.fan_mode.name], allow_cache=False, only_cache=False, @@ -341,9 +344,7 @@ class FanGroup(BaseFan, GroupEntity): def __init__(self, group: Group): """Initialize a fan group.""" - self._fan_cluster_handler: FanClusterHandler = cast( - FanClusterHandler, group.endpoint[hvac.Fan.cluster_id] - ) + self._cluster = group.endpoint[hvac.Fan.cluster_id] super().__init__(group) self._percentage = None self._preset_mode = None @@ -365,7 +366,7 @@ async def _async_set_fan_mode(self, fan_mode: int) -> None: """Set the fan mode for the group.""" with wrap_zigpy_exceptions(): - await self._fan_cluster_handler.write_attributes({"fan_mode": fan_mode}) + await self._cluster.write_attributes({"fan_mode": fan_mode}) self.maybe_emit_state_changed_event() @@ -409,38 +410,50 @@ class IkeaFan(BaseFan, PlatformEntity): | FanEntityFeature.TURN_ON ) - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"ikea_airpurifier"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({IKEA_AIR_PURIFIER_CLUSTER}), models=frozenset({"STARKVIND Air purifier", "STARKVIND Air purifier table"}), ) def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs, ): """Initialize the fan.""" - super().__init__(cluster_handlers, endpoint, device, **kwargs) - self._fan_cluster_handler: IkeaAirPurifierClusterHandler = cast( - IkeaAirPurifierClusterHandler, self.cluster_handlers["ikea_airpurifier"] - ) + super().__init__(endpoint=endpoint, device=device, **kwargs) + self._cluster = endpoint.zigpy_endpoint.in_clusters[IKEA_AIR_PURIFIER_CLUSTER] def on_add(self) -> None: """Run when entity is added.""" super().on_add() - self._on_remove_callbacks.append( - self._fan_cluster_handler.on_event( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - self.handle_cluster_handler_attribute_updated, + for event_type in ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + ): + self._on_remove_callbacks.append( + self._cluster.on_event( + event_type.event_type, self.handle_attribute_updated + ) ) - ) + + @property + def _fan_mode(self) -> int | None: + """Return current fan mode.""" + return self._cluster.get("fan_mode") + + @property + def _fan_speed(self) -> int | None: + """Return current fan speed.""" + return self._cluster.get("fan_speed") @property def preset_mode(self) -> str | None: """Return the current preset mode.""" - return self.preset_modes_to_name.get(self._fan_cluster_handler.fan_mode) + return self.preset_modes_to_name.get(self._fan_mode) @functools.cached_property def preset_modes_to_name(self) -> dict[int, str]: @@ -457,15 +470,16 @@ def speed_range(self) -> tuple[int, int]: @property def percentage(self) -> int | None: """Return the current speed percentage.""" - if self._fan_cluster_handler.fan_speed is None: + fan_speed = self._fan_speed + if fan_speed is None: return None - if self._fan_cluster_handler.fan_speed == 0: + if fan_speed == 0: return 0 return ranged_value_to_percentage( # Starkvind has an additional fan_speed attribute that we can use to # get the speed even if fan_mode is set to auto. self.speed_range, - self._fan_cluster_handler.fan_speed, + fan_speed, ) async def async_turn_on( @@ -483,7 +497,7 @@ async def async_turn_on( async def _async_set_fan_mode(self, fan_mode: int) -> None: """Set the fan mode for the fan.""" - await self._fan_cluster_handler.async_set_speed(fan_mode) + await write_attributes_safe(self._cluster, {"fan_mode": fan_mode}) self.maybe_emit_state_changed_event() async def async_set_percentage(self, percentage: int) -> None: @@ -498,7 +512,7 @@ async def async_update(self) -> None: """Retrieve latest state.""" self.debug("polling current state") await safe_read( - self._fan_cluster_handler.cluster, + self._cluster, ["fan_mode", "fan_speed"], allow_cache=False, only_cache=False, diff --git a/zha/application/platforms/light/__init__.py b/zha/application/platforms/light/__init__.py index 26a04654a..4f6492bcb 100644 --- a/zha/application/platforms/light/__init__.py +++ b/zha/application/platforms/light/__init__.py @@ -13,13 +13,20 @@ import functools import itertools import logging -from typing import TYPE_CHECKING, Any, cast +from typing import TYPE_CHECKING, Any +from zigpy.zcl import ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, +) from zigpy.zcl.clusters.general import Identify, LevelControl, OnOff from zigpy.zcl.clusters.lighting import Color from zigpy.zcl.foundation import Status from zha.application import Platform +from zha.application.helpers import safe_read from zha.application.platforms import ( DEFAULT_UPDATE_GROUP_FROM_CHILD_DELAY, AttrConfig, @@ -70,28 +77,14 @@ ) from zha.debounce import Debouncer from zha.decorators import periodic -from zha.zigbee.cluster_handlers import ClusterAttributeUpdatedEvent from zha.zigbee.cluster_handlers.const import ( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - CLUSTER_HANDLER_COLOR, - CLUSTER_HANDLER_LEVEL, - CLUSTER_HANDLER_LEVEL_CHANGED, - CLUSTER_HANDLER_ON_OFF, REPORT_CONFIG_ASAP, REPORT_CONFIG_DEFAULT, REPORT_CONFIG_IMMEDIATE, ) -from zha.zigbee.cluster_handlers import ClusterHandler -from zha.zigbee.cluster_handlers.general import ( - LevelChangeEvent, - LevelControlClusterHandler, - OnOffClusterHandler, -) -from zha.zigbee.cluster_handlers.lighting import ColorClusterHandler if TYPE_CHECKING: from zha.application.gateway import Gateway - from zha.zigbee.cluster_handlers import ClusterHandler from zha.zigbee.device import Device from zha.zigbee.endpoint import Endpoint from zha.zigbee.group import Group @@ -282,10 +275,10 @@ def __init__(self, *args, **kwargs): self._zha_config_transition: float = self._DEFAULT_MIN_TRANSITION_TIME self._zha_config_enhanced_light_transition: bool = False self._zha_config_enable_light_transitioning_flag: bool = True - self._on_off_cluster_handler: OnOffClusterHandler | None = None - self._level_cluster_handler: LevelControlClusterHandler | None = None - self._color_cluster_handler: ColorClusterHandler | None = None - self._identify_cluster_handler: ClusterHandler | None = None + self._on_off_cluster = None + self._level_cluster = None + self._color_cluster = None + self._identify_cluster = None self._transitioning_individual: bool = False self._transitioning_group: bool = False self._transition_listener: asyncio.TimerHandle | None = None @@ -293,6 +286,75 @@ def __init__(self, *args, **kwargs): self._internal_supported_color_modes: set[ColorMode] = set() + @property + def _color_capabilities(self) -> Color.ColorCapabilities: + """Return ZCL color capabilities of the light.""" + if self._color_cluster is None: + return Color.ColorCapabilities.XY_attributes + color_capabilities = self._color_cluster.get( + Color.AttributeDefs.color_capabilities.name + ) + if color_capabilities is None: + return Color.ColorCapabilities.XY_attributes + return Color.ColorCapabilities(color_capabilities) + + @property + def _color_temperature(self) -> int | None: + if self._color_cluster is None: + return None + return self._color_cluster.get(Color.AttributeDefs.color_temperature.name) + + @property + def _color_xy_supported(self) -> bool: + return Color.ColorCapabilities.XY_attributes in self._color_capabilities + + @property + def _color_temp_supported(self) -> bool: + return ( + Color.ColorCapabilities.Color_temperature in self._color_capabilities + ) or self._color_temperature is not None + + @property + def _color_loop_supported(self) -> bool: + return Color.ColorCapabilities.Color_loop in self._color_capabilities + + @property + def _color_options(self) -> Color.Options: + if self._color_cluster is None: + return Color.Options(0) + return Color.Options( + self._color_cluster.get(Color.AttributeDefs.options.name, 0) + ) + + @property + def _execute_if_off_supported(self) -> bool: + return Color.Options.Execute_if_off in self._color_options + + _COLOR_MIN_MIREDS = 153 + _COLOR_MAX_MIREDS = 500 + + @property + def _color_min_mireds(self) -> int: + if self._color_cluster is None: + return self._COLOR_MIN_MIREDS + min_mireds = self._color_cluster.get( + Color.AttributeDefs.color_temp_physical_min.name, self._COLOR_MIN_MIREDS + ) + if min_mireds == 0: + min_mireds = self._COLOR_MIN_MIREDS + return min_mireds + + @property + def _color_max_mireds(self) -> int: + if self._color_cluster is None: + return self._COLOR_MAX_MIREDS + max_mireds = self._color_cluster.get( + Color.AttributeDefs.color_temp_physical_max.name, self._COLOR_MAX_MIREDS + ) + if max_mireds == 0: + max_mireds = self._COLOR_MAX_MIREDS + return max_mireds + @property @abstractmethod def _gateway(self) -> Gateway: @@ -339,15 +401,16 @@ async def async_turn_on( execute_if_off_supported = ( self._GROUP_SUPPORTS_EXECUTE_IF_OFF if isinstance(self, LightGroup) - else self._color_cluster_handler - and self._color_cluster_handler.execute_if_off_supported + else ( + self._color_cluster is not None and self._execute_if_off_supported + ) ) # A device theoretically could lie about having brightness support and omit the # actual LevelControl cluster needed to control it brightness_supported = ( is_brightness_supported(self._internal_supported_color_modes) - and self._level_cluster_handler is not None + and self._level_cluster is not None ) set_transition_flag = ( @@ -462,12 +525,12 @@ async def _async_turn_on_impl( # noqa: C901 t_log = {} if new_color_provided_while_off: - assert self._level_cluster_handler is not None + assert self._level_cluster is not None # If the light is currently off, we first need to turn it on at a low # brightness level with no transition. # After that, we set it to the desired color/temperature with no transition. - result = await self._level_cluster_handler.move_to_level_with_on_off( + result = await self._level_cluster.move_to_level_with_on_off( level=DEFAULT_MIN_BRIGHTNESS, transition_time=int(10 * self._DEFAULT_MIN_TRANSITION_TIME), ) @@ -506,9 +569,9 @@ async def _async_turn_on_impl( # noqa: C901 and not new_color_provided_while_off and brightness_supported ): - assert self._level_cluster_handler is not None + assert self._level_cluster is not None - result = await self._level_cluster_handler.move_to_level_with_on_off( + result = await self._level_cluster.move_to_level_with_on_off( level=level, transition_time=int(10 * duration), ) @@ -529,12 +592,12 @@ async def _async_turn_on_impl( # noqa: C901 and not new_color_provided_while_off or (self._FORCE_ON and brightness != 0) ): - assert self._on_off_cluster_handler is not None + assert self._on_off_cluster is not None # since FORCE_ON lights don't turn on with move_to_level_with_on_off, # we should call the on command on the on_off cluster # if brightness is not 0. - result = await self._on_off_cluster_handler.on() + result = await self._on_off_cluster.on() t_log["on_off"] = result if result[1] is not Status.SUCCESS: # 'On' call failed, but as brightness may still transition @@ -561,11 +624,11 @@ async def _async_turn_on_impl( # noqa: C901 return if new_color_provided_while_off: - assert self._level_cluster_handler is not None + assert self._level_cluster is not None # The light has the correct color, so we can now transition # it to the correct brightness level. - result = await self._level_cluster_handler.move_to_level( + result = await self._level_cluster.move_to_level( level=level, transition_time=int(10 * duration) ) t_log["move_to_level_if_color"] = result @@ -586,9 +649,9 @@ async def _async_turn_on_impl( # noqa: C901 # attribute reports after the completed transition). self.async_transition_start_timer(transition_time) - if self._color_cluster_handler is not None: + if self._color_cluster is not None: if effect == EFFECT_COLORLOOP: - result = await self._color_cluster_handler.color_loop_set( + result = await self._color_cluster.color_loop_set( update_flags=( Color.ColorLoopUpdateFlags.Action | Color.ColorLoopUpdateFlags.Direction @@ -602,7 +665,7 @@ async def _async_turn_on_impl( # noqa: C901 t_log["color_loop_set"] = result self._effect = EFFECT_COLORLOOP elif self._effect == EFFECT_COLORLOOP and effect != EFFECT_COLORLOOP: - result = await self._color_cluster_handler.color_loop_set( + result = await self._color_cluster.color_loop_set( update_flags=Color.ColorLoopUpdateFlags.Action, action=Color.ColorLoopAction.Deactivate, direction=Color.ColorLoopDirection.Decrement, @@ -613,8 +676,8 @@ async def _async_turn_on_impl( # noqa: C901 self._effect = EFFECT_OFF if flash is not None: - assert self._identify_cluster_handler is not None - result = await self._identify_cluster_handler.trigger_effect( + assert self._identify_cluster is not None + result = await self._identify_cluster.trigger_effect( effect_id=FLASH_EFFECTS[flash], effect_variant=Identify.EffectVariant.Default, ) @@ -629,7 +692,7 @@ async def async_turn_off(self, *, transition: float | None = None) -> None: """Turn the entity off.""" brightness_supported = ( is_brightness_supported(self._internal_supported_color_modes) - and self._level_cluster_handler is not None + and self._level_cluster is not None ) transition_time = ( @@ -646,17 +709,17 @@ async def async_turn_off(self, *, transition: float | None = None) -> None: # is not none looks odd here, but it will override built in bulb # transition times if we pass 0 in here if transition is not None and brightness_supported: - assert self._level_cluster_handler is not None + assert self._level_cluster is not None - result = await self._level_cluster_handler.move_to_level_with_on_off( + result = await self._level_cluster.move_to_level_with_on_off( level=0, transition_time=int( 10 * (transition or self._DEFAULT_MIN_TRANSITION_TIME) ), ) else: - assert self._on_off_cluster_handler is not None - result = await self._on_off_cluster_handler.off() + assert self._on_off_cluster is not None + result = await self._on_off_cluster.off() # Pause parsing attribute reports until transition is complete if self._zha_config_enable_light_transitioning_flag: @@ -701,9 +764,9 @@ async def async_handle_color_commands( ) if color_temp is not None: - assert self._color_cluster_handler is not None + assert self._color_cluster is not None - result = await self._color_cluster_handler.move_to_color_temp( + result = await self._color_cluster.move_to_color_temp( color_temp_mireds=color_temp, transition_time=int(10 * transition_time), ) @@ -715,9 +778,9 @@ async def async_handle_color_commands( self._xy_color = None if xy_color is not None: - assert self._color_cluster_handler is not None + assert self._color_cluster is not None - result = await self._color_cluster_handler.move_to_color( + result = await self._color_cluster.move_to_color( color_x=int(xy_color[0] * 65535), color_y=int(xy_color[1] * 65535), transition_time=int(10 * transition_time), @@ -916,7 +979,6 @@ class Light(BaseClusterHandlerLight, PlatformEntity): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs, @@ -924,24 +986,22 @@ def __init__( """Initialize the light.""" kwargs.pop("legacy_discovery_unique_id", None) super().__init__( - cluster_handlers, - endpoint, - device, + endpoint=endpoint, + device=device, **kwargs, legacy_discovery_unique_id=f"{endpoint.device.ieee}-{endpoint.id}", ) - self._on_off_cluster_handler: OnOffClusterHandler = cast( - OnOffClusterHandler, self.cluster_handlers[CLUSTER_HANDLER_ON_OFF] + self._on_off_cluster = endpoint.zigpy_endpoint.in_clusters[OnOff.cluster_id] + self._state: bool = bool( + self._on_off_cluster.get(OnOff.AttributeDefs.on_off.name) ) - self._state: bool = bool(self._on_off_cluster_handler.on_off) - self._level_cluster_handler: LevelControlClusterHandler | None = cast( - LevelControlClusterHandler | None, - self.cluster_handlers.get(CLUSTER_HANDLER_LEVEL), + self._level_cluster = endpoint.zigpy_endpoint.in_clusters.get( + LevelControl.cluster_id ) - self._color_cluster_handler: ColorClusterHandler | None = cast( - ColorClusterHandler | None, self.cluster_handlers.get(CLUSTER_HANDLER_COLOR) + self._color_cluster = endpoint.zigpy_endpoint.in_clusters.get(Color.cluster_id) + self._identify_cluster = ( + device.identify_ch.cluster if device.identify_ch is not None else None ) - self._identify_cluster_handler: ClusterHandler | None = device.identify_ch self._refresh_task: asyncio.Task | None = None @@ -954,20 +1014,31 @@ def _gateway(self) -> Gateway: def on_add(self) -> None: """Run when entity is added.""" super().on_add() - self._on_remove_callbacks.append( - self._on_off_cluster_handler.on_event( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - self.handle_cluster_handler_attribute_updated, - ) - ) - - if self._level_cluster_handler: + for event_type in ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + ): self._on_remove_callbacks.append( - self._level_cluster_handler.on_event( - CLUSTER_HANDLER_LEVEL_CHANGED, self.handle_cluster_handler_set_level + self._on_off_cluster.on_event( + event_type.event_type, self.handle_attribute_updated ) ) + if self._level_cluster is not None: + for event_type in ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + ): + self._on_remove_callbacks.append( + self._level_cluster.on_event( + event_type.event_type, self.handle_level_attribute_updated + ) + ) + self.start_polling() def recompute_capabilities(self) -> None: @@ -977,32 +1048,37 @@ def recompute_capabilities(self) -> None: effect_list = [EFFECT_OFF] self._internal_supported_color_modes = {ColorMode.ONOFF} - if self._level_cluster_handler: + if self._level_cluster is not None: self._internal_supported_color_modes.add(ColorMode.BRIGHTNESS) self._supported_features |= LightEntityFeature.TRANSITION - self._brightness = self._level_cluster_handler.current_level + self._brightness = self._level_cluster.get( + LevelControl.AttributeDefs.current_level.name + ) - if self._color_cluster_handler: - self._min_mireds: int = self._color_cluster_handler.min_mireds - self._max_mireds: int = self._color_cluster_handler.max_mireds + if self._color_cluster is not None: + self._min_mireds: int = self._color_min_mireds + self._max_mireds: int = self._color_max_mireds - if self._color_cluster_handler.color_temp_supported: + if self._color_temp_supported: self._internal_supported_color_modes.add(ColorMode.COLOR_TEMP) - self._color_temp = self._color_cluster_handler.color_temperature + self._color_temp = self._color_temperature - if self._color_cluster_handler.xy_supported: + if self._color_xy_supported: self._internal_supported_color_modes.add(ColorMode.XY) - curr_x = self._color_cluster_handler.current_x - curr_y = self._color_cluster_handler.current_y + curr_x = self._color_cluster.get(Color.AttributeDefs.current_x.name) + curr_y = self._color_cluster.get(Color.AttributeDefs.current_y.name) if curr_x is not None and curr_y is not None: self._xy_color = (curr_x / 65535, curr_y / 65535) else: self._xy_color = (0, 0) - if self._color_cluster_handler.color_loop_supported: + if self._color_loop_supported: self._supported_features |= LightEntityFeature.EFFECT effect_list.append(EFFECT_COLORLOOP) - if self._color_cluster_handler.color_loop_active == 1: + if ( + self._color_cluster.get(Color.AttributeDefs.color_loop_active.name) + == 1 + ): self._effect = EFFECT_COLORLOOP self._supported_color_modes = supported_color_modes = ( @@ -1011,28 +1087,36 @@ def recompute_capabilities(self) -> None: if len(supported_color_modes) == 1: self._color_mode = next(iter(supported_color_modes)) else: # Light supports color_temp + xy, determine which mode the light is in - assert self._color_cluster_handler + assert self._color_cluster is not None if ( - self._color_cluster_handler.color_mode + self._color_cluster.get(Color.AttributeDefs.color_mode.name) == Color.ColorMode.Color_temperature ): self._color_mode = ColorMode.COLOR_TEMP else: self._color_mode = ColorMode.XY - if self._identify_cluster_handler: + if self._identify_cluster is not None: self._supported_features |= LightEntityFeature.FLASH self._effect_list = effect_list - def handle_cluster_handler_set_level(self, event: LevelChangeEvent) -> None: + def handle_level_attribute_updated( + self, + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, + ) -> None: """Set the brightness of this light between 0..254. brightness level 255 is a special value instructing the device to come on at `on_level` Zigbee attribute value, regardless of the last set level """ - value = max(0, min(254, event.level)) + if event.attribute_id != LevelControl.AttributeDefs.current_level.id: + return + value = max(0, min(254, event.value)) if self.is_transitioning: self.debug( "received level change event %s while transitioning - buffering", @@ -1085,25 +1169,26 @@ def transition_off(self): self.debug("group transition completed - unsetting member transitioning flag") self._transitioning_group = False - def handle_cluster_handler_attribute_updated( - self, event: ClusterAttributeUpdatedEvent + def handle_attribute_updated( + self, + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, ) -> None: """Set the state.""" - if ( - event.cluster_id != self._on_off_cluster_handler.cluster.cluster_id - or event.attribute_id != OnOff.AttributeDefs.on_off.id - ): + if event.attribute_id != OnOff.AttributeDefs.on_off.id: return if self.is_transitioning: self.debug( "received onoff %s while transitioning - buffering", - event.attribute_value, + event.value, ) - if not event.attribute_value: + if not event.value: self._transition_brightness_buffer = 0 return - self._state = bool(event.attribute_value) - if event.attribute_value: + self._state = bool(event.value) + if event.value: self._off_with_transition = False self._off_brightness = None self.maybe_emit_state_changed_event() @@ -1122,10 +1207,14 @@ async def async_update(self) -> None: return self.debug("polling current state") - if self._on_off_cluster_handler: - state = await self._on_off_cluster_handler.get_attribute_value( - "on_off", from_cache=False + if self._on_off_cluster is not None: + results = await safe_read( + self._on_off_cluster, + [OnOff.AttributeDefs.on_off.name], + allow_cache=False, + only_cache=False, ) + state = results.get(OnOff.AttributeDefs.on_off.name) # check if transition started whilst waiting for polled state if self.is_transitioning: return # type: ignore[unreachable] @@ -1136,29 +1225,36 @@ async def async_update(self) -> None: self._off_with_transition = False self._off_brightness = None - if self._level_cluster_handler: - level = await self._level_cluster_handler.get_attribute_value( - "current_level", from_cache=False + if self._level_cluster is not None: + results = await safe_read( + self._level_cluster, + [LevelControl.AttributeDefs.current_level.name], + allow_cache=False, + only_cache=False, ) + level = results.get(LevelControl.AttributeDefs.current_level.name) # check if transition started whilst waiting for polled state if self.is_transitioning: return # type: ignore[unreachable] if level is not None: self._brightness = level - if self._color_cluster_handler: + if self._color_cluster is not None: attributes = [ - "color_mode", - "current_x", - "current_y", + Color.AttributeDefs.color_mode.name, + Color.AttributeDefs.current_x.name, + Color.AttributeDefs.current_y.name, ] - if self._color_cluster_handler.color_temp_supported: - attributes.append("color_temperature") - if self._color_cluster_handler.color_loop_supported: - attributes.append("color_loop_active") - - results = await self._color_cluster_handler.get_attributes( - attributes, from_cache=False, only_cache=False + if self._color_temp_supported: + attributes.append(Color.AttributeDefs.color_temperature.name) + if self._color_loop_supported: + attributes.append(Color.AttributeDefs.color_loop_active.name) + + results = await safe_read( + self._color_cluster, + attributes, + allow_cache=False, + only_cache=False, ) # although rare, a transition might have been started while we were waiting @@ -1266,21 +1362,10 @@ def __init__(self, group: Group): """Initialize a light group.""" super().__init__(group) - # TODO: these type annotations are not correct, these are not cluster handler - # objects but are instead cluster proxies! - self._on_off_cluster_handler: OnOffClusterHandler = cast( - OnOffClusterHandler, group.zigpy_group.endpoint[OnOff.cluster_id] - ) - self._level_cluster_handler: LevelControlClusterHandler | None = cast( - LevelControlClusterHandler | None, - group.zigpy_group.endpoint[LevelControl.cluster_id], - ) - self._color_cluster_handler: ColorClusterHandler | None = cast( - ColorClusterHandler | None, group.zigpy_group.endpoint[Color.cluster_id] - ) - self._identify_cluster_handler: ClusterHandler | None = ( - group.zigpy_group.endpoint[Identify.cluster_id] - ) + self._on_off_cluster = group.zigpy_group.endpoint[OnOff.cluster_id] + self._level_cluster = group.zigpy_group.endpoint[LevelControl.cluster_id] + self._color_cluster = group.zigpy_group.endpoint[Color.cluster_id] + self._identify_cluster = group.zigpy_group.endpoint[Identify.cluster_id] self._debounced_member_refresh: Debouncer | None = Debouncer( self.group.gateway, @@ -1329,13 +1414,17 @@ def recompute_capabilities(self) -> None: # If at least one member has a color cluster and doesn't support it, # it's not used. for endpoint in member.device._endpoints.values(): - for cluster_handler in endpoint.all_cluster_handlers.values(): - if ( - cluster_handler.name == CLUSTER_HANDLER_COLOR - and not cluster_handler.execute_if_off_supported - ): - self._GROUP_SUPPORTS_EXECUTE_IF_OFF = False - break + color_cluster = endpoint.zigpy_endpoint.in_clusters.get( + Color.cluster_id + ) + if color_cluster is None: + continue + options = Color.Options( + color_cluster.get(Color.AttributeDefs.options.name, 0) + ) + if Color.Options.Execute_if_off not in options: + self._GROUP_SUPPORTS_EXECUTE_IF_OFF = False + break self._color_mode = ColorMode.UNKNOWN self._internal_supported_color_modes = {ColorMode.ONOFF} @@ -1521,7 +1610,7 @@ def _make_members_assume_group_state( brightness_supported = ( is_brightness_supported(supported_modes) - and platform_entity._level_cluster_handler is not None + and platform_entity._level_cluster is not None ) # unset "off brightness" and "off with transition" diff --git a/zha/application/platforms/number/__init__.py b/zha/application/platforms/number/__init__.py index f8afc9c06..5e0768e45 100644 --- a/zha/application/platforms/number/__init__.py +++ b/zha/application/platforms/number/__init__.py @@ -15,12 +15,19 @@ from zigpy.zcl.clusters.lighting import Ballast, Color from zigpy.zcl.clusters.measurement import OccupancySensing +from zigpy.zcl import ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, +) + from zha.application import Platform +from zha.application.helpers import safe_read, write_attributes_safe from zha.application.platforms import ( AttrConfig, BaseEntityInfo, ClusterConfig, - ClusterHandlerMatch, ClusterMatch, EntityCategory, PlatformEntity, @@ -31,12 +38,8 @@ from zha.application.platforms.number.bacnet import BACNET_UNITS_TO_HA_UNITS from zha.application.platforms.number.const import ICONS, NumberDeviceClass, NumberMode from zha.units import UnitOfMass, UnitOfTemperature, UnitOfTime -from zha.zigbee.cluster_handlers import ClusterAttributeUpdatedEvent from zha.zigbee.cluster_handlers.const import ( AQARA_OPPLE_CLUSTER, - CLUSTER_HANDLER_ANALOG_OUTPUT, - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - CLUSTER_HANDLER_INOVELLI, IKEA_AIR_PURIFIER_CLUSTER, INOVELLI_CLUSTER, REPORT_CONFIG_ASAP, @@ -52,7 +55,6 @@ ) if TYPE_CHECKING: - from zha.zigbee.cluster_handlers import ClusterHandler from zha.zigbee.device import Device from zha.zigbee.endpoint import Endpoint @@ -181,61 +183,77 @@ class AnalogOutputNumber(BaseNumber): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs: Any, ): """Initialize the number.""" - super().__init__(cluster_handlers, endpoint, device, **kwargs) - self._analog_output_cluster_handler: ClusterHandler = self.cluster_handlers[ - CLUSTER_HANDLER_ANALOG_OUTPUT - ] + super().__init__(endpoint=endpoint, device=device, **kwargs) + self._cluster = endpoint.zigpy_endpoint.in_clusters[AnalogOutput.cluster_id] def recompute_capabilities(self) -> None: """Recompute capabilities.""" super().recompute_capabilities() - analog_output = self._analog_output_cluster_handler - self._attr_native_min_value = analog_output.min_present_value or 0 - self._attr_native_max_value = analog_output.max_present_value or 1023 - self._attr_native_step = analog_output.resolution + min_val = self._cluster.get(AnalogOutput.AttributeDefs.min_present_value.name) + max_val = self._cluster.get(AnalogOutput.AttributeDefs.max_present_value.name) + self._attr_native_min_value = min_val or 0 + self._attr_native_max_value = max_val or 1023 + self._attr_native_step = self._cluster.get( + AnalogOutput.AttributeDefs.resolution.name + ) self._attr_native_unit_of_measurement = BACNET_UNITS_TO_HA_UNITS.get( - analog_output.engineering_units + self._cluster.get(AnalogOutput.AttributeDefs.engineering_units.name) ) - if analog_output.application_type is not None: - self._attr_icon = ICONS.get(analog_output.application_type >> 16) + application_type = self._cluster.get( + AnalogOutput.AttributeDefs.application_type.name + ) + if application_type is not None: + self._attr_icon = ICONS.get(application_type >> 16) else: self._attr_icon = None - self._attr_fallback_name = analog_output.description + self._attr_fallback_name = self._cluster.get( + AnalogOutput.AttributeDefs.description.name + ) def on_add(self) -> None: """Run when entity is added.""" super().on_add() - self._on_remove_callbacks.append( - self._analog_output_cluster_handler.on_event( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - self.handle_cluster_handler_attribute_updated, + for event_type in ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + ): + self._on_remove_callbacks.append( + self._cluster.on_event( + event_type.event_type, self.handle_attribute_updated + ) ) - ) @property def native_value(self) -> float | None: """Return the current value.""" - return self._analog_output_cluster_handler.present_value + return self._cluster.get(AnalogOutput.AttributeDefs.present_value.name) async def async_set_native_value(self, value: float) -> None: """Update the current value from HA.""" - await self._analog_output_cluster_handler.async_set_present_value(float(value)) + await write_attributes_safe( + self._cluster, + {AnalogOutput.AttributeDefs.present_value.name: float(value)}, + ) self.maybe_emit_state_changed_event() - def handle_cluster_handler_attribute_updated( + def handle_attribute_updated( self, - event: ClusterAttributeUpdatedEvent, # pylint: disable=unused-argument + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, # pylint: disable=unused-argument ) -> None: - """Handle value update from cluster handler.""" + """Handle value update from cluster.""" self.maybe_emit_state_changed_event() @@ -248,29 +266,24 @@ class NumberConfigurationEntity(BaseNumber): _attr_native_step: float = 1.0 _multiplier: float = 1 _attribute_name: str + _cluster_id: int def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs: Any, ) -> None: """Init this number configuration entity.""" - self._cluster_handler: ClusterHandler = cluster_handlers[0] - super().__init__(cluster_handlers, endpoint, device, **kwargs) + self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] + super().__init__(endpoint=endpoint, device=device, **kwargs) def _is_supported(self) -> bool: """Return if the entity is supported for the device, internal.""" if ( - ( - self._attribute_name - not in self._cluster_handler.cluster.attributes_by_name - ) - or self._cluster_handler.cluster.is_attribute_unsupported( - self._attribute_name - ) - or self._cluster_handler.cluster.get(self._attribute_name) is None + self._attribute_name not in self._cluster.attributes_by_name + or self._cluster.is_attribute_unsupported(self._attribute_name) + or self._cluster.get(self._attribute_name) is None ): _LOGGER.debug( "%s is not supported - skipping %s entity creation", @@ -284,12 +297,17 @@ def _is_supported(self) -> bool: def on_add(self) -> None: """Initialize entity.""" super().on_add() - self._on_remove_callbacks.append( - self._cluster_handler.on_event( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - self.handle_cluster_handler_attribute_updated, + for event_type in ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + ): + self._on_remove_callbacks.append( + self._cluster.on_event( + event_type.event_type, self.handle_attribute_updated + ) ) - ) def _init_from_quirks_metadata(self, entity_metadata: NumberMetadata) -> None: """Init this entity from the quirks metadata.""" @@ -326,34 +344,38 @@ def state(self) -> dict[str, Any]: @property def native_value(self) -> float | None: """Return the current value.""" - value = self._cluster_handler.cluster.get(self._attribute_name) + value = self._cluster.get(self._attribute_name) if value is None: return None return value * self._multiplier async def async_set_native_value(self, value: float) -> None: """Update the current value from HA.""" - await self._cluster_handler.write_attributes_safe( - {self._attribute_name: int(value / self._multiplier)} + await write_attributes_safe( + self._cluster, {self._attribute_name: int(value / self._multiplier)} ) self.maybe_emit_state_changed_event() async def async_update(self) -> None: """Attempt to retrieve the state of the entity.""" _LOGGER.debug("polling current state") - if self._cluster_handler: - value = await self._cluster_handler.get_attribute_value( - self._attribute_name, from_cache=False - ) - _LOGGER.debug("read value=%s", value) - # The attribute update handler below takes care of the rest - self.maybe_emit_state_changed_event() + result = await safe_read( + self._cluster, + [self._attribute_name], + allow_cache=False, + only_cache=False, + ) + _LOGGER.debug("read value=%s", result.get(self._attribute_name)) + self.maybe_emit_state_changed_event() - def handle_cluster_handler_attribute_updated( + def handle_attribute_updated( self, - event: ClusterAttributeUpdatedEvent, # pylint: disable=unused-argument + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, # pylint: disable=unused-argument ) -> None: - """Handle value update from cluster handler.""" + """Handle value update from cluster.""" if event.attribute_name == self._attribute_name: self.maybe_emit_state_changed_event() @@ -367,9 +389,10 @@ class AqaraMotionDetectionInterval(NumberConfigurationEntity): _attr_native_max_value: float = 65535 _attribute_name = "detection_interval" _attr_translation_key: str = "detection_interval" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.motion.ac02", "lumi.motion.agl04"}), ) @@ -383,6 +406,7 @@ class OnOffTransitionTimeConfigurationEntity(NumberConfigurationEntity): _attr_native_max_value: float = 0xFFFF _attribute_name = "on_off_transition_time" _attr_translation_key: str = "on_off_transition_time" + _cluster_id = LevelControl.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({LevelControl.cluster_id}), @@ -428,6 +452,7 @@ class OnLevelConfigurationEntity(NumberConfigurationEntity): _attr_native_max_value: float = 0xFF _attribute_name = "on_level" _attr_translation_key: str = "on_level" + _cluster_id = LevelControl.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({LevelControl.cluster_id}), @@ -443,6 +468,7 @@ class OnTransitionTimeConfigurationEntity(NumberConfigurationEntity): _attr_native_max_value: float = 0xFFFE _attribute_name = "on_transition_time" _attr_translation_key: str = "on_transition_time" + _cluster_id = LevelControl.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({LevelControl.cluster_id}), @@ -458,6 +484,7 @@ class OffTransitionTimeConfigurationEntity(NumberConfigurationEntity): _attr_native_max_value: float = 0xFFFE _attribute_name = "off_transition_time" _attr_translation_key: str = "off_transition_time" + _cluster_id = LevelControl.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({LevelControl.cluster_id}), @@ -474,6 +501,7 @@ class DefaultMoveRateConfigurationEntity(NumberConfigurationEntity): _attr_native_max_value: float = 0xFE _attribute_name = "default_move_rate" _attr_translation_key: str = "default_move_rate" + _cluster_id = LevelControl.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({LevelControl.cluster_id}), @@ -489,6 +517,7 @@ class StartUpCurrentLevelConfigurationEntity(NumberConfigurationEntity): _attr_native_max_value: float = 0xFF _attribute_name = "start_up_current_level" _attr_translation_key: str = "start_up_current_level" + _cluster_id = LevelControl.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({LevelControl.cluster_id}), @@ -504,6 +533,7 @@ class StartUpColorTemperatureConfigurationEntity(NumberConfigurationEntity): _attr_native_max_value: float = 500 _attribute_name = "start_up_color_temperature" _attr_translation_key: str = "start_up_color_temperature" + _cluster_id = Color.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Color.cluster_id}), @@ -553,8 +583,18 @@ class StartUpColorTemperatureConfigurationEntity(NumberConfigurationEntity): def recompute_capabilities(self) -> None: """Recompute capabilities.""" super().recompute_capabilities() - self._attr_native_min_value = self._cluster_handler.min_mireds - self._attr_native_max_value = self._cluster_handler.max_mireds + min_mireds = self._cluster.get( + Color.AttributeDefs.color_temp_physical_min.name, 153 + ) + if min_mireds == 0: + min_mireds = 153 + max_mireds = self._cluster.get( + Color.AttributeDefs.color_temp_physical_max.name, 500 + ) + if max_mireds == 0: + max_mireds = 500 + self._attr_native_min_value = min_mireds + self._attr_native_max_value = max_mireds @register_entity(Ballast.cluster_id) @@ -567,6 +607,7 @@ class BallastMinLevel(NumberConfigurationEntity): _attr_native_max_value: float = 0xFE _attribute_name = "min_level" _attr_translation_key: str = "minimum_dimming_level" + _cluster_id = Ballast.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Ballast.cluster_id}), @@ -597,6 +638,7 @@ class BallastMaxLevel(NumberConfigurationEntity): _attr_native_max_value: float = 0xFE _attribute_name = "max_level" _attr_translation_key: str = "maximum_dimming_level" + _cluster_id = Ballast.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Ballast.cluster_id}), @@ -614,6 +656,7 @@ class PIROccupiedToUnoccupiedDelayConfigurationEntity(NumberConfigurationEntity) _attr_native_unit_of_measurement: str = UnitOfTime.SECONDS _attribute_name = "pir_o_to_u_delay" _attr_translation_key: str = "pir_o_to_u_delay" + _cluster_id = OccupancySensing.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({OccupancySensing.cluster_id}), @@ -649,6 +692,7 @@ class PIRUnoccupiedToOccupiedDelayConfigurationEntity(NumberConfigurationEntity) _attr_native_unit_of_measurement: str = UnitOfTime.SECONDS _attribute_name = "pir_u_to_o_delay" _attr_translation_key: str = "pir_u_to_o_delay" + _cluster_id = OccupancySensing.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({OccupancySensing.cluster_id}), @@ -665,6 +709,7 @@ class SonoffPresenceSenorTimeout(NumberConfigurationEntity): _attr_native_max_value: int = 60 _attribute_name = "ultrasonic_o_to_u_delay" _attr_translation_key: str = "presence_detection_timeout" + _cluster_id = OccupancySensing.cluster_id _attr_mode: NumberMode = NumberMode.BOX @@ -685,9 +730,10 @@ class TimerDurationMinutes(NumberConfigurationEntity): _attr_native_unit_of_measurement: str = UnitOfTime.MINUTES _attribute_name = "timer_duration" _attr_translation_key: str = "timer_duration" + _cluster_id = TUYA_MANUFACTURER_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"tuya_manufacturer"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({TUYA_MANUFACTURER_CLUSTER}), manufacturers=frozenset({"_TZE200_htnnfasr"}), ) @@ -703,9 +749,10 @@ class FilterLifeTime(NumberConfigurationEntity): _attr_native_unit_of_measurement: str = UnitOfTime.MINUTES _attribute_name = "filter_life_time" _attr_translation_key: str = "filter_life_time" + _cluster_id = IKEA_AIR_PURIFIER_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"ikea_airpurifier"}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({IKEA_AIR_PURIFIER_CLUSTER}), ) @@ -718,6 +765,7 @@ class TiRouterTransmitPower(NumberConfigurationEntity): _attr_native_max_value: float = 20 _attribute_name = "transmit_power" _attr_translation_key: str = "transmit_power" + _cluster_id = Basic.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Basic.cluster_id}), @@ -746,8 +794,10 @@ class InovelliRemoteDimmingUpSpeed(NumberConfigurationEntity): _attribute_name = "dimming_speed_up_remote" _attr_translation_key: str = "dimming_speed_up_remote" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -762,8 +812,10 @@ class InovelliButtonDelay(NumberConfigurationEntity): _attribute_name = "button_delay" _attr_translation_key: str = "button_delay" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -778,8 +830,10 @@ class InovelliLocalDimmingUpSpeed(NumberConfigurationEntity): _attribute_name = "dimming_speed_up_local" _attr_translation_key: str = "dimming_speed_up_local" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -794,8 +848,10 @@ class InovelliLocalRampRateOffToOn(NumberConfigurationEntity): _attribute_name = "ramp_rate_off_to_on_local" _attr_translation_key: str = "ramp_rate_off_to_on_local" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -810,8 +866,10 @@ class InovelliRemoteDimmingSpeedOffToOn(NumberConfigurationEntity): _attribute_name = "ramp_rate_off_to_on_remote" _attr_translation_key: str = "ramp_rate_off_to_on_remote" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -826,8 +884,10 @@ class InovelliRemoteDimmingDownSpeed(NumberConfigurationEntity): _attribute_name = "dimming_speed_down_remote" _attr_translation_key: str = "dimming_speed_down_remote" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -842,8 +902,10 @@ class InovelliLocalDimmingDownSpeed(NumberConfigurationEntity): _attribute_name = "dimming_speed_down_local" _attr_translation_key: str = "dimming_speed_down_local" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -858,8 +920,10 @@ class InovelliLocalRampRateOnToOff(NumberConfigurationEntity): _attribute_name = "ramp_rate_on_to_off_local" _attr_translation_key: str = "ramp_rate_on_to_off_local" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -874,8 +938,10 @@ class InovelliRemoteDimmingSpeedOnToOff(NumberConfigurationEntity): _attribute_name = "ramp_rate_on_to_off_remote" _attr_translation_key: str = "ramp_rate_on_to_off_remote" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -890,8 +956,10 @@ class InovelliMinimumLoadDimmingLevel(NumberConfigurationEntity): _attribute_name = "minimum_level" _attr_translation_key: str = "minimum_level" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -906,8 +974,10 @@ class InovelliMaximumLoadDimmingLevel(NumberConfigurationEntity): _attribute_name = "maximum_level" _attr_translation_key: str = "maximum_level" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -922,8 +992,10 @@ class InovelliAutoShutoffTimer(NumberConfigurationEntity): _attribute_name = "auto_off_timer" _attr_translation_key: str = "auto_off_timer" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -938,8 +1010,10 @@ class InovelliLocalDefaultLevel(NumberConfigurationEntity): _attribute_name = "default_level_local" _attr_translation_key: str = "default_level_local" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -954,8 +1028,10 @@ class InovelliRemoteDefaultLevel(NumberConfigurationEntity): _attribute_name = "default_level_remote" _attr_translation_key: str = "default_level_remote" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -970,8 +1046,10 @@ class InovelliStartupDefaultLevel(NumberConfigurationEntity): _attribute_name = "state_after_power_restored" _attr_translation_key: str = "state_after_power_restored" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -986,8 +1064,10 @@ class InovelliQuickStartTime(NumberConfigurationEntity): _attribute_name = "quick_start_time" _attr_translation_key: str = "quick_start_time" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}), + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), models=frozenset({"VZM35-SN"}), ) @@ -1003,8 +1083,10 @@ class InovelliLoadLevelIndicatorTimeout(NumberConfigurationEntity): _attribute_name = "load_level_indicator_timeout" _attr_translation_key: str = "load_level_indicator_timeout" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -1019,8 +1101,10 @@ class InovelliDefaultAllLEDOnColor(NumberConfigurationEntity): _attribute_name = "led_color_when_on" _attr_translation_key: str = "led_color_when_on" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -1035,8 +1119,10 @@ class InovelliDefaultAllLEDOffColor(NumberConfigurationEntity): _attribute_name = "led_color_when_off" _attr_translation_key: str = "led_color_when_off" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -1051,8 +1137,10 @@ class InovelliDefaultAllLEDOnIntensity(NumberConfigurationEntity): _attribute_name = "led_intensity_when_on" _attr_translation_key: str = "led_intensity_when_on" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -1067,8 +1155,10 @@ class InovelliDefaultAllLEDOffIntensity(NumberConfigurationEntity): _attribute_name = "led_intensity_when_off" _attr_translation_key: str = "led_intensity_when_off" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -1083,8 +1173,10 @@ class InovelliDoubleTapUpLevel(NumberConfigurationEntity): _attribute_name = "double_tap_up_level" _attr_translation_key: str = "double_tap_up_level" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -1099,8 +1191,10 @@ class InovelliDoubleTapDownLevel(NumberConfigurationEntity): _attribute_name = "double_tap_down_level" _attr_translation_key: str = "double_tap_down_level" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -1114,11 +1208,12 @@ class AqaraPetFeederServingSize(NumberConfigurationEntity): _attr_native_max_value: float = 10 _attribute_name = "serving_size" _attr_translation_key: str = "serving_size" + _cluster_id = AQARA_OPPLE_CLUSTER _attr_mode: NumberMode = NumberMode.BOX - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"aqara.feeder.acn001"}), ) @@ -1133,12 +1228,13 @@ class AqaraPetFeederPortionWeight(NumberConfigurationEntity): _attr_native_max_value: float = 100 _attribute_name = "portion_weight" _attr_translation_key: str = "portion_weight" + _cluster_id = AQARA_OPPLE_CLUSTER _attr_mode: NumberMode = NumberMode.BOX _attr_native_unit_of_measurement: str = UnitOfMass.GRAMS - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"aqara.feeder.acn001"}), ) @@ -1154,12 +1250,13 @@ class AqaraThermostatAwayTemp(NumberConfigurationEntity): _multiplier: float = 0.01 _attribute_name = "away_preset_temperature" _attr_translation_key: str = "away_preset_temperature" + _cluster_id = AQARA_OPPLE_CLUSTER _attr_mode: NumberMode = NumberMode.SLIDER _attr_native_unit_of_measurement: str = UnitOfTemperature.CELSIUS - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.airrtc.agl001"}), ) @@ -1175,6 +1272,7 @@ class ThermostatLocalTempCalibration(NumberConfigurationEntity): _multiplier: float = 0.1 _attribute_name = "local_temperature_calibration" _attr_translation_key: str = "local_temperature_calibration" + _cluster_id = Thermostat.cluster_id _attr_mode: NumberMode = NumberMode.BOX _attr_native_unit_of_measurement: str = UnitOfTemperature.CELSIUS @@ -1328,13 +1426,13 @@ def recompute_capabilities(self) -> None: """Recompute capabilities.""" super().recompute_capabilities() self._attr_native_min_value = ( - self._cluster_handler.cluster.get( + self._cluster.get( Thermostat.AttributeDefs.abs_min_heat_setpoint_limit.name, -27315 ) * self._multiplier ) self._attr_native_max_value = ( - self._cluster_handler.cluster.get( + self._cluster.get( Thermostat.AttributeDefs.abs_max_heat_setpoint_limit.name, 0x7FFF ) * self._multiplier @@ -1352,6 +1450,7 @@ class MaxHeatSetpointLimit(ZCLHeatSetpointLimitEntity): _attribute_name: str = "max_heat_setpoint_limit" _attr_translation_key: str = "max_heat_setpoint_limit" _attr_entity_category = EntityCategory.CONFIG + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), @@ -1361,7 +1460,7 @@ def recompute_capabilities(self) -> None: """Recompute capabilities.""" super().recompute_capabilities() self._attr_native_min_value = ( - self._cluster_handler.cluster.get( + self._cluster.get( Thermostat.AttributeDefs.min_heat_setpoint_limit.name, -27315 ) * self._multiplier @@ -1379,6 +1478,7 @@ class MinHeatSetpointLimit(ZCLHeatSetpointLimitEntity): _attribute_name: str = "min_heat_setpoint_limit" _attr_translation_key: str = "min_heat_setpoint_limit" _attr_entity_category = EntityCategory.CONFIG + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), @@ -1388,7 +1488,7 @@ def recompute_capabilities(self) -> None: """Recompute capabilities.""" super().recompute_capabilities() self._attr_native_max_value = ( - self._cluster_handler.cluster.get( + self._cluster.get( Thermostat.AttributeDefs.max_heat_setpoint_limit.name, 0x7FFF ) * self._multiplier @@ -1406,6 +1506,7 @@ class DanfossExerciseTriggerTime(NumberConfigurationEntity): _attr_native_max_value: int = 1439 _attr_mode: NumberMode = NumberMode.BOX _attr_native_unit_of_measurement: str = UnitOfTime.MINUTES + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), @@ -1422,6 +1523,7 @@ class DanfossExternalMeasuredRoomSensor(ZCLTemperatureEntity): _attr_translation_key: str = "external_temperature_sensor" _attr_native_min_value: float = -80 _attr_native_max_value: float = 35 + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), @@ -1439,6 +1541,7 @@ class DanfossLoadRoomMean(NumberConfigurationEntity): _attr_native_min_value: int = -8000 _attr_native_max_value: int = 2000 _attr_mode: NumberMode = NumberMode.BOX + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), @@ -1459,6 +1562,7 @@ class DanfossRegulationSetpointOffset(NumberConfigurationEntity): _attr_native_max_value: float = 2.5 _attr_native_step: float = 0.1 _multiplier = 1 / 10 + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), @@ -1476,9 +1580,10 @@ class SinopeDimmerOnLevelConfigurationEntity(NumberConfigurationEntity): _attr_native_max_value: float = 255 _attribute_name = "on_intensity" _attr_translation_key: str = "on_level" + _cluster_id = SINOPE_MANUFACTURER_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"sinope_manufacturer_specific"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({SINOPE_MANUFACTURER_CLUSTER}), models=frozenset({"DM2500ZB", "DM2500ZB-G2", "DM2550ZB", "DM2550ZB-G2"}), ) @@ -1493,9 +1598,10 @@ class SinopeLightLEDOnIntensityConfigurationEntity(NumberConfigurationEntity): _attr_native_max_value: float = 100 _attribute_name = "on_led_intensity" _attr_translation_key: str = "on_led_intensity" + _cluster_id = SINOPE_MANUFACTURER_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"sinope_manufacturer_specific"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({SINOPE_MANUFACTURER_CLUSTER}), models=frozenset( { "DM2500ZB", @@ -1519,9 +1625,10 @@ class SinopeLightLEDOffIntensityConfigurationEntity(NumberConfigurationEntity): _attr_native_max_value: float = 100 _attribute_name = "off_led_intensity" _attr_translation_key: str = "off_led_intensity" + _cluster_id = SINOPE_MANUFACTURER_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"sinope_manufacturer_specific"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({SINOPE_MANUFACTURER_CLUSTER}), models=frozenset( { "DM2500ZB", diff --git a/zha/application/platforms/select.py b/zha/application/platforms/select.py index 89f513743..294ad3d9e 100644 --- a/zha/application/platforms/select.py +++ b/zha/application/platforms/select.py @@ -26,23 +26,27 @@ from zigpy.zcl.clusters.measurement import OccupancySensing from zigpy.zcl.clusters.security import IasWd +from zigpy.zcl import ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, +) + from zha.application import Platform from zha.application.const import Strobe +from zha.application.helpers import cluster_runtime_state, write_attributes_safe from zha.application.platforms import ( AttrConfig, BaseEntityInfo, ClusterConfig, - ClusterHandlerMatch, ClusterMatch, EntityCategory, PlatformEntity, register_entity, ) -from zha.zigbee.cluster_handlers import ClusterAttributeUpdatedEvent from zha.zigbee.cluster_handlers.const import ( AQARA_OPPLE_CLUSTER, - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - CLUSTER_HANDLER_INOVELLI, INOVELLI_CLUSTER, REPORT_CONFIG_ASAP, REPORT_CONFIG_IMMEDIATE, @@ -56,7 +60,6 @@ ) if TYPE_CHECKING: - from zha.zigbee.cluster_handlers import ClusterHandler from zha.zigbee.device import Device from zha.zigbee.endpoint import Endpoint @@ -106,19 +109,19 @@ class EnumSelectEntity(BaseSelectEntity): _attr_entity_category = EntityCategory.CONFIG _attribute_name: str _enum: type[Enum] + _cluster_id: int def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs: Any, ) -> None: """Init this select entity.""" - self._cluster_handler: ClusterHandler = cluster_handlers[0] + self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] self._attribute_name = self._enum.__name__ self._attr_options = [entry.name.replace("_", " ") for entry in self._enum] - super().__init__(cluster_handlers, endpoint, device, **kwargs) + super().__init__(endpoint=endpoint, device=device, **kwargs) @functools.cached_property def info_object(self) -> EnumSelectInfo: @@ -132,14 +135,14 @@ def info_object(self) -> EnumSelectInfo: @property def current_option(self) -> str | None: """Return the selected entity option to represent the entity state.""" - option = self._cluster_handler.data_cache.get(self._attribute_name) + option = cluster_runtime_state(self._cluster).get(self._attribute_name) if option is None: return None return option.name.replace("_", " ") async def async_select_option(self, option: str) -> None: """Change the selected option.""" - self._cluster_handler.data_cache[self._attribute_name] = self._enum[ + cluster_runtime_state(self._cluster)[self._attribute_name] = self._enum[ option.replace(" ", "_") ] self.maybe_emit_state_changed_event() @@ -151,12 +154,13 @@ def restore_external_state_attributes( ) -> None: """Restore extra state attributes that are stored outside of the ZCL cache.""" value = state.replace(" ", "_") - self._cluster_handler.data_cache[self._attribute_name] = self._enum[value] + cluster_runtime_state(self._cluster)[self._attribute_name] = self._enum[value] class NonZCLSelectEntity(EnumSelectEntity): """Representation of a ZHA select entity with no ZCL interaction.""" + _cluster_id = IasWd.cluster_id _server_cluster_config = { IasWd.cluster_id: ClusterConfig( bind=True, @@ -231,36 +235,39 @@ class ZCLEnumSelectEntity(BaseSelectEntity): _attribute_name: str _attr_entity_category = EntityCategory.CONFIG _enum: type[Enum] + _cluster_id: int def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs: Any, ) -> None: """Init this select entity.""" - super().__init__(cluster_handlers, endpoint, device, **kwargs) - self._cluster_handler: ClusterHandler = cluster_handlers[0] + super().__init__(endpoint=endpoint, device=device, **kwargs) + self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] self._attr_options = [entry.name.replace("_", " ") for entry in self._enum] def on_add(self) -> None: """Run when entity is added.""" super().on_add() - self._on_remove_callbacks.append( - self._cluster_handler.on_event( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - self.handle_cluster_handler_attribute_updated, + for event_type in ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + ): + self._on_remove_callbacks.append( + self._cluster.on_event( + event_type.event_type, self.handle_attribute_updated + ) ) - ) def _is_supported(self) -> bool: if ( - self._attribute_name not in self._cluster_handler.cluster.attributes_by_name - or self._cluster_handler.cluster.is_attribute_unsupported( - self._attribute_name - ) - or self._cluster_handler.cluster.get(self._attribute_name) is None + self._attribute_name not in self._cluster.attributes_by_name + or self._cluster.is_attribute_unsupported(self._attribute_name) + or self._cluster.get(self._attribute_name) is None ): _LOGGER.debug( "%s is not supported - skipping %s entity creation", @@ -289,7 +296,7 @@ def info_object(self) -> EnumSelectInfo: @property def current_option(self) -> str | None: """Return the selected entity option to represent the entity state.""" - option = self._cluster_handler.cluster.get(self._attribute_name) + option = self._cluster.get(self._attribute_name) if option is None: return None option = self._enum(option) @@ -297,16 +304,20 @@ def current_option(self) -> str | None: async def async_select_option(self, option: str) -> None: """Change the selected option.""" - await self._cluster_handler.write_attributes_safe( - {self._attribute_name: self._enum[option.replace(" ", "_")]} + await write_attributes_safe( + self._cluster, + {self._attribute_name: self._enum[option.replace(" ", "_")]}, ) self.maybe_emit_state_changed_event() - def handle_cluster_handler_attribute_updated( + def handle_attribute_updated( self, - event: ClusterAttributeUpdatedEvent, # pylint: disable=unused-argument + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, # pylint: disable=unused-argument ) -> None: - """Handle value update from cluster handler.""" + """Handle value update from cluster.""" if event.attribute_name == self._attribute_name: self.maybe_emit_state_changed_event() @@ -327,6 +338,7 @@ class StartupOnOffSelectEntity(ZCLEnumSelectEntity): _attribute_name = "start_up_on_off" _enum = OnOff.StartUpOnOff _attr_translation_key: str = "start_up_on_off" + _cluster_id = OnOff.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({OnOff.cluster_id}), @@ -364,6 +376,7 @@ class TuyaPowerOnStateSelectEntity(ZCLEnumSelectEntity): _attribute_name = "power_on_state" _enum = TuyaPowerOnState _attr_translation_key: str = "power_on_state" + _cluster_id = OnOff.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({OnOff.cluster_id}), @@ -387,9 +400,10 @@ class TuyaManufacturerPowerOnStateSelectEntity(ZCLEnumSelectEntity): _attribute_name = "power_on_state" _enum = TuyaPowerOnState _attr_translation_key: str = "power_on_state" + _cluster_id = TUYA_MANUFACTURER_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"tuya_manufacturer"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({TUYA_MANUFACTURER_CLUSTER}), exposed_features=frozenset({TUYA_PLUG_MANUFACTURER}), ) @@ -410,6 +424,7 @@ class TuyaBacklightModeSelectEntity(ZCLEnumSelectEntity): _attribute_name = "backlight_mode" _enum = TuyaBacklightMode _attr_translation_key: str = "backlight_mode" + _cluster_id = OnOff.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({OnOff.cluster_id}), @@ -442,9 +457,10 @@ class MoesBacklightModeSelectEntity(ZCLEnumSelectEntity): _attribute_name = "backlight_mode" _enum = MoesBacklightMode _attr_translation_key: str = "backlight_mode" + _cluster_id = TUYA_MANUFACTURER_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"tuya_manufacturer"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({TUYA_MANUFACTURER_CLUSTER}), exposed_features=frozenset({TUYA_PLUG_MANUFACTURER}), ) @@ -465,9 +481,10 @@ class AqaraMotionSensitivity(ZCLEnumSelectEntity): _attribute_name = "motion_sensitivity" _enum = AqaraMotionSensitivities _attr_translation_key: str = "motion_sensitivity" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.motion.ac01", "lumi.motion.ac02", "lumi.motion.agl04"}), ) @@ -488,6 +505,7 @@ class HueV1MotionSensitivity(ZCLEnumSelectEntity): _attribute_name = "sensitivity" _enum = HueV1MotionSensitivities _attr_translation_key: str = "motion_sensitivity" + _cluster_id = OccupancySensing.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({OccupancySensing.cluster_id}), @@ -532,6 +550,7 @@ class HueV2MotionSensitivity(ZCLEnumSelectEntity): _attribute_name = "sensitivity" _enum = HueV2MotionSensitivities _attr_translation_key: str = "motion_sensitivity" + _cluster_id = OccupancySensing.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({OccupancySensing.cluster_id}), @@ -555,9 +574,10 @@ class AqaraMonitoringMode(ZCLEnumSelectEntity): _attribute_name = "monitoring_mode" _enum = AqaraMonitoringModess _attr_translation_key: str = "monitoring_mode" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.motion.ac01"}), ) @@ -578,9 +598,10 @@ class AqaraApproachDistance(ZCLEnumSelectEntity): _attribute_name = "approach_distance" _enum = AqaraApproachDistances _attr_translation_key: str = "approach_distance" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.motion.ac01"}), ) @@ -593,9 +614,10 @@ class AqaraMagnetAC01DetectionDistance(ZCLEnumSelectEntity): _attribute_name = "detection_distance" _enum = MagnetAC01OppleCluster.DetectionDistance _attr_translation_key: str = "detection_distance" + _cluster_id = MagnetAC01OppleCluster.cluster_id - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({MagnetAC01OppleCluster.cluster_id}), models=frozenset({"lumi.magnet.ac01"}), ) @@ -608,9 +630,10 @@ class AqaraT2RelaySwitchMode(ZCLEnumSelectEntity): _attribute_name = "switch_mode" _enum = T2RelayOppleCluster.SwitchMode _attr_translation_key: str = "switch_mode" + _cluster_id = T2RelayOppleCluster.cluster_id - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({T2RelayOppleCluster.cluster_id}), models=frozenset({"lumi.switch.acn047"}), ) @@ -623,9 +646,10 @@ class AqaraT2RelaySwitchType(ZCLEnumSelectEntity): _attribute_name = "switch_type" _enum = T2RelayOppleCluster.SwitchType _attr_translation_key: str = "switch_type" + _cluster_id = T2RelayOppleCluster.cluster_id - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({T2RelayOppleCluster.cluster_id}), models=frozenset({"lumi.switch.acn047"}), ) @@ -638,9 +662,10 @@ class AqaraT2RelayStartupOnOff(ZCLEnumSelectEntity): _attribute_name = "startup_on_off" _enum = T2RelayOppleCluster.StartupOnOff _attr_translation_key: str = "start_up_on_off" + _cluster_id = T2RelayOppleCluster.cluster_id - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({T2RelayOppleCluster.cluster_id}), models=frozenset({"lumi.switch.acn047"}), ) @@ -653,9 +678,10 @@ class AqaraT2RelayDecoupledMode(ZCLEnumSelectEntity): _attribute_name = "decoupled_mode" _enum = T2RelayOppleCluster.DecoupledMode _attr_translation_key: str = "decoupled_mode" + _cluster_id = T2RelayOppleCluster.cluster_id - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({T2RelayOppleCluster.cluster_id}), models=frozenset({"lumi.switch.acn047"}), ) @@ -675,9 +701,10 @@ class InovelliOutputModeEntity(ZCLEnumSelectEntity): _attribute_name = "output_mode" _enum = InovelliOutputMode _attr_translation_key: str = "output_mode" + _cluster_id = INOVELLI_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -698,9 +725,10 @@ class InovelliSwitchTypeEntity(ZCLEnumSelectEntity): _attribute_name = "switch_type" _enum = InovelliSwitchType _attr_translation_key: str = "switch_type" + _cluster_id = INOVELLI_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), models=frozenset({"VZM31-SN"}), ) @@ -720,9 +748,10 @@ class InovelliFanSwitchTypeEntity(ZCLEnumSelectEntity): _attribute_name = "switch_type" _enum = InovelliFanSwitchType _attr_translation_key: str = "switch_type" + _cluster_id = INOVELLI_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), models=frozenset({"VZM35-SN"}), ) @@ -742,9 +771,10 @@ class InovelliLedScalingModeEntity(ZCLEnumSelectEntity): _attribute_name = "led_scaling_mode" _enum = InovelliLedScalingMode _attr_translation_key: str = "led_scaling_mode" + _cluster_id = INOVELLI_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -772,9 +802,10 @@ class InovelliFanLedScalingModeEntity(ZCLEnumSelectEntity): _attribute_name = "smart_fan_led_display_levels" _enum = InovelliFanLedScalingMode _attr_translation_key: str = "smart_fan_led_display_levels" + _cluster_id = INOVELLI_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), models=frozenset({"VZM35-SN"}), ) @@ -794,9 +825,10 @@ class InovelliNonNeutralOutputEntity(ZCLEnumSelectEntity): _attribute_name = "increased_non_neutral_output" _enum = InovelliNonNeutralOutput _attr_translation_key: str = "increased_non_neutral_output" + _cluster_id = INOVELLI_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}) + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -815,9 +847,10 @@ class InovelliDimmingModeEntity(ZCLEnumSelectEntity): _attribute_name = "leading_or_trailing_edge" _enum = InovelliDimmingMode _attr_translation_key: str = "leading_or_trailing_edge" + _cluster_id = INOVELLI_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), models=frozenset({"VZM31-SN", "VZM36"}), ) @@ -837,9 +870,10 @@ class AqaraPetFeederMode(ZCLEnumSelectEntity): _attribute_name = "feeding_mode" _enum = AqaraFeedingMode _attr_translation_key: str = "feeding_mode" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"aqara.feeder.acn001"}), ) @@ -860,9 +894,10 @@ class AqaraThermostatPreset(ZCLEnumSelectEntity): _attribute_name = "preset" _enum = AqaraThermostatPresetMode _attr_translation_key: str = "preset" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.airrtc.agl001"}), ) @@ -883,6 +918,7 @@ class SonoffPresenceDetectionSensitivity(ZCLEnumSelectEntity): _attribute_name = "ultrasonic_u_to_o_threshold" _enum = SonoffPresenceDetectionSensitivityEnum _attr_translation_key: str = "detection_sensitivity" + _cluster_id = OccupancySensing.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({OccupancySensing.cluster_id}), @@ -912,6 +948,7 @@ class KeypadLockout(ZCLEnumSelectEntity): _attribute_name: str = "keypad_lockout" _enum = KeypadLockoutEnum _attr_translation_key: str = "keypad_lockout" + _cluster_id = UserInterface.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({UserInterface.cluster_id}), @@ -937,6 +974,7 @@ class DanfossExerciseDayOfTheWeek(ZCLEnumSelectEntity): _attribute_name = "exercise_day_of_week" _attr_translation_key: str = "exercise_day_of_week" _enum = danfoss_thermostat.DanfossExerciseDayOfTheWeekEnum + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), @@ -1051,6 +1089,7 @@ class DanfossOrientation(ZCLEnumSelectEntity): _attribute_name = "orientation" _attr_translation_key: str = "valve_orientation" _enum = DanfossOrientationEnum + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), @@ -1066,6 +1105,7 @@ class DanfossAdaptationRunControl(ZCLEnumSelectEntity): _attribute_name = "adaptation_run_control" _attr_translation_key: str = "adaptation_run_command" _enum = danfoss_thermostat.DanfossAdaptationRunControlEnum + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), @@ -1106,6 +1146,7 @@ class DanfossControlAlgorithmScaleFactor(ZCLEnumSelectEntity): _attribute_name = "control_algorithm_scale_factor" _attr_translation_key: str = "setpoint_response_time" _enum = DanfossControlAlgorithmScaleFactorEnum + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), @@ -1121,6 +1162,7 @@ class DanfossViewingDirection(ZCLEnumSelectEntity): _attribute_name = "viewing_direction" _attr_translation_key: str = "viewing_direction" _enum = danfoss_thermostat.DanfossViewingDirectionEnum + _cluster_id = UserInterface.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({UserInterface.cluster_id}), @@ -1167,9 +1209,10 @@ class SinopeLightLEDOffColorSelect(ZCLEnumSelectEntity): _attribute_name = "off_led_color" _attr_translation_key: str = "off_led_color" _enum = SinopeLightLedColors + _cluster_id = SINOPE_MANUFACTURER_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"sinope_manufacturer_specific"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({SINOPE_MANUFACTURER_CLUSTER}), models=SINOPE_MODELS, ) @@ -1182,9 +1225,10 @@ class SinopeLightLEDOnColorSelect(ZCLEnumSelectEntity): _attribute_name = "on_led_color" _attr_translation_key: str = "on_led_color" _enum = SinopeLightLedColors + _cluster_id = SINOPE_MANUFACTURER_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"sinope_manufacturer_specific"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({SINOPE_MANUFACTURER_CLUSTER}), models=SINOPE_MODELS, ) @@ -1204,6 +1248,7 @@ class BegaColorTemperatureChannelSelect(ZCLEnumSelectEntity): _attribute_name = "switchable_white" _enum = BegaColorTemperatureChannel _attr_translation_key: str = "color_temperature_channel" + _cluster_id = LevelControl.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({LevelControl.cluster_id}), @@ -1245,9 +1290,8 @@ class BegaColorTemperatureChannelSelect(ZCLEnumSelectEntity): def _is_supported(self) -> bool: """Check if the light supports switchable color temperatures.""" - cluster = self._cluster_handler.cluster - temp_1 = cluster.get("switchable_color_temperature_1") - temp_2 = cluster.get("switchable_color_temperature_2") + temp_1 = self._cluster.get("switchable_color_temperature_1") + temp_2 = self._cluster.get("switchable_color_temperature_2") if temp_1 == 0xFFFF or temp_2 == 0xFFFF: _LOGGER.debug( diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 8186ef156..265571701 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -13,14 +13,20 @@ import math import numbers import typing -from typing import TYPE_CHECKING, Any, cast +from typing import TYPE_CHECKING, Any from zhaquirks.danfoss import thermostat as danfoss_thermostat from zhaquirks.quirk_ids import DANFOSS_ALLY_THERMOSTAT, SE_POLL_SUMMATION from zigpy import types from zigpy.quirks.v2 import ZCLEnumMetadata, ZCLSensorMetadata from zigpy.state import Counter, State -from zigpy.zcl import foundation +from zigpy.zcl import ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + foundation, +) from zigpy.zcl.clusters.closures import WindowCovering from zigpy.zcl.clusters.general import ( AnalogInput, @@ -59,7 +65,6 @@ BaseEntityInfo, BaseIdentifiers, ClusterConfig, - ClusterHandlerMatch, ClusterMatch, EntityCategory, PlatformEntity, @@ -103,11 +108,8 @@ UnitOfVolume, UnitOfVolumeFlowRate, ) -from zha.zigbee.cluster_handlers import ClusterAttributeUpdatedEvent from zha.zigbee.cluster_handlers.const import ( AQARA_OPPLE_CLUSTER, - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - CLUSTER_HANDLER_INOVELLI, IKEA_AIR_PURIFIER_CLUSTER, INOVELLI_CLUSTER, REPORT_CONFIG_ASAP, @@ -121,14 +123,15 @@ SONOFF_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) +from zha.zigbee.cluster_handlers.general import ApplicationType from zha.zigbee.cluster_handlers.hvac import ( REPORT_CONFIG_CLIMATE, REPORT_CONFIG_CLIMATE_DEMAND, REPORT_CONFIG_CLIMATE_DISCRETE, ) +from zha.zigbee.cluster_handlers.smartenergy import MeteringClusterHandler if TYPE_CHECKING: - from zha.zigbee.cluster_handlers import ClusterHandler from zha.zigbee.device import Device from zha.zigbee.endpoint import Endpoint @@ -237,46 +240,51 @@ class Sensor(BaseSensor): _divisor: int | float | None = None _multiplier: int | float | None = None _skip_creation_if_no_attr_cache: bool = False + _cluster_id: int + _is_client_cluster: bool = False def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs: Any, ) -> None: """Init this sensor.""" - self._cluster_handler: ClusterHandler = cluster_handlers[0] + if self._is_client_cluster: + self._cluster = endpoint.zigpy_endpoint.out_clusters[self._cluster_id] + else: + self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] self._attr_def: foundation.ZCLAttributeDef | None = None - super().__init__(cluster_handlers, endpoint, device, **kwargs) + super().__init__(endpoint=endpoint, device=device, **kwargs) # After super() for quirks v2 entities if self._attribute_name is not None: # Invalid attribute names filtered by is_supported with contextlib.suppress(KeyError): - self._attr_def = self._cluster_handler.cluster.find_attribute( - self._attribute_name - ) + self._attr_def = self._cluster.find_attribute(self._attribute_name) self.recompute_capabilities() def on_add(self) -> None: """Run when entity is added.""" super().on_add() - self._on_remove_callbacks.append( - self._cluster_handler.on_event( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - self.handle_cluster_handler_attribute_updated, + for event_type in ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + ): + self._on_remove_callbacks.append( + self._cluster.on_event( + event_type.event_type, self.handle_attribute_updated + ) ) - ) def _is_supported(self) -> bool: if ( - self._attribute_name not in self._cluster_handler.cluster.attributes_by_name - ) or self._cluster_handler.cluster.is_attribute_unsupported( - self._attribute_name - ): + self._attribute_name not in self._cluster.attributes_by_name + ) or self._cluster.is_attribute_unsupported(self._attribute_name): _LOGGER.debug( "%s is not supported - skipping %s entity creation", self._attribute_name, @@ -286,7 +294,7 @@ def _is_supported(self) -> bool: if ( self._skip_creation_if_no_attr_cache - and self._cluster_handler.cluster.get(self._attribute_name) is None + and self._cluster.get(self._attribute_name) is None ): return False @@ -335,7 +343,7 @@ def _init_from_quirks_metadata(self, entity_metadata: ZCLSensorMetadata) -> None def native_value(self) -> date | datetime | str | int | float | None: """Return the state of the entity.""" assert self._attribute_name is not None - raw_state = self._cluster_handler.cluster.get(self._attribute_name) + raw_state = self._cluster.get(self._attribute_name) if raw_state is None: return None if self._is_non_value(raw_state): @@ -344,11 +352,14 @@ def native_value(self) -> date | datetime | str | int | float | None: return self._attribute_converter(raw_state) return self.formatter(raw_state) - def handle_cluster_handler_attribute_updated( + def handle_attribute_updated( self, - event: ClusterAttributeUpdatedEvent, # pylint: disable=unused-argument + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, # pylint: disable=unused-argument ) -> None: - """Handle attribute updates from the cluster handler.""" + """Handle attribute updates from the cluster.""" if ( event.attribute_name == self._attribute_name or ( @@ -390,7 +401,7 @@ async def async_update(self) -> None: return self.debug("polling current state") await safe_read( - self._cluster_handler.cluster, + self._cluster, [self._attribute_name], allow_cache=False, only_cache=False, @@ -411,13 +422,12 @@ class PollableSensor(Sensor): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs: Any, ) -> None: """Init this sensor.""" - super().__init__(cluster_handlers, endpoint, device, **kwargs) + super().__init__(endpoint=endpoint, device=device, **kwargs) self._polling_task: Task | None = None def on_add(self) -> None: @@ -595,13 +605,12 @@ class EnumSensor(Sensor): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs: Any, ) -> None: """Init this sensor.""" - super().__init__(cluster_handlers, endpoint, device, **kwargs) + super().__init__(endpoint=endpoint, device=device, **kwargs) self._attr_options = [e.name for e in self._enum] # XXX: This class is not meant to be initialized directly, as `unique_id` @@ -626,6 +635,7 @@ class DigiAnalogInput(Sensor): _attribute_name = "present_value" _attr_translation_key: str = "analog_input" + _cluster_id = AnalogInput.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({AnalogInput.cluster_id}), @@ -679,6 +689,7 @@ class AnalogInputSensor(Sensor): _attribute_name = "present_value" _unique_id_suffix = "analog_input" _attr_state_class = SensorStateClass.MEASUREMENT + _cluster_id = AnalogInput.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({AnalogInput.cluster_id}), @@ -721,16 +732,26 @@ class AnalogInputSensor(Sensor): ), } + def _application_type(self): + """Return the AnalogInput application_type as an ApplicationType type.""" + result = self._cluster.get(AnalogInput.AttributeDefs.application_type.name) + if result is None: + return None + return ApplicationType.deserialize(types.uint32_t(result).serialize())[0] + def recompute_capabilities(self) -> None: """Recompute capabilities.""" super().recompute_capabilities() - self._attr_fallback_name = self._cluster_handler.description + self._attr_fallback_name = self._cluster.get( + AnalogInput.AttributeDefs.description.name + ) - if self._cluster_handler.application_type is not None: + application_type = self._application_type() + if application_type is not None: # The application type encodes a tiny bit more info but it's mostly # irrelevant, just use the `type` sub-field - app_type = self._cluster_handler.application_type.type + app_type = application_type.type self._attr_device_class = ANALOG_INPUT_APPTYPE_DEV_CLASS.get(app_type) # Application type units take precedence @@ -739,24 +760,26 @@ def recompute_capabilities(self) -> None: ) else: self._attr_native_unit_of_measurement = BACNET_UNITS_TO_HA_UNITS.get( - self._cluster_handler.engineering_units + self._cluster.get(AnalogInput.AttributeDefs.engineering_units.name) ) # Resolution indicates the minimum change in value that can be detected - if self._cluster_handler.resolution is not None: + resolution = self._cluster.get(AnalogInput.AttributeDefs.resolution.name) + if resolution is not None: self._attr_suggested_display_precision = resolution_to_decimal_precision( - self._cluster_handler.resolution + resolution ) def _is_supported(self) -> bool: """Return True if this sensor is supported.""" - if self._cluster_handler.description is None: + if self._cluster.get(AnalogInput.AttributeDefs.description.name) is None: return False # The units are determined by one of these if ( - self._cluster_handler.application_type is None - and self._cluster_handler.engineering_units is None + self._application_type() is None + and self._cluster.get(AnalogInput.AttributeDefs.engineering_units.name) + is None ): return False @@ -778,6 +801,7 @@ class Battery(Sensor): "battery_quantity", "battery_voltage", } + _cluster_id = PowerConfiguration.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({PowerConfiguration.cluster_id}), @@ -821,13 +845,13 @@ def formatter(value: int) -> float | None: # pylint: disable=arguments-differ def state(self) -> dict[str, Any]: """Return the state for battery sensors.""" response = super().state - battery_size = self._cluster_handler.cluster.get("battery_size") + battery_size = self._cluster.get("battery_size") if battery_size is not None: response["battery_size"] = BATTERY_SIZES.get(battery_size, "Unknown") - battery_quantity = self._cluster_handler.cluster.get("battery_quantity") + battery_quantity = self._cluster.get("battery_quantity") if battery_quantity is not None: response["battery_quantity"] = battery_quantity - battery_voltage = self._cluster_handler.cluster.get("battery_voltage") + battery_voltage = self._cluster.get("battery_voltage") if battery_voltage is not None: response["battery_voltage"] = round(battery_voltage / 10, 2) return response @@ -842,6 +866,7 @@ class BaseElectricalMeasurement(PollableSensor): _divisor_attribute_name: str | None = None _multiplier_attribute_name: str | None = None _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT + _cluster_id = ElectricalMeasurement.cluster_id _server_cluster_config = { ElectricalMeasurement.cluster_id: ClusterConfig( @@ -1017,28 +1042,39 @@ class BaseElectricalMeasurement(PollableSensor): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs: Any, ) -> None: """Init this sensor.""" - super().__init__(cluster_handlers, endpoint, device, **kwargs) + super().__init__(endpoint=endpoint, device=device, **kwargs) self._attr_extra_state_attribute_names: set[str] = {"measurement_type"} if self._attr_max_attribute_name is not None: self._attr_extra_state_attribute_names.add(self._attr_max_attribute_name) + @property + def _measurement_type(self) -> str | None: + """Decode the measurement_type bitmap into a human-readable string.""" + meas_type = self._cluster.get( + ElectricalMeasurement.AttributeDefs.measurement_type.name + ) + if meas_type is None: + return None + meas_type = ElectricalMeasurement.MeasurementType(meas_type) + return ", ".join(m.name for m in meas_type) + @property def state(self) -> dict[str, Any]: """Return the state for this sensor.""" response = super().state - if self._cluster_handler.measurement_type is not None: - response["measurement_type"] = self._cluster_handler.measurement_type + meas_type = self._measurement_type + if meas_type is not None: + response["measurement_type"] = meas_type if (max_attr_name := self._attr_max_attribute_name) is None: return response - if (max_v := self._cluster_handler.cluster.get(max_attr_name)) is not None: + if (max_v := self._cluster.get(max_attr_name)) is not None: response[max_attr_name] = self.formatter(max_v) return response @@ -1048,7 +1084,7 @@ def _multiplier(self) -> int | float | None: if not self._multiplier_attribute_name: return super()._multiplier - return getattr(self._cluster_handler, self._multiplier_attribute_name) + return self._cluster.get(self._multiplier_attribute_name) @_multiplier.setter def _multiplier(self, value: int | float | None) -> None: @@ -1059,7 +1095,7 @@ def _divisor(self) -> int | float | None: if not self._divisor_attribute_name: return super()._divisor - return getattr(self._cluster_handler, self._divisor_attribute_name) + return self._cluster.get(self._divisor_attribute_name) @_divisor.setter def _divisor(self, value: int | float | None) -> None: @@ -1137,13 +1173,12 @@ class PolledElectricalMeasurement(ElectricalMeasurementActivePower): async def async_update(self) -> None: """Poll the full EM attribute list so sibling EM entities update too.""" self.debug("polling current state") - cluster = self._cluster_handler.cluster attrs = [ attr for attr in _ELECTRICAL_MEASUREMENT_POLLING_ATTRS - if not cluster.is_attribute_unsupported(attr) + if not self._cluster.is_attribute_unsupported(attr) ] - await safe_read(cluster, attrs, allow_cache=False, only_cache=False) + await safe_read(self._cluster, attrs, allow_cache=False, only_cache=False) self.maybe_emit_state_changed_event() @@ -1450,6 +1485,7 @@ class Humidity(Sensor): _divisor = 100 _attr_native_unit_of_measurement = PERCENTAGE _attr_primary_weight = 1 + _cluster_id = RelativeHumidity.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({RelativeHumidity.cluster_id}), @@ -1478,6 +1514,7 @@ class SmartThingsHumidity(Sensor): _divisor = 100 _attr_native_unit_of_measurement = PERCENTAGE _attr_primary_weight = 1 + _cluster_id = SMARTTHINGS_HUMIDITY_CLUSTER _cluster_match = ClusterMatch( server_clusters=frozenset({SMARTTHINGS_HUMIDITY_CLUSTER}), @@ -1507,6 +1544,7 @@ class SoilMoisture(Sensor): _divisor = 100 _attr_native_unit_of_measurement = PERCENTAGE _attr_primary_weight = 1 + _cluster_id = SoilMoistureCluster.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({SoilMoistureCluster.cluster_id}), @@ -1536,6 +1574,7 @@ class LeafWetness(Sensor): _divisor = 100 _attr_native_unit_of_measurement = PERCENTAGE _attr_primary_weight = 1 + _cluster_id = LeafWetnessCluster.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({LeafWetnessCluster.cluster_id}), @@ -1563,6 +1602,7 @@ class Illuminance(Sensor): _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT _attr_native_unit_of_measurement = LIGHT_LUX _attr_primary_weight = 1 + _cluster_id = IlluminanceMeasurement.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({IlluminanceMeasurement.cluster_id}), @@ -1615,6 +1655,7 @@ class SmartEnergyMetering(PollableSensor): "zcl_unit_of_measurement", } _attr_primary_weight = 1 + _cluster_id = Metering.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Metering.cluster_id}), @@ -1743,8 +1784,34 @@ class SmartEnergyMetering(PollableSensor): ), } + @property + def _unit_of_measurement(self) -> int | None: + return self._cluster.get(Metering.AttributeDefs.unit_of_measure.name) + + @property + def _device_type(self) -> str | int | None: + dev_type = self._cluster.get(Metering.AttributeDefs.metering_device_type.name) + if dev_type is None: + return None + return MeteringClusterHandler.metering_device_type.get(dev_type, dev_type) + + @property + def _metering_status(self) -> int | None: + if (status := self._cluster.get(Metering.AttributeDefs.status.name)) is None: + return None + dev_type = self._cluster.get(Metering.AttributeDefs.metering_device_type.name) + if dev_type in MeteringClusterHandler.METERING_DEVICE_TYPES_ELECTRIC: + return MeteringClusterHandler.DeviceStatusElectric(status) + if dev_type in MeteringClusterHandler.METERING_DEVICE_TYPES_GAS: + return MeteringClusterHandler.DeviceStatusGas(status) + if dev_type in MeteringClusterHandler.METERING_DEVICE_TYPES_WATER: + return MeteringClusterHandler.DeviceStatusWater(status) + if dev_type in MeteringClusterHandler.METERING_DEVICE_TYPES_HEATING_COOLING: + return MeteringClusterHandler.DeviceStatusHeatingCooling(status) + return MeteringClusterHandler.DeviceStatusDefault(status) + def _is_supported(self) -> bool: - unit = self._cluster_handler.unit_of_measurement + unit = self._unit_of_measurement if self._is_non_value(unit, attr_def=Metering.AttributeDefs.unit_of_measure): return False @@ -1753,9 +1820,7 @@ def _is_supported(self) -> bool: def recompute_capabilities(self) -> None: """Recompute capabilities and feature flags.""" super().recompute_capabilities() - entity_description = self._ENTITY_DESCRIPTION_MAP.get( - self._cluster_handler.unit_of_measurement - ) + entity_description = self._ENTITY_DESCRIPTION_MAP.get(self._unit_of_measurement) if entity_description is not None: self.entity_description = entity_description self._attr_device_class = entity_description.device_class @@ -1768,21 +1833,21 @@ def recompute_capabilities(self) -> None: def state(self) -> dict[str, Any]: """Return state for this sensor.""" response = super().state - if self._cluster_handler.device_type is not None: - response["device_type"] = self._cluster_handler.device_type - if (status := self._cluster_handler.metering_status) is not None: + if self._device_type is not None: + response["device_type"] = self._device_type + if (status := self._metering_status) is not None: if isinstance(status, enum.IntFlag): response["status"] = str( status.name if status.name is not None else status.value ) else: response["status"] = str(status)[len(status.__class__.__name__) + 1 :] - response["zcl_unit_of_measurement"] = self._cluster_handler.unit_of_measurement + response["zcl_unit_of_measurement"] = self._unit_of_measurement return response @property def _multiplier(self) -> int | float | None: - return self._cluster_handler.multiplier + return self._cluster.get(Metering.AttributeDefs.multiplier.name) or 1 @_multiplier.setter def _multiplier(self, value: int | float | None) -> None: @@ -1790,7 +1855,7 @@ def _multiplier(self, value: int | float | None) -> None: @property def _divisor(self) -> int | float | None: - return self._cluster_handler.divisor + return self._cluster.get(Metering.AttributeDefs.divisor.name) or 1 @_divisor.setter def _divisor(self, value: int | float | None) -> None: @@ -1801,20 +1866,18 @@ def formatter(self, value: int) -> int | float: # TODO: improve typing for base class scaled_value = cast(float, super().formatter(value)) - if ( - self._cluster_handler.unit_of_measurement - == MeteringUnitofMeasure.Kwh_and_Kwh_binary - ): + if self._unit_of_measurement == MeteringUnitofMeasure.Kwh_and_Kwh_binary: # Zigbee spec power unit is kW, but we show the value in W value_watt = scaled_value * 1000 if value_watt < 100: return round(value_watt, 1) return round(value_watt) + demand_formatting = self._cluster.get( + Metering.AttributeDefs.demand_formatting.name + ) demand_formater = create_number_formatter( - self._cluster_handler.demand_formatting - if self._cluster_handler.demand_formatting is not None - else DEFAULT_FORMATTING + demand_formatting if demand_formatting is not None else DEFAULT_FORMATTING ) return float(demand_formater.format(scaled_value)) @@ -1904,15 +1967,15 @@ def formatter(self, value: int) -> int | float: # TODO: improve typing for base class scaled_value = cast(float, Sensor.formatter(self, value)) - if ( - self._cluster_handler.unit_of_measurement - == MeteringUnitofMeasure.Kwh_and_Kwh_binary - ): + if self._unit_of_measurement == MeteringUnitofMeasure.Kwh_and_Kwh_binary: return scaled_value + summation_formatting = self._cluster.get( + Metering.AttributeDefs.summation_formatting.name + ) summation_formater = create_number_formatter( - self._cluster_handler.summation_formatting - if self._cluster_handler.summation_formatting is not None + summation_formatting + if summation_formatting is not None else DEFAULT_FORMATTING ) return float(summation_formater.format(scaled_value)) @@ -1933,15 +1996,14 @@ class PolledSmartEnergySummation(SmartEnergySummation): async def async_update(self) -> None: """Poll every reported Metering attribute so sibling entities update too.""" self.debug("polling current state") - cluster = self._cluster_handler.cluster config = self._server_cluster_config[Metering.cluster_id] attrs = [ attr_def.name for attr_def, attr_cfg in config.attributes.items() if attr_cfg.reporting is not None - and not cluster.is_attribute_unsupported(attr_def.name) + and not self._cluster.is_attribute_unsupported(attr_def.name) ] - await safe_read(cluster, attrs, allow_cache=False, only_cache=False) + await safe_read(self._cluster, attrs, allow_cache=False, only_cache=False) self.maybe_emit_state_changed_event() @@ -2099,6 +2161,7 @@ class Pressure(Sensor): _attr_suggested_display_precision: int = 0 _attr_native_unit_of_measurement = UnitOfPressure.HPA _attr_primary_weight = 1 + _cluster_id = PressureMeasurement.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({PressureMeasurement.cluster_id}), @@ -2127,6 +2190,7 @@ class Flow(Sensor): _divisor = 10 _attr_native_unit_of_measurement = UnitOfVolumeFlowRate.CUBIC_METERS_PER_HOUR _attr_primary_weight = 1 + _cluster_id = FlowMeasurement.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({FlowMeasurement.cluster_id}), @@ -2155,6 +2219,7 @@ class Temperature(Sensor): _divisor = 100 _attr_native_unit_of_measurement = UnitOfTemperature.CELSIUS _attr_primary_weight = 1 + _cluster_id = TemperatureMeasurement.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({TemperatureMeasurement.cluster_id}), @@ -2185,6 +2250,7 @@ class DeviceTemperature(Sensor): _attr_native_unit_of_measurement = UnitOfTemperature.CELSIUS _attr_entity_category = EntityCategory.DIAGNOSTIC _attr_primary_weight = 1 + _cluster_id = DeviceTemperatureCluster.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({DeviceTemperatureCluster.cluster_id}), @@ -2213,9 +2279,10 @@ class InovelliInternalTemperature(Sensor): _attr_translation_key: str = "internal_temp_monitor" _attr_native_unit_of_measurement = UnitOfTemperature.CELSIUS _attr_entity_category = EntityCategory.DIAGNOSTIC + _cluster_id = INOVELLI_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -2235,9 +2302,10 @@ class InovelliOverheated(EnumSensor): _attr_translation_key: str = "overheated" _enum = InovelliOverheatedState _attr_entity_category = EntityCategory.DIAGNOSTIC + _cluster_id = INOVELLI_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -2252,6 +2320,7 @@ class CarbonDioxideConcentration(Sensor): _multiplier = 1e6 _attr_native_unit_of_measurement = CONCENTRATION_PARTS_PER_MILLION _attr_primary_weight = 1 + _cluster_id = CarbonDioxideConcentrationCluster.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({CarbonDioxideConcentrationCluster.cluster_id}), @@ -2281,6 +2350,7 @@ class CarbonMonoxideConcentration(Sensor): _multiplier = 1e6 _attr_native_unit_of_measurement = CONCENTRATION_PARTS_PER_MILLION _attr_primary_weight = 1 + _cluster_id = CarbonMonoxideConcentrationCluster.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({CarbonMonoxideConcentrationCluster.cluster_id}), @@ -2310,9 +2380,10 @@ class VOCLevel(Sensor): _multiplier = 1e6 _attr_native_unit_of_measurement = CONCENTRATION_MICROGRAMS_PER_CUBIC_METER _attr_primary_weight = 1 + _cluster_id = 0x042E - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"voc_level"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({0x042E}), feature_priority=(PlatformFeatureGroup.VOC_LEVEL, 0), ) @@ -2328,9 +2399,10 @@ class GenericVOCLevel(Sensor): _multiplier = 1e6 _attr_native_unit_of_measurement = CONCENTRATION_MICROGRAMS_PER_CUBIC_METER _attr_primary_weight = 1 + _cluster_id = 0x042E - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"cluster_handler_0x042e"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({0x042E}), ) @@ -2347,9 +2419,10 @@ class PPBVOCLevel(Sensor): _multiplier = 1 _attr_native_unit_of_measurement = CONCENTRATION_PARTS_PER_BILLION _attr_primary_weight = 1 + _cluster_id = 0x042E - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"voc_level"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({0x042E}), models=frozenset({"lumi.airmonitor.acn01"}), feature_priority=(PlatformFeatureGroup.VOC_LEVEL, 1), ) @@ -2365,6 +2438,7 @@ class PM25(Sensor): _multiplier = 1 _attr_native_unit_of_measurement = CONCENTRATION_MICROGRAMS_PER_CUBIC_METER _attr_primary_weight = 1 + _cluster_id = PM25Cluster.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({PM25Cluster.cluster_id}), @@ -2391,6 +2465,7 @@ class ElectricalConductivity(Sensor): _attr_device_class: SensorDeviceClass = SensorDeviceClass.CONDUCTIVITY _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT _attr_native_unit_of_measurement = UnitOfConductivity.MICROSIEMENS_PER_CM + _cluster_id = ElectricalConductivityCluster.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({ElectricalConductivityCluster.cluster_id}), @@ -2420,6 +2495,7 @@ class FormaldehydeConcentration(Sensor): _multiplier = 1e6 _attr_native_unit_of_measurement = CONCENTRATION_PARTS_PER_MILLION _attr_primary_weight = 1 + _cluster_id = FormaldehydeConcentrationCluster.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({FormaldehydeConcentrationCluster.cluster_id}), @@ -2444,6 +2520,7 @@ class ThermostatHVACAction(Sensor): _unique_id_suffix = "hvac_action" _attr_translation_key: str = "hvac_action" + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), @@ -2541,14 +2618,31 @@ class ThermostatHVACAction(Sensor): def _is_supported(self) -> bool: return PlatformEntity._is_supported(self) + @property + def _pi_heating_demand(self) -> int | None: + return self._cluster.get(Thermostat.AttributeDefs.pi_heating_demand.name) + + @property + def _pi_cooling_demand(self) -> int | None: + return self._cluster.get(Thermostat.AttributeDefs.pi_cooling_demand.name) + + @property + def _running_state(self) -> int | None: + return self._cluster.get(Thermostat.AttributeDefs.running_state.name) + + @property + def _running_mode(self) -> int | None: + return self._cluster.get(Thermostat.AttributeDefs.running_mode.name) + + @property + def _system_mode(self) -> int | None: + return self._cluster.get(Thermostat.AttributeDefs.system_mode.name) + @property def state(self) -> dict: """Return the current HVAC action.""" response = super().state - if ( - self._cluster_handler.pi_heating_demand is None - and self._cluster_handler.pi_cooling_demand is None - ): + if self._pi_heating_demand is None and self._pi_cooling_demand is None: response["state"] = self._rm_rs_action else: response["state"] = self._pi_demand_action @@ -2557,10 +2651,7 @@ def state(self) -> dict: @property def native_value(self) -> str | None: """Return the current HVAC action.""" - if ( - self._cluster_handler.pi_heating_demand is None - and self._cluster_handler.pi_cooling_demand is None - ): + if self._pi_heating_demand is None and self._pi_cooling_demand is None: return self._rm_rs_action return self._pi_demand_action @@ -2568,36 +2659,34 @@ def native_value(self) -> str | None: def _rm_rs_action(self) -> HVACAction | None: """Return the current HVAC action based on running mode and running state.""" - if (running_state := self._cluster_handler.running_state) is None: + if (running_state := self._running_state) is None: return None rs_heat = ( - self._cluster_handler.RunningState.Heat_State_On - | self._cluster_handler.RunningState.Heat_2nd_Stage_On + Thermostat.RunningState.Heat_State_On + | Thermostat.RunningState.Heat_2nd_Stage_On ) if running_state & rs_heat: return HVACAction.HEATING rs_cool = ( - self._cluster_handler.RunningState.Cool_State_On - | self._cluster_handler.RunningState.Cool_2nd_Stage_On + Thermostat.RunningState.Cool_State_On + | Thermostat.RunningState.Cool_2nd_Stage_On ) if running_state & rs_cool: return HVACAction.COOLING - running_state = self._cluster_handler.running_state if running_state and running_state & ( - self._cluster_handler.RunningState.Fan_State_On - | self._cluster_handler.RunningState.Fan_2nd_Stage_On - | self._cluster_handler.RunningState.Fan_3rd_Stage_On + Thermostat.RunningState.Fan_State_On + | Thermostat.RunningState.Fan_2nd_Stage_On + | Thermostat.RunningState.Fan_3rd_Stage_On ): return HVACAction.FAN - running_state = self._cluster_handler.running_state - if running_state and running_state & self._cluster_handler.RunningState.Idle: + if running_state and running_state & Thermostat.RunningState.Idle: return HVACAction.IDLE - if self._cluster_handler.system_mode != self._cluster_handler.SystemMode.Off: + if self._system_mode != Thermostat.SystemMode.Off: return HVACAction.IDLE return HVACAction.OFF @@ -2605,14 +2694,14 @@ def _rm_rs_action(self) -> HVACAction | None: def _pi_demand_action(self) -> HVACAction: """Return the current HVAC action based on pi_demands.""" - heating_demand = self._cluster_handler.pi_heating_demand + heating_demand = self._pi_heating_demand if heating_demand is not None and heating_demand > 0: return HVACAction.HEATING - cooling_demand = self._cluster_handler.pi_cooling_demand + cooling_demand = self._pi_cooling_demand if cooling_demand is not None and cooling_demand > 0: return HVACAction.COOLING - if self._cluster_handler.system_mode != self._cluster_handler.SystemMode.Off: + if self._system_mode != Thermostat.SystemMode.Off: return HVACAction.IDLE return HVACAction.OFF @@ -2631,22 +2720,22 @@ class SinopeHVACAction(ThermostatHVACAction): def _rm_rs_action(self) -> HVACAction: """Return the current HVAC action based on running mode and running state.""" - running_mode = self._cluster_handler.running_mode - if running_mode == self._cluster_handler.RunningMode.Heat: + running_mode = self._running_mode + if running_mode == Thermostat.RunningMode.Heat: return HVACAction.HEATING - if running_mode == self._cluster_handler.RunningMode.Cool: + if running_mode == Thermostat.RunningMode.Cool: return HVACAction.COOLING - running_state = self._cluster_handler.running_state + running_state = self._running_state if running_state and running_state & ( - self._cluster_handler.RunningState.Fan_State_On - | self._cluster_handler.RunningState.Fan_2nd_Stage_On - | self._cluster_handler.RunningState.Fan_3rd_Stage_On + Thermostat.RunningState.Fan_State_On + | Thermostat.RunningState.Fan_2nd_Stage_On + | Thermostat.RunningState.Fan_3rd_Stage_On ): return HVACAction.FAN if ( - self._cluster_handler.system_mode != self._cluster_handler.SystemMode.Off - and running_mode == self._cluster_handler.SystemMode.Off + self._system_mode != Thermostat.SystemMode.Off + and running_mode == Thermostat.SystemMode.Off ): return HVACAction.IDLE return HVACAction.OFF @@ -2664,6 +2753,7 @@ class RSSISensor(Sensor): _attr_entity_category = EntityCategory.DIAGNOSTIC _attr_entity_registry_enabled_default = False _attr_translation_key: str = "rssi" + _cluster_id = Basic.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Basic.cluster_id}), @@ -2671,13 +2761,12 @@ class RSSISensor(Sensor): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs: Any, ) -> None: """Init.""" - super().__init__(cluster_handlers, endpoint, device, **kwargs) + super().__init__(endpoint=endpoint, device=device, **kwargs) def on_add(self) -> None: """Run when entity is added.""" @@ -2743,6 +2832,7 @@ class LQISensor(RSSISensor): _attr_device_class = None _attr_native_unit_of_measurement = None _attr_translation_key = "lqi" + _cluster_id = Basic.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Basic.cluster_id}), @@ -2770,9 +2860,10 @@ class TimeLeft(Sensor): _attr_device_class: SensorDeviceClass = SensorDeviceClass.DURATION _attr_translation_key: str = "timer_time_left" _attr_native_unit_of_measurement = UnitOfTime.MINUTES + _cluster_id = TUYA_MANUFACTURER_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"tuya_manufacturer"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({TUYA_MANUFACTURER_CLUSTER}), manufacturers=frozenset({"_TZE200_htnnfasr"}), ) @@ -2787,9 +2878,10 @@ class IkeaDeviceRunTime(Sensor): _attr_translation_key: str = "device_run_time" _attr_native_unit_of_measurement = UnitOfTime.MINUTES _attr_entity_category: EntityCategory = EntityCategory.DIAGNOSTIC + _cluster_id = IKEA_AIR_PURIFIER_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"ikea_airpurifier"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({IKEA_AIR_PURIFIER_CLUSTER}), ) @@ -2803,9 +2895,10 @@ class IkeaFilterRunTime(Sensor): _attr_translation_key: str = "filter_run_time" _attr_native_unit_of_measurement = UnitOfTime.MINUTES _attr_entity_category: EntityCategory = EntityCategory.DIAGNOSTIC + _cluster_id = IKEA_AIR_PURIFIER_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"ikea_airpurifier"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({IKEA_AIR_PURIFIER_CLUSTER}), ) @@ -2824,9 +2917,10 @@ class AqaraPetFeederLastFeedingSource(EnumSensor): _unique_id_suffix = "last_feeding_source" _attr_translation_key: str = "last_feeding_source" _enum = AqaraFeedingSource + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"aqara.feeder.acn001"}), ) @@ -2838,9 +2932,10 @@ class AqaraPetFeederLastFeedingSize(Sensor): _attribute_name = "last_feeding_size" _unique_id_suffix = "last_feeding_size" _attr_translation_key: str = "last_feeding_size" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"aqara.feeder.acn001"}), ) @@ -2853,9 +2948,10 @@ class AqaraPetFeederPortionsDispensed(Sensor): _unique_id_suffix = "portions_dispensed" _attr_translation_key: str = "portions_dispensed_today" _attr_state_class: SensorStateClass = SensorStateClass.TOTAL_INCREASING + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"aqara.feeder.acn001"}), ) @@ -2869,9 +2965,10 @@ class AqaraPetFeederWeightDispensed(Sensor): _attr_translation_key: str = "weight_dispensed_today" _attr_native_unit_of_measurement = UnitOfMass.GRAMS _attr_state_class: SensorStateClass = SensorStateClass.TOTAL_INCREASING + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"aqara.feeder.acn001"}), ) @@ -2886,9 +2983,10 @@ class AqaraSmokeDensityDbm(Sensor): _attr_native_unit_of_measurement = "dB/m" _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT _attr_suggested_display_precision = 3 + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.sensor_smoke.acn03"}), ) @@ -2908,9 +3006,10 @@ class SonoffPresenceSenorIlluminationStatus(EnumSensor): _unique_id_suffix = "last_illumination" _attr_translation_key: str = "last_illumination_state" _enum = SonoffIlluminationStates + _cluster_id = SONOFF_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"sonoff_manufacturer"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({SONOFF_CLUSTER}), models=frozenset({"SNZB-06P"}), ) @@ -2930,6 +3029,7 @@ class PiHeatingDemand(Sensor): _attr_suggested_display_precision = 0 _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), @@ -2956,6 +3056,7 @@ class SetpointChangeSource(EnumSensor): _attr_translation_key: str = "setpoint_change_source" _attr_entity_category = EntityCategory.DIAGNOSTIC _enum = SetpointChangeSourceEnum + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), @@ -2974,6 +3075,7 @@ class SetpointChangeSourceTimestamp(TimestampSensor): _attr_translation_key: str = "setpoint_change_source_timestamp" _attr_entity_category = EntityCategory.DIAGNOSTIC _attr_device_class = SensorDeviceClass.TIMESTAMP + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), @@ -2993,6 +3095,7 @@ class WindowCoveringTypeSensor(EnumSensor): _unique_id_suffix: str = "window_covering_type" _attr_translation_key: str = "window_covering_type" _attr_entity_category = EntityCategory.DIAGNOSTIC + _cluster_id = WindowCovering.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({WindowCovering.cluster_id}), @@ -3045,6 +3148,7 @@ class AqaraCurtainMotorPowerSourceSensor(EnumSensor): _unique_id_suffix: str = "power_source" _attr_translation_key: str = "power_source" _attr_entity_category = EntityCategory.DIAGNOSTIC + _cluster_id = Basic.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Basic.cluster_id}), @@ -3080,9 +3184,10 @@ class AqaraCurtainHookStateSensor(EnumSensor): _unique_id_suffix = "hooks_state" _attr_translation_key: str = "hooks_state" _attr_entity_category = EntityCategory.DIAGNOSTIC + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.curtain.agl001"}), ) @@ -3097,13 +3202,12 @@ class BitMapSensor(Sensor): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs: Any, ) -> None: """Init this sensor.""" - super().__init__(cluster_handlers, endpoint, device, **kwargs) + super().__init__(endpoint=endpoint, device=device, **kwargs) self._attr_extra_state_attribute_names: set[str] = { bit.name for bit in list(self._bitmap) } @@ -3113,7 +3217,7 @@ def state(self) -> dict[str, Any]: """Return the state for this sensor.""" response = super().state response["state"] = self.native_value - value = self._cluster_handler.cluster.get(self._attribute_name) + value = self._cluster.get(self._attribute_name) for bit in list(self._bitmap): if value is None: response[bit.name] = False @@ -3124,7 +3228,7 @@ def state(self) -> dict[str, Any]: def formatter(self, _value: int) -> str: """Summary of all attributes.""" - value = self._cluster_handler.cluster.get(self._attribute_name) + value = self._cluster.get(self._attribute_name) state_attr = {} for bit in list(self._bitmap): @@ -3149,6 +3253,7 @@ class DanfossOpenWindowDetection(EnumSensor): _attribute_name = "open_window_detection" _attr_translation_key: str = "open_window_detected" _enum = danfoss_thermostat.DanfossOpenWindowDetectionEnum + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), @@ -3164,6 +3269,7 @@ class DanfossLoadEstimate(Sensor): _attribute_name = "load_estimate" _attr_translation_key: str = "load_estimate" _attr_entity_category = EntityCategory.DIAGNOSTIC + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), @@ -3180,6 +3286,7 @@ class DanfossAdaptationRunStatus(BitMapSensor): _attr_translation_key: str = "adaptation_run_status" _attr_entity_category = EntityCategory.DIAGNOSTIC _bitmap = danfoss_thermostat.DanfossAdaptationRunStatusBitmap + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), @@ -3196,6 +3303,7 @@ class DanfossPreheatTime(Sensor): _attr_translation_key: str = "preheat_time" _attr_entity_registry_enabled_default = False _attr_entity_category = EntityCategory.DIAGNOSTIC + _cluster_id = Thermostat.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), @@ -3212,6 +3320,7 @@ class DanfossSoftwareErrorCode(BitMapSensor): _attr_translation_key: str = "software_error" _attr_entity_category = EntityCategory.DIAGNOSTIC _bitmap = danfoss_thermostat.DanfossSoftwareErrorCodeBitmap + _cluster_id = Diagnostic.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Diagnostic.cluster_id}), @@ -3239,6 +3348,7 @@ class DanfossMotorStepCounter(Sensor): _attribute_name = "motor_step_counter" _attr_translation_key: str = "motor_stepcount" _attr_entity_category = EntityCategory.DIAGNOSTIC + _cluster_id = Diagnostic.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Diagnostic.cluster_id}), @@ -3268,6 +3378,7 @@ class WindSpeed(Sensor): _divisor = 100 _attr_native_unit_of_measurement = UnitOfSpeed.METERS_PER_SECOND _attr_primary_weight = 2 + _cluster_id = WindSpeedCluster.cluster_id _server_cluster_config = { WindSpeedCluster.cluster_id: ClusterConfig( diff --git a/zha/application/platforms/siren.py b/zha/application/platforms/siren.py index 9bef7d6bf..15fb47766 100644 --- a/zha/application/platforms/siren.py +++ b/zha/application/platforms/siren.py @@ -8,7 +8,7 @@ from dataclasses import dataclass from enum import IntFlag import functools -from typing import TYPE_CHECKING, Any, Final, cast +from typing import TYPE_CHECKING, Any, Final from zhaquirks.quirk_ids import SIREN_BASIC from zigpy.profiles import zha @@ -28,6 +28,7 @@ WARNING_DEVICE_STROBE_NO, Strobe, ) +from zha.application.helpers import cluster_runtime_state from zha.application.platforms import ( BaseEntityInfo, ClusterConfig, @@ -36,13 +37,43 @@ PlatformFeatureGroup, register_entity, ) -from zha.zigbee.cluster_handlers.security import IasWdClusterHandler if TYPE_CHECKING: - from zha.zigbee.cluster_handlers import ClusterHandler from zha.zigbee.device import Device from zha.zigbee.endpoint import Endpoint + +def _set_bit(destination_value, destination_bit, source_value, source_bit): + """Set the specified bit in the value.""" + if (source_value & (1 << source_bit)) != 0: + return destination_value | (1 << destination_bit) + return destination_value + + +async def _issue_start_warning( + cluster, + *, + mode, + strobe, + siren_level, + warning_duration, + strobe_duty_cycle, + strobe_intensity, +) -> None: + """Issue an IAS WD start_warning command with packed warning byte.""" + value = 0 + value = _set_bit(value, 0, siren_level, 0) + value = _set_bit(value, 1, siren_level, 1) + value = _set_bit(value, 2, strobe, 0) + value = _set_bit(value, 4, mode, 0) + value = _set_bit(value, 5, mode, 1) + value = _set_bit(value, 6, mode, 2) + value = _set_bit(value, 7, mode, 3) + + await cluster.start_warning( + value, warning_duration, strobe_duty_cycle, strobe_intensity + ) + DEFAULT_DURATION = 5 # seconds ATTR_AVAILABLE_TONES: Final[str] = "available_tones" @@ -126,7 +157,6 @@ async def async_turn_off(self) -> None: class BaseZclSiren(BaseSiren, ABC): """Base class for ZHA IAS WD siren entities with shared ZCL logic.""" - _cluster_handler: IasWdClusterHandler _off_listener: asyncio.TimerHandle | None _cluster_match = ClusterMatch( server_clusters=frozenset({IasWd.cluster_id}), @@ -139,13 +169,12 @@ class BaseZclSiren(BaseSiren, ABC): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs: Any, ) -> None: """Init ZCL siren base.""" - self._cluster_handler = cast(IasWdClusterHandler, cluster_handlers[0]) + self._cluster = endpoint.zigpy_endpoint.in_clusters[IasWd.cluster_id] self._off_listener = None legacy_discovery_unique_id = ( @@ -158,9 +187,8 @@ def __init__( kwargs.pop("legacy_discovery_unique_id", None) super().__init__( - cluster_handlers, - endpoint, - device, + endpoint=endpoint, + device=device, legacy_discovery_unique_id=legacy_discovery_unique_id, **kwargs, ) @@ -177,8 +205,14 @@ def _cancel_off_listener(self) -> None: async def async_turn_off(self) -> None: """Turn off siren.""" - await self._cluster_handler.issue_start_warning( - mode=WARNING_DEVICE_MODE_STOP, strobe=WARNING_DEVICE_STROBE_NO + await _issue_start_warning( + self._cluster, + mode=WARNING_DEVICE_MODE_STOP, + strobe=WARNING_DEVICE_STROBE_NO, + siren_level=IasWd.Warning.SirenLevel.High_level_sound, + warning_duration=5, + strobe_duty_cycle=0, + strobe_intensity=IasWd.StrobeLevel.High_level_strobe, ) self._cancel_off_listener() self._attr_is_on = False @@ -205,13 +239,12 @@ class AdvancedSiren(BaseZclSiren): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs: Any, ) -> None: """Init this siren.""" - super().__init__(cluster_handlers, endpoint, device, **kwargs) + super().__init__(endpoint=endpoint, device=device, **kwargs) self._attr_supported_features = ( SirenEntityFeature.TURN_ON | SirenEntityFeature.TURN_OFF @@ -236,28 +269,23 @@ async def async_turn_on( ) -> None: """Turn on siren.""" self._cancel_off_listener() - tone_cache = self._cluster_handler.data_cache.get( - IasWd.Warning.WarningMode.__name__ - ) + cache = cluster_runtime_state(self._cluster) + tone_cache = cache.get(IasWd.Warning.WarningMode.__name__) siren_tone = ( tone_cache.value if tone_cache is not None else WARNING_DEVICE_MODE_EMERGENCY ) siren_duration = DEFAULT_DURATION - level_cache = self._cluster_handler.data_cache.get( - IasWd.Warning.SirenLevel.__name__ - ) + level_cache = cache.get(IasWd.Warning.SirenLevel.__name__) siren_level = ( level_cache.value if level_cache is not None else WARNING_DEVICE_SOUND_HIGH ) - strobe_cache = self._cluster_handler.data_cache.get(Strobe.__name__) + strobe_cache = cache.get(Strobe.__name__) should_strobe = ( strobe_cache.value if strobe_cache is not None else Strobe.No_Strobe ) - strobe_level_cache = self._cluster_handler.data_cache.get( - IasWd.StrobeLevel.__name__ - ) + strobe_level_cache = cache.get(IasWd.StrobeLevel.__name__) strobe_level = ( strobe_level_cache.value if strobe_level_cache is not None @@ -269,7 +297,8 @@ async def async_turn_on( siren_tone = tone if volume_level is not None: siren_level = int(volume_level) - await self._cluster_handler.issue_start_warning( + await _issue_start_warning( + self._cluster, mode=siren_tone, warning_duration=siren_duration, siren_level=siren_level, @@ -300,13 +329,12 @@ class BasicSiren(BaseZclSiren): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs: Any, ) -> None: """Init this basic siren.""" - super().__init__(cluster_handlers, endpoint, device, **kwargs) + super().__init__(endpoint=endpoint, device=device, **kwargs) self._attr_supported_features = ( SirenEntityFeature.TURN_ON | SirenEntityFeature.TURN_OFF @@ -323,7 +351,8 @@ async def async_turn_on( """Turn on siren with fixed tone, level, and strobe.""" self._cancel_off_listener() siren_duration = duration if duration is not None else DEFAULT_DURATION - await self._cluster_handler.issue_start_warning( + await _issue_start_warning( + self._cluster, # some Frient sensors send INVALID_VALUE for EMERGENCY mode=WARNING_DEVICE_MODE_BURGLAR, warning_duration=siren_duration, diff --git a/zha/application/platforms/switch.py b/zha/application/platforms/switch.py index 835ff4c73..70072561d 100644 --- a/zha/application/platforms/switch.py +++ b/zha/application/platforms/switch.py @@ -6,24 +6,30 @@ from dataclasses import dataclass import functools import logging -from typing import TYPE_CHECKING, Any, cast +from typing import TYPE_CHECKING, Any from zhaquirks.quirk_ids import DANFOSS_ALLY_THERMOSTAT, TUYA_PLUG_ONOFF +from zigpy import types as t from zigpy.profiles import zha, zll from zigpy.quirks.v2 import SwitchMetadata +from zigpy.zcl import ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, +) from zigpy.zcl.clusters.closures import ConfigStatus, WindowCovering, WindowCoveringMode from zigpy.zcl.clusters.general import Basic, BinaryOutput, OnOff from zigpy.zcl.clusters.hvac import Thermostat from zigpy.zcl.foundation import Status from zha.application import Platform -from zha.application.helpers import safe_read +from zha.application.helpers import safe_read, write_attributes_safe from zha.application.platforms import ( AttrConfig, BaseEntity, BaseEntityInfo, ClusterConfig, - ClusterHandlerMatch, ClusterMatch, EntityCategory, GroupEntity, @@ -33,13 +39,9 @@ register_group_entity, ) from zha.application.platforms.light.const import LIGHT_PROFILE_DEVICE_TYPES -from zha.zigbee.cluster_handlers import ClusterAttributeUpdatedEvent +from zha.exceptions import ZHAException from zha.zigbee.cluster_handlers.const import ( AQARA_OPPLE_CLUSTER, - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - CLUSTER_HANDLER_BINARY_OUTPUT, - CLUSTER_HANDLER_INOVELLI, - CLUSTER_HANDLER_ON_OFF, IKEA_AIR_PURIFIER_CLUSTER, INOVELLI_CLUSTER, REPORT_CONFIG_ASAP, @@ -48,10 +50,6 @@ SINOPE_MANUFACTURER_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) -from zha.zigbee.cluster_handlers.general import ( - BinaryOutputClusterHandler, - OnOffClusterHandler, -) from zha.zigbee.cluster_handlers.hvac import ( REPORT_CONFIG_CLIMATE, REPORT_CONFIG_CLIMATE_DEMAND, @@ -60,7 +58,6 @@ from zha.zigbee.group import Group if TYPE_CHECKING: - from zha.zigbee.cluster_handlers import ClusterHandler from zha.zigbee.device import Device from zha.zigbee.endpoint import Endpoint @@ -135,7 +132,6 @@ class Switch(PlatformEntity, BaseSwitch): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs: Any, @@ -165,47 +161,54 @@ def __init__( kwargs.pop("legacy_discovery_unique_id", None) super().__init__( - cluster_handlers, - endpoint, - device, + endpoint=endpoint, + device=device, **kwargs, legacy_discovery_unique_id=legacy_discovery_unique_id, ) - self._on_off_cluster_handler: OnOffClusterHandler = cast( - OnOffClusterHandler, self.cluster_handlers[CLUSTER_HANDLER_ON_OFF] - ) + self._cluster = endpoint.zigpy_endpoint.in_clusters[OnOff.cluster_id] @property def is_on(self) -> bool: """Return if the switch is on based on the statemachine.""" - if self._on_off_cluster_handler.on_off is None: + value = self._cluster.get(OnOff.AttributeDefs.on_off.name) + if value is None: return False - return self._on_off_cluster_handler.on_off + return value async def async_turn_on(self) -> None: """Turn the entity on.""" - await self._on_off_cluster_handler.turn_on() + result = await self._cluster.on() + if result[1] is not Status.SUCCESS: + raise ZHAException(f"Failed to turn on: {result[1]}") + self._cluster.update_attribute(OnOff.AttributeDefs.on_off.id, t.Bool.true) self.maybe_emit_state_changed_event() async def async_turn_off(self) -> None: """Turn the entity off.""" - await self._on_off_cluster_handler.turn_off() + result = await self._cluster.off() + if result[1] is not Status.SUCCESS: + raise ZHAException(f"Failed to turn off: {result[1]}") + self._cluster.update_attribute(OnOff.AttributeDefs.on_off.id, t.Bool.false) self.maybe_emit_state_changed_event() def on_add(self) -> None: """Run when entity is added.""" super().on_add() - self._on_remove_callbacks.append( - self._on_off_cluster_handler.on_event( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - self.handle_cluster_handler_attribute_updated, + for event_type in ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + ): + self._on_remove_callbacks.append( + self._cluster.on_event( + event_type.event_type, self.handle_attribute_updated + ) ) - ) def _is_supported(self) -> bool: - if self._on_off_cluster_handler.cluster.is_attribute_unsupported( - self._attribute_name - ): + if self._cluster.is_attribute_unsupported(self._attribute_name): _LOGGER.debug( "%s is not supported - skipping %s entity creation", self._attribute_name, @@ -215,11 +218,14 @@ def _is_supported(self) -> bool: return super()._is_supported() - def handle_cluster_handler_attribute_updated( + def handle_attribute_updated( self, - event: ClusterAttributeUpdatedEvent, # pylint: disable=unused-argument + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, # pylint: disable=unused-argument ) -> None: - """Handle state update from cluster handler.""" + """Handle state update from cluster.""" if event.attribute_name == self._attribute_name: self.maybe_emit_state_changed_event() @@ -227,7 +233,7 @@ async def async_update(self) -> None: """Retrieve latest state.""" self.debug("polling current state") await safe_read( - self._on_off_cluster_handler.cluster, + self._cluster, [self._attribute_name], allow_cache=False, only_cache=False, @@ -261,20 +267,16 @@ class BinaryOutputSwitch(PlatformEntity, BaseSwitch): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs: Any, ) -> None: """Initialize the switch.""" - super().__init__(cluster_handlers, endpoint, device, **kwargs) - self._binary_output_cluster_handler: BinaryOutputClusterHandler = cast( - BinaryOutputClusterHandler, - self.cluster_handlers[CLUSTER_HANDLER_BINARY_OUTPUT], - ) + super().__init__(endpoint=endpoint, device=device, **kwargs) + self._cluster = endpoint.zigpy_endpoint.in_clusters[BinaryOutput.cluster_id] def _is_supported(self) -> bool: - if self._binary_output_cluster_handler.description is None: + if self._cluster.get(BinaryOutput.AttributeDefs.description.name) is None: return False return super()._is_supported() @@ -282,40 +284,55 @@ def _is_supported(self) -> bool: def recompute_capabilities(self) -> None: """Recompute capabilities.""" super().recompute_capabilities() - self._attr_fallback_name = self._binary_output_cluster_handler.description + self._attr_fallback_name = self._cluster.get( + BinaryOutput.AttributeDefs.description.name + ) def on_add(self) -> None: """Run when entity is added.""" super().on_add() - self._on_remove_callbacks.append( - self._binary_output_cluster_handler.on_event( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - self.handle_cluster_handler_attribute_updated, + for event_type in ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + ): + self._on_remove_callbacks.append( + self._cluster.on_event( + event_type.event_type, self.handle_attribute_updated + ) ) - ) @property def is_on(self) -> bool: """Return if the switch is on.""" - if self._binary_output_cluster_handler.present_value is None: + value = self._cluster.get(BinaryOutput.AttributeDefs.present_value.name) + if value is None: return False - return bool(self._binary_output_cluster_handler.present_value) + return bool(value) async def async_turn_on(self) -> None: """Turn the entity on.""" - await self._binary_output_cluster_handler.async_set_present_value(True) + await write_attributes_safe( + self._cluster, {BinaryOutput.AttributeDefs.present_value.name: True} + ) self.maybe_emit_state_changed_event() async def async_turn_off(self) -> None: """Turn the entity off.""" - await self._binary_output_cluster_handler.async_set_present_value(False) + await write_attributes_safe( + self._cluster, {BinaryOutput.AttributeDefs.present_value.name: False} + ) self.maybe_emit_state_changed_event() - def handle_cluster_handler_attribute_updated( + def handle_attribute_updated( self, - event: ClusterAttributeUpdatedEvent, # pylint: disable=unused-argument + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, # pylint: disable=unused-argument ) -> None: - """Handle state update from cluster handler.""" + """Handle state update from cluster.""" if event.attribute_name == BinaryOutput.AttributeDefs.present_value.name: self.maybe_emit_state_changed_event() @@ -323,7 +340,7 @@ async def async_update(self) -> None: """Retrieve latest state.""" self.debug("polling current state") await safe_read( - self._binary_output_cluster_handler.cluster, + self._cluster, [BinaryOutput.AttributeDefs.present_value.name], allow_cache=False, only_cache=False, @@ -341,7 +358,7 @@ def __init__(self, group: Group): """Initialize a switch group.""" super().__init__(group) self._state: bool - self._on_off_cluster_handler = group.zigpy_group.endpoint[OnOff.cluster_id] + self._cluster = group.zigpy_group.endpoint[OnOff.cluster_id] if hasattr(self, "info_object"): delattr(self, "info_object") self.update() @@ -353,7 +370,7 @@ def is_on(self) -> bool: async def async_turn_on(self) -> None: """Turn the entity on.""" - result = await self._on_off_cluster_handler.on() + result = await self._cluster.on() if result[1] is not Status.SUCCESS: return self._state = True @@ -361,7 +378,7 @@ async def async_turn_on(self) -> None: async def async_turn_off(self) -> None: """Turn the entity off.""" - result = await self._on_off_cluster_handler.off() + result = await self._cluster.off() if result[1] is not Status.SUCCESS: return self._state = False @@ -393,10 +410,10 @@ class ConfigurableAttributeSwitch(PlatformEntity): _force_inverted: bool = False _off_value: int = 0 _on_value: int = 1 + _cluster_id: int def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, *, @@ -404,7 +421,7 @@ def __init__( **kwargs: Any, ) -> None: """Init this number configuration entity.""" - self._cluster_handler: ClusterHandler = cluster_handlers[0] + self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] if legacy_discovery_unique_id is None: legacy_discovery_unique_id = ( @@ -419,21 +436,31 @@ def __init__( (zha.PROFILE_ID, zha.DeviceType.SMART_PLUG), (zll.PROFILE_ID, zll.DeviceType.ON_OFF_PLUGIN_UNIT), } - else f"{endpoint.device.ieee}-{endpoint.id}-{int(cluster_handlers[0].cluster.cluster_id)}" + else f"{endpoint.device.ieee}-{endpoint.id}-{int(self._cluster_id)}" ) kwargs.pop("legacy_discovery_unique_id", None) super().__init__( - cluster_handlers, - endpoint, - device, + endpoint=endpoint, + device=device, **kwargs, legacy_discovery_unique_id=legacy_discovery_unique_id, ) - self._cluster_handler.on_event( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - self.handle_cluster_handler_attribute_updated, - ) + + def on_add(self) -> None: + """Run when entity is added.""" + super().on_add() + for event_type in ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + ): + self._on_remove_callbacks.append( + self._cluster.on_event( + event_type.event_type, self.handle_attribute_updated + ) + ) def _init_from_quirks_metadata(self, entity_metadata: SwitchMetadata) -> None: """Init this entity from the quirks metadata.""" @@ -448,11 +475,9 @@ def _init_from_quirks_metadata(self, entity_metadata: SwitchMetadata) -> None: def _is_supported(self) -> bool: if ( - self._attribute_name not in self._cluster_handler.cluster.attributes_by_name - or self._cluster_handler.cluster.is_attribute_unsupported( - self._attribute_name - ) - or self._cluster_handler.cluster.get(self._attribute_name) is None + self._attribute_name not in self._cluster.attributes_by_name + or self._cluster.is_attribute_unsupported(self._attribute_name) + or self._cluster.get(self._attribute_name) is None ): _LOGGER.debug( "%s is not supported - skipping %s entity creation", @@ -487,26 +512,27 @@ def state(self) -> dict[str, Any]: def inverted(self) -> bool: """Return True if the switch is inverted.""" if self._inverter_attribute_name: - return bool( - self._cluster_handler.cluster.get(self._inverter_attribute_name) - ) + return bool(self._cluster.get(self._inverter_attribute_name)) return self._force_inverted @property def is_on(self) -> bool: """Return if the switch is on based on the statemachine.""" if self._on_value != 1: - val = self._cluster_handler.cluster.get(self._attribute_name) + val = self._cluster.get(self._attribute_name) val = val == self._on_value else: - val = bool(self._cluster_handler.cluster.get(self._attribute_name)) + val = bool(self._cluster.get(self._attribute_name)) return (not val) if self.inverted else val - def handle_cluster_handler_attribute_updated( + def handle_attribute_updated( self, - event: ClusterAttributeUpdatedEvent, # pylint: disable=unused-argument + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, # pylint: disable=unused-argument ) -> None: - """Handle state update from cluster handler.""" + """Handle state update from cluster.""" if event.attribute_name == self._attribute_name: self.maybe_emit_state_changed_event() @@ -515,12 +541,12 @@ async def async_turn_on_off(self, state: bool) -> None: if self.inverted: state = not state if state: - await self._cluster_handler.write_attributes_safe( - {self._attribute_name: self._on_value} + await write_attributes_safe( + self._cluster, {self._attribute_name: self._on_value} ) else: - await self._cluster_handler.write_attributes_safe( - {self._attribute_name: self._off_value} + await write_attributes_safe( + self._cluster, {self._attribute_name: self._off_value} ) self.maybe_emit_state_changed_event() @@ -540,8 +566,8 @@ async def async_update(self) -> None: if self._inverter_attribute_name: polling_attrs.append(self._inverter_attribute_name) - results = await self._cluster_handler.get_attributes( - polling_attrs, from_cache=False, only_cache=False + results = await safe_read( + self._cluster, polling_attrs, allow_cache=False, only_cache=False ) self.debug("read values=%s", results) @@ -556,9 +582,10 @@ class OnOffWindowDetectionFunctionConfigurationEntity(ConfigurableAttributeSwitc _attribute_name = "window_detection_function" _inverter_attribute_name = "window_detection_function_inverter" _attr_translation_key = "window_detection_function" + _cluster_id = TUYA_MANUFACTURER_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"tuya_manufacturer"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({TUYA_MANUFACTURER_CLUSTER}), manufacturers=frozenset({"_TZE200_b6wax7g0"}), ) @@ -570,9 +597,10 @@ class P1MotionTriggerIndicatorSwitch(ConfigurableAttributeSwitch): _unique_id_suffix = "trigger_indicator" _attribute_name = "trigger_indicator" _attr_translation_key = "trigger_indicator" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.motion.ac02"}), ) @@ -584,9 +612,10 @@ class XiaomiPlugPowerOutageMemorySwitch(ConfigurableAttributeSwitch): _unique_id_suffix = "power_outage_memory" _attribute_name = "power_outage_memory" _attr_translation_key = "power_outage_memory" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.plug.mmeu01", "lumi.plug.maeu01"}), ) @@ -598,6 +627,7 @@ class HueMotionTriggerIndicatorSwitch(ConfigurableAttributeSwitch): _unique_id_suffix = "trigger_indicator" _attribute_name = "trigger_indicator" _attr_translation_key = "trigger_indicator" + _cluster_id = Basic.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Basic.cluster_id}), @@ -621,9 +651,10 @@ class ChildLock(ConfigurableAttributeSwitch): _unique_id_suffix = "child_lock" _attribute_name = "child_lock" _attr_translation_key = "child_lock" + _cluster_id = IKEA_AIR_PURIFIER_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"ikea_airpurifier"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({IKEA_AIR_PURIFIER_CLUSTER}), models=frozenset({"STARKVIND Air purifier", "STARKVIND Air purifier table"}), ) @@ -635,9 +666,10 @@ class DisableLed(ConfigurableAttributeSwitch): _unique_id_suffix = "disable_led" _attribute_name = "disable_led" _attr_translation_key = "disable_led" + _cluster_id = IKEA_AIR_PURIFIER_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"ikea_airpurifier"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({IKEA_AIR_PURIFIER_CLUSTER}), models=frozenset({"STARKVIND Air purifier", "STARKVIND Air purifier table"}), ) @@ -650,8 +682,10 @@ class InovelliInvertSwitch(ConfigurableAttributeSwitch): _attribute_name = "invert_switch" _attr_translation_key = "invert_switch" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}), + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -663,8 +697,10 @@ class InovelliSmartBulbMode(ConfigurableAttributeSwitch): _attribute_name = "smart_bulb_mode" _attr_translation_key = "smart_bulb_mode" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}), + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -676,8 +712,10 @@ class InovelliSmartFanMode(ConfigurableAttributeSwitch): _attribute_name = "smart_fan_mode" _attr_translation_key = "smart_fan_mode" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}), + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), models=frozenset({"VZM35-SN"}), ) @@ -690,8 +728,10 @@ class InovelliDoubleTapUpEnabled(ConfigurableAttributeSwitch): _attribute_name = "double_tap_up_enabled" _attr_translation_key = "double_tap_up_enabled" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}), + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -703,8 +743,10 @@ class InovelliDoubleTapDownEnabled(ConfigurableAttributeSwitch): _attribute_name = "double_tap_down_enabled" _attr_translation_key = "double_tap_down_enabled" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}), + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -716,8 +758,10 @@ class InovelliAuxSwitchScenes(ConfigurableAttributeSwitch): _attribute_name = "aux_switch_scenes" _attr_translation_key = "aux_switch_scenes" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}), + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -729,8 +773,10 @@ class InovelliBindingOffToOnSyncLevel(ConfigurableAttributeSwitch): _attribute_name = "binding_off_to_on_sync_level" _attr_translation_key = "binding_off_to_on_sync_level" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}), + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -742,8 +788,10 @@ class InovelliLocalProtection(ConfigurableAttributeSwitch): _attribute_name = "local_protection" _attr_translation_key = "local_protection" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}), + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -755,8 +803,10 @@ class InovelliOnOffLEDMode(ConfigurableAttributeSwitch): _attribute_name = "on_off_led_mode" _attr_translation_key = "one_led_mode" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}), + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -768,8 +818,10 @@ class InovelliFirmwareProgressLED(ConfigurableAttributeSwitch): _attribute_name = "firmware_progress_led" _attr_translation_key = "firmware_progress_led" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}), + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -781,8 +833,10 @@ class InovelliRelayClickInOnOffMode(ConfigurableAttributeSwitch): _attribute_name = "relay_click_in_on_off_mode" _attr_translation_key = "relay_click_in_on_off_mode" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}), + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -794,8 +848,10 @@ class InovelliDisableDoubleTapClearNotificationsMode(ConfigurableAttributeSwitch _attribute_name = "disable_clear_notifications_double_tap" _attr_translation_key = "disable_clear_notifications_double_tap" - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({CLUSTER_HANDLER_INOVELLI}), + _cluster_id = INOVELLI_CLUSTER + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), ) @@ -807,9 +863,10 @@ class AqaraPetFeederLEDIndicator(ConfigurableAttributeSwitch): _attribute_name = "disable_led_indicator" _attr_translation_key = "led_indicator" _force_inverted = True + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"aqara.feeder.acn001"}), ) @@ -821,9 +878,10 @@ class AqaraPetFeederChildLock(ConfigurableAttributeSwitch): _unique_id_suffix = "child_lock" _attribute_name = "child_lock" _attr_translation_key = "child_lock" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"aqara.feeder.acn001"}), ) @@ -835,6 +893,7 @@ class TuyaChildLockSwitch(ConfigurableAttributeSwitch): _unique_id_suffix = "child_lock" _attribute_name = "child_lock" _attr_translation_key = "child_lock" + _cluster_id = OnOff.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({OnOff.cluster_id}), @@ -865,9 +924,10 @@ class AqaraThermostatWindowDetection(ConfigurableAttributeSwitch): _unique_id_suffix = "window_detection" _attribute_name = "window_detection" _attr_translation_key = "window_detection" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.airrtc.agl001"}), ) @@ -879,9 +939,10 @@ class AqaraThermostatValveDetection(ConfigurableAttributeSwitch): _unique_id_suffix = "valve_detection" _attribute_name = "valve_detection" _attr_translation_key = "valve_detection" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.airrtc.agl001"}), ) @@ -893,9 +954,10 @@ class AqaraThermostatChildLock(ConfigurableAttributeSwitch): _unique_id_suffix = "child_lock" _attribute_name = "child_lock" _attr_translation_key = "child_lock" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.airrtc.agl001"}), ) @@ -907,9 +969,10 @@ class AqaraHeartbeatIndicator(ConfigurableAttributeSwitch): _unique_id_suffix = "heartbeat_indicator" _attribute_name = "heartbeat_indicator" _attr_translation_key = "heartbeat_indicator" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.sensor_smoke.acn03"}), ) @@ -921,9 +984,10 @@ class AqaraLinkageAlarm(ConfigurableAttributeSwitch): _unique_id_suffix = "linkage_alarm" _attribute_name = "linkage_alarm" _attr_translation_key = "linkage_alarm" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.sensor_smoke.acn03"}), ) @@ -935,9 +999,10 @@ class AqaraBuzzerManualMute(ConfigurableAttributeSwitch): _unique_id_suffix = "buzzer_manual_mute" _attribute_name = "buzzer_manual_mute" _attr_translation_key = "buzzer_manual_mute" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.sensor_smoke.acn03"}), ) @@ -949,9 +1014,10 @@ class AqaraBuzzerManualAlarm(ConfigurableAttributeSwitch): _unique_id_suffix = "buzzer_manual_alarm" _attribute_name = "buzzer_manual_alarm" _attr_translation_key = "buzzer_manual_alarm" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.sensor_smoke.acn03"}), ) @@ -966,6 +1032,7 @@ class WindowCoveringInversionSwitch(ConfigurableAttributeSwitch): _unique_id_suffix = "inverted" _attribute_name = WindowCovering.AttributeDefs.config_status.name _attr_translation_key = "inverted" + _cluster_id = WindowCovering.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({WindowCovering.cluster_id}), @@ -1015,16 +1082,9 @@ def _is_supported(self) -> bool: # this entity needs a second attribute to function if ( - ( - self._cluster_handler.cluster.is_attribute_unsupported( - window_covering_mode_attr - ) - ) - or ( - window_covering_mode_attr - not in self._cluster_handler.cluster.attributes_by_name - ) - or self._cluster_handler.cluster.get(window_covering_mode_attr) is None + self._cluster.is_attribute_unsupported(window_covering_mode_attr) + or window_covering_mode_attr not in self._cluster.attributes_by_name + or self._cluster.get(window_covering_mode_attr) is None ): _LOGGER.debug( "%s is not supported - skipping %s entity creation", @@ -1038,9 +1098,7 @@ def _is_supported(self) -> bool: @property def is_on(self) -> bool: """Return if the switch is on based on the statemachine.""" - config_status = ConfigStatus( - self._cluster_handler.cluster.get(self._attribute_name) - ) + config_status = ConfigStatus(self._cluster.get(self._attribute_name)) return ConfigStatus.Open_up_commands_reversed in config_status async def async_turn_on(self) -> None: @@ -1054,12 +1112,13 @@ async def async_turn_off(self) -> None: async def async_update(self) -> None: """Attempt to retrieve the state of the entity.""" self.debug("Polling current state") - await self._cluster_handler.get_attributes( + await safe_read( + self._cluster, [ self._attribute_name, WindowCovering.AttributeDefs.window_covering_mode.name, ], - from_cache=False, + allow_cache=False, only_cache=False, ) self.maybe_emit_state_changed_event() @@ -1067,9 +1126,7 @@ async def async_update(self) -> None: async def _async_on_off(self, invert: bool) -> None: """Turn the entity on or off.""" name: str = WindowCovering.AttributeDefs.window_covering_mode.name - current_mode: WindowCoveringMode = WindowCoveringMode( - self._cluster_handler.cluster.get(name) - ) + current_mode: WindowCoveringMode = WindowCoveringMode(self._cluster.get(name)) send_command: bool = False if invert and WindowCoveringMode.Motor_direction_reversed not in current_mode: current_mode |= WindowCoveringMode.Motor_direction_reversed @@ -1078,7 +1135,7 @@ async def _async_on_off(self, invert: bool) -> None: current_mode &= ~WindowCoveringMode.Motor_direction_reversed send_command = True if send_command: - await self._cluster_handler.write_attributes_safe({name: current_mode}) + await write_attributes_safe(self._cluster, {name: current_mode}) await self.async_update() @@ -1089,9 +1146,10 @@ class AqaraE1CurtainMotorHooksLockedSwitch(ConfigurableAttributeSwitch): _unique_id_suffix = "hooks_lock" _attribute_name = "hooks_lock" _attr_translation_key = "hooks_locked" + _cluster_id = AQARA_OPPLE_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"opple_cluster"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({AQARA_OPPLE_CLUSTER}), models=frozenset({"lumi.curtain.agl001"}), ) @@ -1221,6 +1279,8 @@ class DanfossExternalOpenWindowDetected(ConfigurableAttributeSwitch): _attribute_name: str = "external_open_window_detected" _attr_translation_key: str = "external_window_sensor" + _cluster_id = Thermostat.cluster_id + _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), @@ -1237,6 +1297,8 @@ class DanfossWindowOpenFeature(ConfigurableAttributeSwitch): _attribute_name: str = "window_open_feature" _attr_translation_key: str = "use_internal_window_detection" + _cluster_id = Thermostat.cluster_id + _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), @@ -1253,6 +1315,8 @@ class DanfossMountingModeControl(ConfigurableAttributeSwitch): _attribute_name: str = "mounting_mode_control" _attr_translation_key: str = "mounting_mode" + _cluster_id = Thermostat.cluster_id + _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), @@ -1269,6 +1333,8 @@ class DanfossRadiatorCovered(ConfigurableAttributeSwitch): _attribute_name: str = "radiator_covered" _attr_translation_key: str = "prioritize_external_temperature_sensor" + _cluster_id = Thermostat.cluster_id + _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), @@ -1285,6 +1351,8 @@ class DanfossHeatAvailable(ConfigurableAttributeSwitch): _attribute_name: str = "heat_available" _attr_translation_key: str = "heat_available" + _cluster_id = Thermostat.cluster_id + _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), @@ -1301,6 +1369,8 @@ class DanfossLoadBalancingEnable(ConfigurableAttributeSwitch): _attribute_name: str = "load_balancing_enable" _attr_translation_key: str = "use_load_balancing" + _cluster_id = Thermostat.cluster_id + _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), @@ -1320,6 +1390,8 @@ class DanfossAdaptationRunSettings(ConfigurableAttributeSwitch): _attribute_name: str = "adaptation_run_settings" _attr_translation_key: str = "adaptation_run_enabled" + _cluster_id = Thermostat.cluster_id + _cluster_match = ClusterMatch( server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), @@ -1335,8 +1407,9 @@ class SinopeLightDoubleTapFullSwitch(ConfigurableAttributeSwitch): _unique_id_suffix = "double_up_full" _attribute_name = "double_up_full" _attr_translation_key: str = "double_up_full" + _cluster_id = SINOPE_MANUFACTURER_CLUSTER - _cluster_handler_match = ClusterHandlerMatch( - cluster_handlers=frozenset({"sinope_manufacturer_specific"}), + _cluster_match = ClusterMatch( + server_clusters=frozenset({SINOPE_MANUFACTURER_CLUSTER}), models=frozenset({"DM2500ZB", "DM2500ZB-G2", "DM2550ZB", "DM2550ZB-G2"}), ) diff --git a/zha/application/platforms/update.py b/zha/application/platforms/update.py index 1ef8dab63..b170b4b69 100644 --- a/zha/application/platforms/update.py +++ b/zha/application/platforms/update.py @@ -11,7 +11,13 @@ from typing import TYPE_CHECKING, Any, Final from zigpy.ota import OtaImagesResult, OtaImageWithMetadata -from zigpy.zcl import OtaImageAvailableEvent +from zigpy.zcl import ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + OtaImageAvailableEvent, +) from zigpy.zcl.clusters.general import Ota from zigpy.zcl.foundation import Status @@ -27,16 +33,10 @@ register_entity, ) from zha.exceptions import ZHAException -from zha.zigbee.cluster_handlers import ClusterAttributeUpdatedEvent -from zha.zigbee.cluster_handlers.const import ( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - CLUSTER_HANDLER_OTA, -) -from zha.zigbee.endpoint import Endpoint if TYPE_CHECKING: - from zha.zigbee.cluster_handlers import ClusterHandler from zha.zigbee.device import Device + from zha.zigbee.endpoint import Endpoint _LOGGER = logging.getLogger(__name__) @@ -172,13 +172,16 @@ def supported_features(self) -> UpdateEntityFeature: """Flag supported features.""" return self._attr_supported_features - def handle_cluster_handler_attribute_updated( + def handle_attribute_updated( self, - event: ClusterAttributeUpdatedEvent, + event: AttributeReadEvent + | AttributeReportedEvent + | AttributeUpdatedEvent + | AttributeWrittenEvent, ) -> None: """Handle attribute updates on the OTA cluster.""" if event.attribute_id == Ota.AttributeDefs.current_file_version.id: - self._attr_installed_version = f"0x{event.attribute_value:08x}" + self._attr_installed_version = f"0x{event.value:08x}" self.maybe_emit_state_changed_event() def _handle_ota_image_available( @@ -307,58 +310,62 @@ class FirmwareUpdateEntity(BaseFirmwareUpdateEntity): def __init__( self, - cluster_handlers: list[ClusterHandler], endpoint: Endpoint, device: Device, **kwargs: Any, ) -> None: """Initialize the ZHA update entity.""" - super().__init__(cluster_handlers, endpoint, device, **kwargs) - - self._ota_cluster_handler: ClusterHandler = self.cluster_handlers[ - CLUSTER_HANDLER_OTA - ] + super().__init__(endpoint=endpoint, device=device, **kwargs) + self._cluster = self._get_ota_cluster() self._attr_installed_version: str | None = self._get_cluster_version() self._compatible_images: OtaImagesResult = OtaImagesResult( upgrades=(), downgrades=() ) + def _get_ota_cluster(self): + """Return the OTA cluster to use.""" + return self._endpoint.zigpy_endpoint.out_clusters[Ota.cluster_id] + def on_add(self) -> None: """Call when entity is added.""" super().on_add() - ota_cluster = self._ota_cluster_handler.cluster - self._on_remove_callbacks.append( - self._ota_cluster_handler.on_event( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - self.handle_cluster_handler_attribute_updated, + for event_type in ( + AttributeReadEvent, + AttributeReportedEvent, + AttributeUpdatedEvent, + AttributeWrittenEvent, + ): + self._on_remove_callbacks.append( + self._cluster.on_event( + event_type.event_type, self.handle_attribute_updated + ) ) - ) self._on_remove_callbacks.append( - ota_cluster.on_event( + self._cluster.on_event( OtaImageAvailableEvent.event_type, self._handle_ota_image_available, ) ) # Check for cached OTA image availability from zigpy - ota_cluster.create_catching_task( - self.device.device.application.ota.check_cluster_for_ota(ota_cluster) + self._cluster.create_catching_task( + self.device.device.application.ota.check_cluster_for_ota(self._cluster) ) def _get_cluster_version(self) -> str | None: """Synchronize current file version with the cluster.""" - if self._ota_cluster_handler.current_file_version is not None: - return f"0x{self._ota_cluster_handler.current_file_version:08x}" + value = self._cluster.get(Ota.AttributeDefs.current_file_version.name) + if value is not None: + return f"0x{value:08x}" return None @register_entity(Ota.cluster_id) -class FirmwareUpdateServerEntity(BaseFirmwareUpdateEntity): - """Representation of a ZHA firmware update entity.""" +class FirmwareUpdateServerEntity(FirmwareUpdateEntity): + """Representation of a ZHA firmware update entity for devices exposing OTA as a server cluster.""" - _unique_id_suffix = "firmware_update" _cluster_match = ClusterMatch( server_clusters=frozenset({Ota.cluster_id}), feature_priority=(PlatformFeatureGroup.OTA_UPDATE, 0), @@ -373,52 +380,8 @@ class FirmwareUpdateServerEntity(BaseFirmwareUpdateEntity): }, ), } + _client_cluster_config = {} - def __init__( - self, - cluster_handlers: list[ClusterHandler], - endpoint: Endpoint, - device: Device, - **kwargs: Any, - ) -> None: - """Initialize the ZHA update entity.""" - super().__init__(cluster_handlers, endpoint, device, **kwargs) - - # Some devices make it a server cluster, not a client cluster... - self._ota_cluster_handler: ClusterHandler = self.cluster_handlers[ - CLUSTER_HANDLER_OTA - ] - self._attr_installed_version: str | None = self._get_cluster_version() - self._compatible_images: OtaImagesResult = OtaImagesResult( - upgrades=(), downgrades=() - ) - - def on_add(self) -> None: - """Call when entity is added.""" - super().on_add() - - ota_cluster = self._ota_cluster_handler.cluster - self._on_remove_callbacks.append( - self._ota_cluster_handler.on_event( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - self.handle_cluster_handler_attribute_updated, - ) - ) - self._on_remove_callbacks.append( - ota_cluster.on_event( - OtaImageAvailableEvent.event_type, - self._handle_ota_image_available, - ) - ) - - # Check for cached OTA image availability from zigpy - ota_cluster.create_catching_task( - self.device.device.application.ota.check_cluster_for_ota(ota_cluster) - ) - - def _get_cluster_version(self) -> str | None: - """Synchronize current file version with the cluster.""" - if self._ota_cluster_handler.current_file_version is not None: - return f"0x{self._ota_cluster_handler.current_file_version:08x}" - - return None + def _get_ota_cluster(self): + """Return the OTA cluster to use.""" + return self._endpoint.zigpy_endpoint.in_clusters[Ota.cluster_id] From 57d620ac50844280ff3313f2003ca95997ae5920 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sat, 16 May 2026 02:43:01 -0400 Subject: [PATCH 26/85] WIP: fixes post migration --- zha/application/platforms/__init__.py | 7 +++ .../platforms/binary_sensor/__init__.py | 5 +- zha/application/platforms/button/__init__.py | 4 +- zha/application/platforms/climate/__init__.py | 20 ++----- zha/application/platforms/number/__init__.py | 2 +- zha/application/platforms/sensor/__init__.py | 11 ++-- zha/application/platforms/switch.py | 3 +- zha/zigbee/device.py | 57 +++++++++---------- 8 files changed, 53 insertions(+), 56 deletions(-) diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index f09184772..868ce7cc6 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -17,6 +17,7 @@ from zigpy.quirks.v2 import EntityMetadata, EntityType from zigpy.types import ClusterId from zigpy.types.named import EUI64 +from zigpy.zcl import ClusterType from zigpy.zcl.foundation import ZCLAttributeDef from zha.application import Platform @@ -560,6 +561,12 @@ def _init_from_quirks_metadata(self, entity_metadata: EntityMetadata) -> None: if entity_metadata.primary is not None: self._attr_primary = entity_metadata.primary + # Quirks v2 metadata supplies the target cluster; entity subclasses can + # then read `self._cluster_id` / `self._is_client_cluster` before doing + # their cluster lookup. + self._cluster_id = entity_metadata.cluster_id + self._is_client_cluster = entity_metadata.cluster_type == ClusterType.Client + @cached_property def identifiers(self) -> PlatformEntityIdentifiers: """Return a dict with the information necessary to identify this entity.""" diff --git a/zha/application/platforms/binary_sensor/__init__.py b/zha/application/platforms/binary_sensor/__init__.py index 4c4b58057..94a2ff731 100644 --- a/zha/application/platforms/binary_sensor/__init__.py +++ b/zha/application/platforms/binary_sensor/__init__.py @@ -98,11 +98,11 @@ def __init__( **kwargs, ) -> None: """Initialize the ZHA binary sensor.""" + super().__init__(endpoint=endpoint, device=device, **kwargs) if self._is_client_cluster: self._cluster = endpoint.zigpy_endpoint.out_clusters[self._cluster_id] else: self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] - super().__init__(endpoint=endpoint, device=device, **kwargs) self._state: bool = self.is_on self.recompute_capabilities() @@ -146,6 +146,8 @@ def info_object(self) -> BinarySensorEntityInfo: @property def is_on(self) -> bool: """Return True if the switch is on based on the state machine.""" + if self._attribute_name not in self._cluster.attributes_by_name: + return False self._state = raw_state = self._cluster.get(self._attribute_name) if raw_state is None: return False @@ -198,6 +200,7 @@ class Accelerometer(BinarySensor): _cluster_match = ClusterMatch( server_clusters=frozenset({SMARTTHINGS_ACCELERATION_CLUSTER}), + manufacturers=frozenset({"CentraLite", "Samjin", "SmartThings"}), ) diff --git a/zha/application/platforms/button/__init__.py b/zha/application/platforms/button/__init__.py index 1af57d8c6..82071b2e2 100644 --- a/zha/application/platforms/button/__init__.py +++ b/zha/application/platforms/button/__init__.py @@ -87,10 +87,10 @@ def __init__( **kwargs: Any, ): """Initialize button.""" - self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] if ENTITY_METADATA in kwargs: self._init_from_quirks_metadata(kwargs[ENTITY_METADATA]) super().__init__(endpoint=endpoint, device=device, **kwargs) + self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] def _init_from_quirks_metadata( self, entity_metadata: ZCLCommandButtonMetadata @@ -164,10 +164,10 @@ def __init__( **kwargs: Any, ) -> None: """Init this button.""" - self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] if ENTITY_METADATA in kwargs: self._init_from_quirks_metadata(kwargs[ENTITY_METADATA]) super().__init__(endpoint=endpoint, device=device, **kwargs) + self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] self.recompute_capabilities() def _init_from_quirks_metadata( diff --git a/zha/application/platforms/climate/__init__.py b/zha/application/platforms/climate/__init__.py index 081ecd2a9..21fc0a6a0 100644 --- a/zha/application/platforms/climate/__init__.py +++ b/zha/application/platforms/climate/__init__.py @@ -402,15 +402,11 @@ def _unoccupied_heating_setpoint(self) -> int | None: @property def _pi_cooling_demand(self) -> int | None: - return self._cluster.get( - ThermostatCluster.AttributeDefs.pi_cooling_demand.name - ) + return self._cluster.get(ThermostatCluster.AttributeDefs.pi_cooling_demand.name) @property def _pi_heating_demand(self) -> int | None: - return self._cluster.get( - ThermostatCluster.AttributeDefs.pi_heating_demand.name - ) + return self._cluster.get(ThermostatCluster.AttributeDefs.pi_heating_demand.name) @property def _running_mode(self) -> int | None: @@ -754,9 +750,7 @@ def handle_attribute_updated( | AttributeWrittenEvent, ) -> None: """Handle attribute update from device.""" - self.device.gateway.async_create_task( - self._handle_attribute_updated(event) - ) + self.device.gateway.async_create_task(self._handle_attribute_updated(event)) async def _handle_attribute_updated( self, @@ -776,9 +770,7 @@ async def _handle_attribute_updated( # occupancy has changed self._preset = Preset.NONE - self.debug( - "Attribute '%s' = %s update", event.attribute_name, event.value - ) + self.debug("Attribute '%s' = %s update", event.attribute_name, event.value) self.maybe_emit_state_changed_event() async def async_set_fan_mode(self, fan_mode: str) -> None: @@ -982,13 +974,13 @@ async def _update_time(self) -> None: def _rm_rs_action(self) -> HVACAction: """Return the current HVAC action based on running mode and running state.""" - running_mode = self._thermostat_cluster_handler.running_mode + running_mode = self._running_mode if running_mode == SystemMode.Heat: return HVACAction.HEATING if running_mode == SystemMode.Cool: return HVACAction.COOLING - running_state = self._thermostat_cluster_handler.running_state + running_state = self._running_state if running_state and running_state & ( RunningState.Fan_State_On | RunningState.Fan_2nd_Stage_On diff --git a/zha/application/platforms/number/__init__.py b/zha/application/platforms/number/__init__.py index 5e0768e45..e7cdbff80 100644 --- a/zha/application/platforms/number/__init__.py +++ b/zha/application/platforms/number/__init__.py @@ -275,8 +275,8 @@ def __init__( **kwargs: Any, ) -> None: """Init this number configuration entity.""" - self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] super().__init__(endpoint=endpoint, device=device, **kwargs) + self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] def _is_supported(self) -> bool: """Return if the entity is supported for the device, internal.""" diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 265571701..2d8a5b945 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -13,7 +13,7 @@ import math import numbers import typing -from typing import TYPE_CHECKING, Any +from typing import TYPE_CHECKING, Any, cast from zhaquirks.danfoss import thermostat as danfoss_thermostat from zhaquirks.quirk_ids import DANFOSS_ALLY_THERMOSTAT, SE_POLL_SUMMATION @@ -250,13 +250,14 @@ def __init__( **kwargs: Any, ) -> None: """Init this sensor.""" + self._attr_def: foundation.ZCLAttributeDef | None = None + + super().__init__(endpoint=endpoint, device=device, **kwargs) + if self._is_client_cluster: self._cluster = endpoint.zigpy_endpoint.out_clusters[self._cluster_id] else: self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] - self._attr_def: foundation.ZCLAttributeDef | None = None - - super().__init__(endpoint=endpoint, device=device, **kwargs) # After super() for quirks v2 entities if self._attribute_name is not None: @@ -1095,7 +1096,7 @@ def _divisor(self) -> int | float | None: if not self._divisor_attribute_name: return super()._divisor - return self._cluster.get(self._divisor_attribute_name) + return self._cluster.get(self._divisor_attribute_name) or 1 @_divisor.setter def _divisor(self, value: int | float | None) -> None: diff --git a/zha/application/platforms/switch.py b/zha/application/platforms/switch.py index 70072561d..726038a6b 100644 --- a/zha/application/platforms/switch.py +++ b/zha/application/platforms/switch.py @@ -421,8 +421,6 @@ def __init__( **kwargs: Any, ) -> None: """Init this number configuration entity.""" - self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] - if legacy_discovery_unique_id is None: legacy_discovery_unique_id = ( f"{endpoint.device.ieee}-{endpoint.id}" @@ -446,6 +444,7 @@ def __init__( **kwargs, legacy_discovery_unique_id=legacy_discovery_unique_id, ) + self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] def on_add(self) -> None: """Run when entity is added.""" diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index 09497dc14..a2c3dabb0 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -91,11 +91,7 @@ configure_cluster_configs, initialize_cluster_configs, ) -from zha.zigbee.cluster_handlers import ( - ClusterHandler, - ClusterHandlerStatus, - ZDOClusterHandler, -) +from zha.zigbee.cluster_handlers import ClusterHandler, ZDOClusterHandler from zha.zigbee.endpoint import Endpoint if TYPE_CHECKING: @@ -106,6 +102,27 @@ DIAGNOSTICS_JSON_VERSION = 2 +def _entity_targets_cluster( + entity: PlatformEntity, + cluster_id: int, + cluster_type: zigpy.zcl.ClusterType | None = None, +) -> bool: + """Return True if `entity` declares the given cluster in its `_cluster_match`.""" + match = entity._cluster_match + if match is None: + return False + + if cluster_type is None or cluster_type == zigpy.zcl.ClusterType.Server: + if cluster_id in (match.server_clusters | match.optional_server_clusters): + return True + if cluster_type is not None: + return False + if cluster_type is None or cluster_type == zigpy.zcl.ClusterType.Client: + if cluster_id in (match.client_clusters | match.optional_client_clusters): + return True + return False + + def get_cluster_attr_data( cluster: Cluster, reporting_config: dict[str, dict[str, Any]] | None = None, @@ -970,13 +987,6 @@ async def async_configure(self) -> None: if aggregated: await configure_cluster_configs(aggregated, self.manufacturer_code) - # Mark cluster handlers as CONFIGURED for ClusterMatch entities - for entity in self._discovered_entities: - if not hasattr(entity, "_cluster_match") or entity._cluster_match is None: - continue - for ch in entity._cluster_handlers: - ch._status = ClusterHandlerStatus.CONFIGURED - self.emit_reconfigure_done() self.debug("completed configuration") @@ -1040,9 +1050,8 @@ def _is_entity_removed_by_quirk(self, entity: PlatformEntity) -> bool: if meta.endpoint_id is not None and entity.endpoint.id != meta.endpoint_id: continue - if meta.cluster_id is not None and not any( - cluster_handler.cluster.cluster_id == meta.cluster_id - for cluster_handler in entity.cluster_handlers.values() + if meta.cluster_id is not None and not _entity_targets_cluster( + entity, meta.cluster_id ): continue @@ -1070,10 +1079,8 @@ def _apply_entity_metadata_changes(self, entity: PlatformEntity) -> None: if meta.endpoint_id is not None and entity.endpoint.id != meta.endpoint_id: continue - if meta.cluster_id is not None and not any( - cluster_handler.cluster.cluster_id == meta.cluster_id - and cluster_handler.cluster.cluster_type == meta.cluster_type - for cluster_handler in entity.cluster_handlers.values() + if meta.cluster_id is not None and not _entity_targets_cluster( + entity, meta.cluster_id, cluster_type=meta.cluster_type ): continue @@ -1272,18 +1279,6 @@ async def async_initialize(self, from_cache: bool = False) -> None: if aggregated: await initialize_cluster_configs(aggregated, from_cache) - # Run the legacy handler initialization so status transitions to - # INITIALIZED (or stays at CONFIGURED if the read raises), matching what - # legacy ClusterHandlerMatch entities ended up with. - for entity in self._discovered_entities: - if not hasattr(entity, "_cluster_match") or entity._cluster_match is None: - continue - for ch in entity._cluster_handlers: - try: - await ch.async_initialize(from_cache) - except Exception: # pylint: disable=broad-except - ch.debug("async_initialize raised", exc_info=True) - # And add them after. Emit events only on re-initialization, not the first. await self._add_pending_entities(emit_event=self._initialized) self._initialized = True From 58670a70197a72183a8318eb8c44db0142f2eba8 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sat, 16 May 2026 03:18:39 -0400 Subject: [PATCH 27/85] WIP: Clean up --- zha/application/platforms/__init__.py | 4 -- .../platforms/binary_sensor/__init__.py | 4 +- zha/application/platforms/button/__init__.py | 5 +- zha/application/platforms/climate/__init__.py | 4 +- zha/application/platforms/cover/__init__.py | 5 +- zha/application/platforms/device_tracker.py | 2 +- zha/application/platforms/fan/__init__.py | 8 ++- zha/application/platforms/light/__init__.py | 2 +- zha/application/platforms/lock/__init__.py | 2 +- zha/application/platforms/number/__init__.py | 10 ++-- zha/application/platforms/select.py | 8 +-- zha/application/platforms/sensor/__init__.py | 53 +++++++++++-------- zha/application/platforms/switch.py | 10 ++-- zha/application/platforms/virtual.py | 14 +++-- zha/exceptions.py | 21 ++++++++ zha/zigbee/device.py | 1 - 16 files changed, 85 insertions(+), 68 deletions(-) diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index 868ce7cc6..5907f52bc 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -26,7 +26,6 @@ from zha.debounce import Debouncer from zha.event import EventBase from zha.mixins import LogMixin -from zha.zigbee.cluster_handlers import ClusterHandlerInfo if TYPE_CHECKING: from zha.zigbee.device import Device @@ -178,7 +177,6 @@ class BaseEntityInfo: primary: bool # For platform entities - cluster_handlers: list[ClusterHandlerInfo] device_ieee: EUI64 | None endpoint_id: int | None available: bool | None @@ -410,7 +408,6 @@ def info_object(self) -> BaseEntityInfo: enabled=self.enabled, primary=self.primary, # Set by platform entities - cluster_handlers=[], device_ieee=None, endpoint_id=None, available=None, @@ -582,7 +579,6 @@ def info_object(self) -> BaseEntityInfo: """Return a representation of the platform entity.""" return dataclasses.replace( super().info_object, - cluster_handlers=[], device_ieee=self._device.ieee, endpoint_id=self._endpoint.id, available=self.available, diff --git a/zha/application/platforms/binary_sensor/__init__.py b/zha/application/platforms/binary_sensor/__init__.py index 94a2ff731..067aadcc5 100644 --- a/zha/application/platforms/binary_sensor/__init__.py +++ b/zha/application/platforms/binary_sensor/__init__.py @@ -41,13 +41,13 @@ BinarySensorDeviceClass, ) from zha.application.platforms.helpers import validate_device_class -from zha.zigbee.cluster_handlers.const import ( +from zha.zigbee.cluster_ids import ( AQARA_OPPLE_CLUSTER, IKEA_AIR_PURIFIER_CLUSTER, - REPORT_CONFIG_IMMEDIATE, SMARTTHINGS_ACCELERATION_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) +from zha.zigbee.reporting import REPORT_CONFIG_IMMEDIATE if TYPE_CHECKING: from zha.zigbee.device import Device diff --git a/zha/application/platforms/button/__init__.py b/zha/application/platforms/button/__init__.py index 82071b2e2..543aa773b 100644 --- a/zha/application/platforms/button/__init__.py +++ b/zha/application/platforms/button/__init__.py @@ -23,10 +23,7 @@ register_entity, ) from zha.application.platforms.button.const import DEFAULT_DURATION, ButtonDeviceClass -from zha.zigbee.cluster_handlers.const import ( - AQARA_OPPLE_CLUSTER, - TUYA_MANUFACTURER_CLUSTER, -) +from zha.zigbee.cluster_ids import AQARA_OPPLE_CLUSTER, TUYA_MANUFACTURER_CLUSTER if TYPE_CHECKING: from zha.zigbee.device import Device diff --git a/zha/application/platforms/climate/__init__.py b/zha/application/platforms/climate/__init__.py index 21fc0a6a0..90691af3c 100644 --- a/zha/application/platforms/climate/__init__.py +++ b/zha/application/platforms/climate/__init__.py @@ -58,11 +58,11 @@ ) from zha.decorators import periodic from zha.units import UnitOfTemperature -from zha.zigbee.cluster_handlers.const import REPORT_CONFIG_OP -from zha.zigbee.cluster_handlers.hvac import ( +from zha.zigbee.reporting import ( REPORT_CONFIG_CLIMATE, REPORT_CONFIG_CLIMATE_DEMAND, REPORT_CONFIG_CLIMATE_DISCRETE, + REPORT_CONFIG_OP, ) if TYPE_CHECKING: diff --git a/zha/application/platforms/cover/__init__.py b/zha/application/platforms/cover/__init__.py index fd17bb621..047bb0c6c 100644 --- a/zha/application/platforms/cover/__init__.py +++ b/zha/application/platforms/cover/__init__.py @@ -43,10 +43,7 @@ WCAttrs, ) from zha.exceptions import ZHAException -from zha.zigbee.cluster_handlers.const import ( - REPORT_CONFIG_ASAP, - REPORT_CONFIG_IMMEDIATE, -) +from zha.zigbee.reporting import REPORT_CONFIG_ASAP, REPORT_CONFIG_IMMEDIATE if TYPE_CHECKING: from zha.zigbee.device import Device diff --git a/zha/application/platforms/device_tracker.py b/zha/application/platforms/device_tracker.py index 9ad19083a..90932e7fb 100644 --- a/zha/application/platforms/device_tracker.py +++ b/zha/application/platforms/device_tracker.py @@ -27,7 +27,7 @@ ) from zha.application.platforms.sensor import Battery from zha.decorators import periodic -from zha.zigbee.cluster_handlers.const import REPORT_CONFIG_BATTERY_SAVE +from zha.zigbee.reporting import REPORT_CONFIG_BATTERY_SAVE if TYPE_CHECKING: from zha.zigbee.device import Device diff --git a/zha/application/platforms/fan/__init__.py b/zha/application/platforms/fan/__init__.py index edf346a19..c2ed6f387 100644 --- a/zha/application/platforms/fan/__init__.py +++ b/zha/application/platforms/fan/__init__.py @@ -51,11 +51,9 @@ percentage_to_ranged_value, ranged_value_to_percentage, ) -from zha.zigbee.cluster_handlers import wrap_zigpy_exceptions -from zha.zigbee.cluster_handlers.const import ( - IKEA_AIR_PURIFIER_CLUSTER, - REPORT_CONFIG_OP, -) +from zha.exceptions import wrap_zigpy_exceptions +from zha.zigbee.cluster_ids import IKEA_AIR_PURIFIER_CLUSTER +from zha.zigbee.reporting import REPORT_CONFIG_OP from zha.zigbee.group import Group if TYPE_CHECKING: diff --git a/zha/application/platforms/light/__init__.py b/zha/application/platforms/light/__init__.py index 4f6492bcb..fe14afcc8 100644 --- a/zha/application/platforms/light/__init__.py +++ b/zha/application/platforms/light/__init__.py @@ -77,7 +77,7 @@ ) from zha.debounce import Debouncer from zha.decorators import periodic -from zha.zigbee.cluster_handlers.const import ( +from zha.zigbee.reporting import ( REPORT_CONFIG_ASAP, REPORT_CONFIG_DEFAULT, REPORT_CONFIG_IMMEDIATE, diff --git a/zha/application/platforms/lock/__init__.py b/zha/application/platforms/lock/__init__.py index 29d123391..0c3274157 100644 --- a/zha/application/platforms/lock/__init__.py +++ b/zha/application/platforms/lock/__init__.py @@ -27,7 +27,7 @@ STATE_UNLOCKED, VALUE_TO_STATE, ) -from zha.zigbee.cluster_handlers.const import REPORT_CONFIG_IMMEDIATE +from zha.zigbee.reporting import REPORT_CONFIG_IMMEDIATE if TYPE_CHECKING: from zha.zigbee.device import Device diff --git a/zha/application/platforms/number/__init__.py b/zha/application/platforms/number/__init__.py index e7cdbff80..c7c8285cb 100644 --- a/zha/application/platforms/number/__init__.py +++ b/zha/application/platforms/number/__init__.py @@ -38,20 +38,20 @@ from zha.application.platforms.number.bacnet import BACNET_UNITS_TO_HA_UNITS from zha.application.platforms.number.const import ICONS, NumberDeviceClass, NumberMode from zha.units import UnitOfMass, UnitOfTemperature, UnitOfTime -from zha.zigbee.cluster_handlers.const import ( +from zha.zigbee.cluster_ids import ( AQARA_OPPLE_CLUSTER, IKEA_AIR_PURIFIER_CLUSTER, INOVELLI_CLUSTER, - REPORT_CONFIG_ASAP, - REPORT_CONFIG_DEFAULT, - REPORT_CONFIG_IMMEDIATE, SINOPE_MANUFACTURER_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) -from zha.zigbee.cluster_handlers.hvac import ( +from zha.zigbee.reporting import ( + REPORT_CONFIG_ASAP, REPORT_CONFIG_CLIMATE, REPORT_CONFIG_CLIMATE_DEMAND, REPORT_CONFIG_CLIMATE_DISCRETE, + REPORT_CONFIG_DEFAULT, + REPORT_CONFIG_IMMEDIATE, ) if TYPE_CHECKING: diff --git a/zha/application/platforms/select.py b/zha/application/platforms/select.py index 294ad3d9e..97b49acf3 100644 --- a/zha/application/platforms/select.py +++ b/zha/application/platforms/select.py @@ -45,18 +45,18 @@ PlatformEntity, register_entity, ) -from zha.zigbee.cluster_handlers.const import ( +from zha.zigbee.cluster_ids import ( AQARA_OPPLE_CLUSTER, INOVELLI_CLUSTER, - REPORT_CONFIG_ASAP, - REPORT_CONFIG_IMMEDIATE, SINOPE_MANUFACTURER_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) -from zha.zigbee.cluster_handlers.hvac import ( +from zha.zigbee.reporting import ( + REPORT_CONFIG_ASAP, REPORT_CONFIG_CLIMATE, REPORT_CONFIG_CLIMATE_DEMAND, REPORT_CONFIG_CLIMATE_DISCRETE, + REPORT_CONFIG_IMMEDIATE, ) if TYPE_CHECKING: diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 2d8a5b945..a4ac9fb40 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -34,6 +34,7 @@ DeviceTemperature as DeviceTemperatureCluster, PowerConfiguration, ) +from zigpy.zcl.clusters.general_const import ApplicationType from zigpy.zcl.clusters.homeautomation import Diagnostic, ElectricalMeasurement from zigpy.zcl.clusters.hvac import Thermostat from zigpy.zcl.clusters.measurement import ( @@ -108,28 +109,38 @@ UnitOfVolume, UnitOfVolumeFlowRate, ) -from zha.zigbee.cluster_handlers.const import ( +from zha.zigbee.cluster_ids import ( AQARA_OPPLE_CLUSTER, IKEA_AIR_PURIFIER_CLUSTER, INOVELLI_CLUSTER, - REPORT_CONFIG_ASAP, - REPORT_CONFIG_BATTERY_SAVE, - REPORT_CONFIG_DEFAULT, - REPORT_CONFIG_IMMEDIATE, - REPORT_CONFIG_MAX_INT, - REPORT_CONFIG_MIN_INT, - REPORT_CONFIG_OP, SMARTTHINGS_HUMIDITY_CLUSTER, SONOFF_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) -from zha.zigbee.cluster_handlers.general import ApplicationType -from zha.zigbee.cluster_handlers.hvac import ( +from zha.zigbee.metering import ( + METERING_DEVICE_TYPES_ELECTRIC, + METERING_DEVICE_TYPES_GAS, + METERING_DEVICE_TYPES_HEATING_COOLING, + METERING_DEVICE_TYPES_WATER, + DeviceStatusDefault, + DeviceStatusElectric, + DeviceStatusGas, + DeviceStatusHeatingCooling, + DeviceStatusWater, + metering_device_type, +) +from zha.zigbee.reporting import ( + REPORT_CONFIG_ASAP, + REPORT_CONFIG_BATTERY_SAVE, REPORT_CONFIG_CLIMATE, REPORT_CONFIG_CLIMATE_DEMAND, REPORT_CONFIG_CLIMATE_DISCRETE, + REPORT_CONFIG_DEFAULT, + REPORT_CONFIG_IMMEDIATE, + REPORT_CONFIG_MAX_INT, + REPORT_CONFIG_MIN_INT, + REPORT_CONFIG_OP, ) -from zha.zigbee.cluster_handlers.smartenergy import MeteringClusterHandler if TYPE_CHECKING: from zha.zigbee.device import Device @@ -1794,22 +1805,22 @@ def _device_type(self) -> str | int | None: dev_type = self._cluster.get(Metering.AttributeDefs.metering_device_type.name) if dev_type is None: return None - return MeteringClusterHandler.metering_device_type.get(dev_type, dev_type) + return metering_device_type.get(dev_type, dev_type) @property def _metering_status(self) -> int | None: if (status := self._cluster.get(Metering.AttributeDefs.status.name)) is None: return None dev_type = self._cluster.get(Metering.AttributeDefs.metering_device_type.name) - if dev_type in MeteringClusterHandler.METERING_DEVICE_TYPES_ELECTRIC: - return MeteringClusterHandler.DeviceStatusElectric(status) - if dev_type in MeteringClusterHandler.METERING_DEVICE_TYPES_GAS: - return MeteringClusterHandler.DeviceStatusGas(status) - if dev_type in MeteringClusterHandler.METERING_DEVICE_TYPES_WATER: - return MeteringClusterHandler.DeviceStatusWater(status) - if dev_type in MeteringClusterHandler.METERING_DEVICE_TYPES_HEATING_COOLING: - return MeteringClusterHandler.DeviceStatusHeatingCooling(status) - return MeteringClusterHandler.DeviceStatusDefault(status) + if dev_type in METERING_DEVICE_TYPES_ELECTRIC: + return DeviceStatusElectric(status) + if dev_type in METERING_DEVICE_TYPES_GAS: + return DeviceStatusGas(status) + if dev_type in METERING_DEVICE_TYPES_WATER: + return DeviceStatusWater(status) + if dev_type in METERING_DEVICE_TYPES_HEATING_COOLING: + return DeviceStatusHeatingCooling(status) + return DeviceStatusDefault(status) def _is_supported(self) -> bool: unit = self._unit_of_measurement diff --git a/zha/application/platforms/switch.py b/zha/application/platforms/switch.py index 726038a6b..c89828aa6 100644 --- a/zha/application/platforms/switch.py +++ b/zha/application/platforms/switch.py @@ -40,20 +40,20 @@ ) from zha.application.platforms.light.const import LIGHT_PROFILE_DEVICE_TYPES from zha.exceptions import ZHAException -from zha.zigbee.cluster_handlers.const import ( +from zha.zigbee.cluster_ids import ( AQARA_OPPLE_CLUSTER, IKEA_AIR_PURIFIER_CLUSTER, INOVELLI_CLUSTER, - REPORT_CONFIG_ASAP, - REPORT_CONFIG_DEFAULT, - REPORT_CONFIG_IMMEDIATE, SINOPE_MANUFACTURER_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) -from zha.zigbee.cluster_handlers.hvac import ( +from zha.zigbee.reporting import ( + REPORT_CONFIG_ASAP, REPORT_CONFIG_CLIMATE, REPORT_CONFIG_CLIMATE_DEMAND, REPORT_CONFIG_CLIMATE_DISCRETE, + REPORT_CONFIG_DEFAULT, + REPORT_CONFIG_IMMEDIATE, ) from zha.zigbee.group import Group diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py index 70174b65b..394cca3f4 100644 --- a/zha/application/platforms/virtual.py +++ b/zha/application/platforms/virtual.py @@ -37,19 +37,17 @@ register_entity, ) from zha.exceptions import ZHAException -from zha.zigbee.cluster_handlers.const import ( - ATTRIBUTE_ID, - ATTRIBUTE_NAME, - ATTRIBUTE_VALUE, - SIGNAL_ATTR_UPDATED, - VALUE, -) + +ATTRIBUTE_ID = "attribute_id" +ATTRIBUTE_NAME = "attribute_name" +ATTRIBUTE_VALUE = "attribute_value" +SIGNAL_ATTR_UPDATED = "attribute_updated" +VALUE = "value" SMARTTHINGS_ACCELERATION_CLUSTER = 0xFC02 UNKNOWN = "Unknown" if TYPE_CHECKING: - from zha.zigbee.cluster_handlers import ClusterHandler from zha.zigbee.device import Device from zha.zigbee.endpoint import Endpoint diff --git a/zha/exceptions.py b/zha/exceptions.py index b77264c07..a75bfc4b1 100644 --- a/zha/exceptions.py +++ b/zha/exceptions.py @@ -1,5 +1,26 @@ """Exceptions for Zigbee Home Automation.""" +from collections.abc import Iterator +from contextlib import contextmanager + +import zigpy.exceptions + class ZHAException(Exception): """Base ZHA exception.""" + + +@contextmanager +def wrap_zigpy_exceptions() -> Iterator[None]: + """Wrap zigpy exceptions in `ZHAException` exceptions.""" + try: + yield + except TimeoutError as exc: + raise ZHAException("Failed to send request: device did not respond") from exc + except zigpy.exceptions.ZigbeeException as exc: + message = "Failed to send request" + + if str(exc): + message = f"{message}: {exc}" + + raise ZHAException(message) from exc diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index a2c3dabb0..34255b35d 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -1832,7 +1832,6 @@ def get_diagnostics_json(self): continue info_object = dataclasses.asdict(platform_entity.info_object) - del info_object["cluster_handlers"] info_object["migrate_unique_ids"] = list(info_object["migrate_unique_ids"]) info_object["device_ieee"] = str(info_object["device_ieee"]) From 6c5d80ecbbc1c24974761b2c73a060a349f7c4be Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 17 May 2026 03:13:57 -0400 Subject: [PATCH 28/85] WIP: get tests passing? --- tests/test_alarm_control_panel.py | 2 +- tests/test_binary_sensor.py | 34 +++-- tests/test_button.py | 50 +++---- tests/test_device.py | 7 +- tests/test_discover.py | 32 ++--- tests/test_sensor.py | 139 ++++++++----------- zha/application/helpers.py | 37 +++-- zha/application/platforms/cover/__init__.py | 15 +- zha/application/platforms/lock/__init__.py | 9 +- zha/application/platforms/number/__init__.py | 19 ++- zha/application/platforms/sensor/__init__.py | 21 ++- 11 files changed, 185 insertions(+), 180 deletions(-) diff --git a/tests/test_alarm_control_panel.py b/tests/test_alarm_control_panel.py index 0a7721050..4443ffc3c 100644 --- a/tests/test_alarm_control_panel.py +++ b/tests/test_alarm_control_panel.py @@ -215,7 +215,7 @@ async def test_alarm_control_panel( await reset_alarm_panel(zha_gateway, cluster, alarm_entity) assert alarm_entity.state["state"] == AlarmState.DISARMED - alarm_entity._cluster_handler.code_required_arm_actions = True + alarm_entity.code_required_arm_actions = True await alarm_entity.async_alarm_arm_away() await zha_gateway.async_block_till_done() assert alarm_entity.state["state"] == AlarmState.DISARMED diff --git a/tests/test_binary_sensor.py b/tests/test_binary_sensor.py index da42ad044..35a74cb05 100644 --- a/tests/test_binary_sensor.py +++ b/tests/test_binary_sensor.py @@ -2,7 +2,7 @@ import asyncio from collections.abc import Awaitable, Callable -from unittest.mock import MagicMock, call +from unittest.mock import call import pytest from zigpy.profiles import zha @@ -108,7 +108,7 @@ async def async_test_binary_sensor_occupancy( await zha_gateway.async_block_till_done() assert cluster.read_attributes.await_count == 1 assert cluster.read_attributes.await_args == call( - ["occupancy"], allow_cache=True, only_cache=True, manufacturer=UNDEFINED + ["occupancy"], allow_cache=False, only_cache=False, manufacturer=UNDEFINED ) assert entity.is_on @@ -230,20 +230,28 @@ async def test_smarttthings_multi( assert entity.PLATFORM == Platform.BINARY_SENSOR assert entity.is_on is False - st_ch = zha_device.endpoints[1].all_cluster_handlers["1:0xfc02"] - assert st_ch is not None - - st_ch.emit_zha_event = MagicMock(wraps=st_ch.emit_zha_event) + # SmartThingsAccelerationEvent (virtual entity) re-emits attribute updates on + # the SmartThings acceleration cluster as zha_events on the device. + accel_cluster = zigpy_device.endpoints[1].in_clusters[ + SMARTTHINGS_ACCELERATION_CLUSTER + ] + events = [] + zha_device.on_event("zha_event", events.append) - await send_attributes_report(zha_gateway, st_ch.cluster, {"x_axis": 120}) + await send_attributes_report(zha_gateway, accel_cluster, {"x_axis": 120}) - assert st_ch.emit_zha_event.call_count == 1 - assert st_ch.emit_zha_event.mock_calls == [ - call( - "attribute_updated", - {"attribute_id": 18, "attribute_name": "x_axis", "attribute_value": 120}, - ) + zha_events = [ + e + for e in events + if e.data.get("command") == "attribute_updated" + and e.data.get("cluster_id") == SMARTTHINGS_ACCELERATION_CLUSTER ] + assert len(zha_events) == 1 + assert zha_events[0].data["args"] == { + "attribute_id": 18, + "attribute_name": "x_axis", + "attribute_value": 120, + } async def test_quirks_binary_sensor_attr_converter(zha_gateway: Gateway) -> None: diff --git a/tests/test_button.py b/tests/test_button.py index 2777631c4..fc4854804 100644 --- a/tests/test_button.py +++ b/tests/test_button.py @@ -36,7 +36,6 @@ update_attribute_cache, ) from zha.application import Platform -from zha.application.const import ZCL_INIT_ATTRS from zha.application.gateway import Gateway from zha.application.platforms import EntityCategory, PlatformEntity from zha.application.platforms.button import ( @@ -46,7 +45,6 @@ ) from zha.application.platforms.button.const import ButtonDeviceClass from zha.exceptions import ZHAException -from zha.zigbee.cluster_handlers.manufacturerspecific import OppleRemoteClusterHandler from zha.zigbee.device import Device ZIGPY_DEVICE = { @@ -374,10 +372,10 @@ class ServerCommandDefs(zcl_f.BaseCommandDefs): ) -async def test_cluster_handler_quirks_unnecessary_claiming( +async def test_quirks_v2_button_only_cluster_is_not_configured( zha_gateway: Gateway, ) -> None: - """Test quirks button doesn't claim cluster handlers unnecessarily.""" + """A quirks v2 command button alone shouldn't trigger bind/reporting/reads.""" registry = DeviceRegistry() ( @@ -412,36 +410,26 @@ async def test_cluster_handler_quirks_unnecessary_claiming( model="Fake_Model_sensor_2", ) zigpy_device = registry.get_device(zigpy_device) - - # Suppress normal endpoint probing, as this will claim the Opple cluster handler - # already due to it being in the "CLUSTER_HANDLER_ONLY_CLUSTERS" registry. - # We want to test the handler also gets claimed via quirks v2 attributes init. + # `registry.get_device` swaps in the replaced OppleCluster instance; patch its + # network methods so we can assert bind/reporting/reading didn't happen. + opple_cluster = zigpy_device.endpoints[1].opple_cluster + patch_cluster_for_testing(opple_cluster) + + # Suppress normal endpoint probing, so virtual entities for the Opple cluster + # (e.g. AqaraOppleBind) don't trigger a bind themselves — we want to verify + # the quirks v2 button path alone does no cluster setup work. with patch("zha.application.discovery.discover_entities_for_endpoint"): zha_device = await join_zigpy_device(zha_gateway, zigpy_device) assert isinstance(zha_device.device, CustomDeviceV2) - # get cluster handler of OppleCluster - opple_ch = zha_device.endpoints[1].all_cluster_handlers["1:0xfcc0"] - assert isinstance(opple_ch, OppleRemoteClusterHandler) - - # make sure the cluster handler was not claimed, - # as no reporting is configured and no attributes are to be read - assert opple_ch not in zha_device.endpoints[1].claimed_cluster_handlers.values() - - # check that BIND is left at default of True, though ZHA will ignore it - assert opple_ch.BIND is True - - # check ZCL_INIT_ATTRS is empty - assert opple_ch.ZCL_INIT_ATTRS == {} - - # check that no ZCL_INIT_ATTRS instance variable was created - assert opple_ch.__dict__.get(ZCL_INIT_ATTRS) is None - assert opple_ch.ZCL_INIT_ATTRS is OppleRemoteClusterHandler.ZCL_INIT_ATTRS - - # double check we didn't modify the class variable - assert OppleRemoteClusterHandler.ZCL_INIT_ATTRS == {} + # The quirks v2 button entity is created and usable + entity = get_entity(zha_device, platform=Platform.BUTTON, entity_type=Button) + assert entity is not None - # check if REPORT_CONFIG is empty, both instance and class variable - assert opple_ch.REPORT_CONFIG == () - assert OppleRemoteClusterHandler.REPORT_CONFIG == () + # No bind / configure_reporting / read_attributes happened on the Opple cluster: + # the button declares neither reporting nor an attribute init, so there's + # nothing for ZHA to configure. + assert len(opple_cluster.bind.mock_calls) == 0 + assert len(opple_cluster.configure_reporting_multiple.mock_calls) == 0 + assert len(opple_cluster.read_attributes.mock_calls) == 0 diff --git a/tests/test_device.py b/tests/test_device.py index b653ea89b..98ae1efca 100644 --- a/tests/test_device.py +++ b/tests/test_device.py @@ -830,7 +830,7 @@ async def test_device_firmware_version_syncing(zha_gateway: Gateway) -> None: # If we update the entity, the device updates as well update_entity = get_entity(zha_device, platform=Platform.UPDATE) - update_entity._ota_cluster_handler.cluster.update_attribute( + update_entity._cluster.update_attribute( Ota.AttributeDefs.current_file_version.id, zigpy.types.uint32_t(0xABCD1234), ) @@ -838,7 +838,7 @@ async def test_device_firmware_version_syncing(zha_gateway: Gateway) -> None: assert zha_device.firmware_version == "0xabcd1234" # Duplicate updates are ignored - update_entity._ota_cluster_handler.cluster.update_attribute( + update_entity._cluster.update_attribute( Ota.AttributeDefs.current_file_version.id, zigpy.types.uint32_t(0xABCD1234), ) @@ -1028,7 +1028,8 @@ async def test_quirks_v2_prevent_default_entities(zha_gateway: Gateway) -> None: Platform.BUTTON, unique_id="00:0d:6f:00:05:65:83:f2-1-3" ) - assert len(zha_device.platform_entities) == 7 + non_virtual = [e for e in zha_device.platform_entities.values() if not e._virtual] + assert len(non_virtual) == 7 async def test_quirks_v2_change_entity_metadata(zha_gateway: Gateway) -> None: diff --git a/tests/test_discover.py b/tests/test_discover.py index 30e3c7cbe..747a675b7 100644 --- a/tests/test_discover.py +++ b/tests/test_discover.py @@ -87,33 +87,19 @@ async def test_device_override( zha_device = await join_zigpy_device(zha_gateway, zigpy_device) - # The overridden entity exists - entity = get_entity( - zha_device, - platform=override_platform, - qualifier_func=( - lambda entity: ( - entity.cluster_handlers["on_off"].cluster - == zigpy_device.endpoints[1].on_off - ) - ), + # The overridden entity exists at the endpoint-level unique_id + entity = zha_device.get_platform_entity( + override_platform, unique_id=f"{zigpy_device.ieee}-1" ) assert entity is not None - assert entity.unique_id == f"{zigpy_device.ieee}-1" - # The original one does not + # The non-overridden platform has no such entity + other_platform = ( + Platform.LIGHT if override_platform == Platform.SWITCH else Platform.SWITCH + ) with pytest.raises(KeyError): - get_entity( - zha_device, - platform=( - Platform.LIGHT - if override_platform == Platform.SWITCH - else Platform.SWITCH - ), - qualifier_func=lambda entity: ( - entity.cluster_handlers["on_off"].cluster - == zigpy_device.endpoints[1].on_off - ), + zha_device.get_platform_entity( + other_platform, unique_id=f"{zigpy_device.ieee}-1" ) diff --git a/tests/test_sensor.py b/tests/test_sensor.py index 4e37b21d2..9b1f6acab 100644 --- a/tests/test_sensor.py +++ b/tests/test_sensor.py @@ -6,7 +6,7 @@ from functools import partial import math from typing import Any -from unittest.mock import AsyncMock, MagicMock, patch +from unittest.mock import AsyncMock, MagicMock, call, patch import pytest from zhaquirks.danfoss import thermostat as danfoss_thermostat @@ -20,7 +20,7 @@ SensorDeviceClass as SensorDeviceClassV2, ) import zigpy.types as t -from zigpy.zcl import Cluster +from zigpy.zcl import Cluster, ReportingConfig from zigpy.zcl.clusters import general, homeautomation, hvac, measurement, smartenergy from zigpy.zcl.clusters.general import AnalogInput, PowerConfiguration from zigpy.zcl.clusters.general_const import AnalogInputType, ApplicationType @@ -34,11 +34,12 @@ create_mock_zigpy_device, get_entity, join_zigpy_device, + patch_cluster_for_testing, send_attributes_report, zigpy_device_from_json, ) from zha.application import Platform -from zha.application.const import ZCL_INIT_ATTRS, ZHA_CLUSTER_HANDLER_READS_PER_REQ +from zha.application.const import ZHA_CLUSTER_HANDLER_READS_PER_REQ from zha.application.gateway import Gateway from zha.application.platforms import PlatformEntity, sensor from zha.application.platforms.sensor import ( @@ -55,8 +56,6 @@ UnitOfPressure, UnitOfVolume, ) -from zha.zigbee.cluster_handlers import AttrReportConfig -from zha.zigbee.cluster_handlers.manufacturerspecific import OppleRemoteClusterHandler from zha.zigbee.device import Device EMAttrs = homeautomation.ElectricalMeasurement.AttributeDefs @@ -1277,12 +1276,12 @@ async def test_se_summation_uom( @pytest.mark.parametrize( "raw_measurement_type, expected_type", ( - (1, "ACTIVE_MEASUREMENT"), - (8, "PHASE_A_MEASUREMENT"), - (9, "ACTIVE_MEASUREMENT, PHASE_A_MEASUREMENT"), + (1, "Active_measurement_AC"), + (8, "Phase_A_measurement"), + (9, "Active_measurement_AC, Phase_A_measurement"), ( 15, - "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT", + "Active_measurement_AC, Reactive_measurement_AC, Apparent_measurement_AC, Phase_A_measurement", ), ), ) @@ -1688,59 +1687,43 @@ async def test_state_class( assert "Quirks provided an invalid state class: energy" in caplog.text -async def test_cluster_handler_quirks_attribute_reporting(zha_gateway: Gateway) -> None: - """Test quirks sensor setting up ZCL_INIT_ATTRS and REPORT_CONFIG correctly.""" - - # Suppress normal endpoint probing, as this will claim the Opple cluster handler - # already due to it being in the "CLUSTER_HANDLER_ONLY_CLUSTERS" registry. - # We want to test the handler also gets claimed via quirks v2 reporting config. +async def test_quirks_v2_sensor_reporting_configures_cluster( + zha_gateway: Gateway, +) -> None: + """A quirks v2 sensor with reporting_config binds the cluster and configures reporting.""" + # Suppress normal endpoint probing so that virtual entities for the Opple + # cluster (e.g. AqaraOppleBind) don't bind it themselves — we want to + # observe the bind triggered by the quirks v2 sensor's reporting config. with patch("zha.application.discovery.discover_entities_for_endpoint"): - zha_device, cluster = await zigpy_device_aqara_sensor_v2_mock(zha_gateway) + zha_device, opple_cluster = await zigpy_device_aqara_sensor_v2_mock(zha_gateway) assert isinstance(zha_device.device, CustomDeviceV2) - # get cluster handler of OppleCluster - opple_ch = zha_device.endpoints[1].all_cluster_handlers["1:0xfcc0"] - assert isinstance(opple_ch, OppleRemoteClusterHandler) - - # make sure the cluster handler was claimed due to reporting config, so ZHA binds it - assert opple_ch in zha_device.endpoints[1].claimed_cluster_handlers.values() - - # check that BIND is not set to False, as reporting is configured - assert opple_ch.BIND is True - - # check ZCL_INIT_ATTRS contains sensor attributes that are not in REPORT_CONFIG - assert opple_ch.ZCL_INIT_ATTRS == { - "energy": True, - "energy_delivered": True, - "energy_invalid_state_class": True, - "power": True, - } - # check that ZCL_INIT_ATTRS is an instance variable and not a class variable now - assert opple_ch.ZCL_INIT_ATTRS is opple_ch.__dict__[ZCL_INIT_ATTRS] - assert opple_ch.ZCL_INIT_ATTRS is not OppleRemoteClusterHandler.ZCL_INIT_ATTRS + # The quirks v2 sensor entity is created + last_feeding_size = get_entity( + zha_device, platform=Platform.SENSOR, qualifier="last_feeding_size" + ) + assert last_feeding_size is not None - # double check we didn't modify the class variable - assert OppleRemoteClusterHandler.ZCL_INIT_ATTRS == {} + # The reporting_config attached to the sensor causes a bind + configure_reporting + assert len(opple_cluster.bind.mock_calls) == 1 - # check if REPORT_CONFIG is set correctly - assert ( - ( - AttrReportConfig( - attr="last_feeding_size", - config=(0, 60, 1), - ), + last_feeding_size_def = opple_cluster.find_attribute("last_feeding_size") + assert opple_cluster.configure_reporting_multiple.mock_calls == [ + call( + { + last_feeding_size_def: ReportingConfig( + min_interval=0, max_interval=60, reportable_change=1 + ), + } ) - ) == opple_ch.REPORT_CONFIG - - # this cannot be wrong, as REPORT_CONFIG is an immutable tuple and not a list/dict, - # but let's check it anyway in case the type changes in the future - assert opple_ch.REPORT_CONFIG is not OppleRemoteClusterHandler.REPORT_CONFIG - assert OppleRemoteClusterHandler.REPORT_CONFIG == () + ] -async def test_cluster_handler_quirks_attribute_reading(zha_gateway: Gateway) -> None: - """Test quirks sensor setting up ZCL_INIT_ATTRS, claiming cluster handler.""" +async def test_quirks_v2_sensor_attribute_init_reads_cluster( + zha_gateway: Gateway, +) -> None: + """A quirks v2 sensor without reporting_config reads its attribute but doesn't bind.""" registry = DeviceRegistry() ( @@ -1774,40 +1757,36 @@ async def test_cluster_handler_quirks_attribute_reading(zha_gateway: Gateway) -> model="Fake_Model_sensor_2", ) zigpy_device = registry.get_device(zigpy_device) - - # Suppress normal endpoint probing, as this will claim the Opple cluster handler - # already due to it being in the "CLUSTER_HANDLER_ONLY_CLUSTERS" registry. - # We want to test the handler also gets claimed via quirks v2 attributes init. + # `registry.get_device` swaps in the replaced OppleCluster instance; patch its + # network methods so we can assert bind/reporting/reading behavior. + opple_cluster = zigpy_device.endpoints[1].opple_cluster + patch_cluster_for_testing(opple_cluster) + + # Suppress normal endpoint probing so virtual entities for the Opple cluster + # (e.g. AqaraOppleBind) don't bind it themselves — we want to observe only + # the quirks v2 sensor's effect. with patch("zha.application.discovery.discover_entities_for_endpoint"): zha_device = await join_zigpy_device(zha_gateway, zigpy_device) assert isinstance(zha_device.device, CustomDeviceV2) - # get cluster handler of OppleCluster - opple_ch = zha_device.endpoints[1].all_cluster_handlers["1:0xfcc0"] - assert isinstance(opple_ch, OppleRemoteClusterHandler) - - # make sure the cluster handler was claimed due to attributes to be initialized - # otherwise, ZHA won't configure the cluster handler, so attributes are not read - assert opple_ch in zha_device.endpoints[1].claimed_cluster_handlers.values() - - # check that BIND is set to False, as no reporting is configured - assert opple_ch.BIND is False - - # check ZCL_INIT_ATTRS contains sensor attributes that are not in REPORT_CONFIG - assert opple_ch.ZCL_INIT_ATTRS == { - "last_feeding_size": True, - } - # check that ZCL_INIT_ATTRS is an instance variable and not a class variable now - assert opple_ch.ZCL_INIT_ATTRS is opple_ch.__dict__[ZCL_INIT_ATTRS] - assert opple_ch.ZCL_INIT_ATTRS is not OppleRemoteClusterHandler.ZCL_INIT_ATTRS + # The quirks v2 sensor entity is created + last_feeding_size = get_entity( + zha_device, platform=Platform.SENSOR, qualifier="last_feeding_size" + ) + assert last_feeding_size is not None - # double check we didn't modify the class variable - assert OppleRemoteClusterHandler.ZCL_INIT_ATTRS == {} + # No reporting config -> no bind, no configure_reporting + assert len(opple_cluster.bind.mock_calls) == 0 + assert len(opple_cluster.configure_reporting_multiple.mock_calls) == 0 - # check if REPORT_CONFIG is empty, both instance and class variable - assert opple_ch.REPORT_CONFIG == () - assert OppleRemoteClusterHandler.REPORT_CONFIG == () + # But the attribute IS read on startup so the sensor has an initial value + attr_reads = [ + c + for c in opple_cluster.read_attributes.mock_calls + if c.args and "last_feeding_size" in c.args[0] + ] + assert len(attr_reads) == 1 async def test_device_counter_sensors(zha_gateway: Gateway) -> None: diff --git a/zha/application/helpers.py b/zha/application/helpers.py index dfdb5216e..199690995 100644 --- a/zha/application/helpers.py +++ b/zha/application/helpers.py @@ -32,10 +32,11 @@ CLUSTER_TYPE_OUT, CONF_DEFAULT_CONSIDER_UNAVAILABLE_BATTERY, CONF_DEFAULT_CONSIDER_UNAVAILABLE_MAINS, + ZHA_CLUSTER_HANDLER_READS_PER_REQ, ) from zha.async_ import gather_with_limited_concurrency from zha.decorators import periodic -from zha.exceptions import ZHAException +from zha.exceptions import ZHAException, wrap_zigpy_exceptions if TYPE_CHECKING: from zha.application.gateway import Gateway @@ -48,6 +49,8 @@ _P = ParamSpec("_P") _LOGGER = logging.getLogger(__name__) +RETRYABLE_REQUEST_DECORATOR = zigpy.util.retryable_request(tries=3) + @dataclass class BindingPair: @@ -74,20 +77,27 @@ async def safe_read( ): """Swallow all exceptions from network read. + Reads are chunked into batches of ZHA_CLUSTER_HANDLER_READS_PER_REQ since + devices commonly cap how many attributes can be read in one request. + If we throw during initialization, setup fails. Rather have an entity that exists, but is in a maybe wrong state, than no entity. This method should probably only be used during initialization. """ - try: - result, _ = await cluster.read_attributes( - attributes, - allow_cache=allow_cache, - only_cache=only_cache, - manufacturer=manufacturer, - ) - return result - except Exception: # pylint: disable=broad-except - return {} + result: dict = {} + for i in range(0, len(attributes), ZHA_CLUSTER_HANDLER_READS_PER_REQ): + chunk = attributes[i : i + ZHA_CLUSTER_HANDLER_READS_PER_REQ] + try: + chunk_result, _ = await cluster.read_attributes( + chunk, + allow_cache=allow_cache, + only_cache=only_cache, + manufacturer=manufacturer, + ) + result.update(chunk_result) + except Exception: # pylint: disable=broad-except + continue + return result def cluster_runtime_state(cluster: zigpy.zcl.Cluster) -> dict[str, Any]: @@ -110,7 +120,10 @@ async def write_attributes_safe( manufacturer: int | UndefinedType | None = UNDEFINED, ) -> None: """Write attributes and raise on any per-attribute failure.""" - res = await cluster.write_attributes(attributes, manufacturer=manufacturer) + with wrap_zigpy_exceptions(): + res = await RETRYABLE_REQUEST_DECORATOR(cluster.write_attributes)( + attributes, manufacturer=manufacturer + ) for record in res[0]: if record.status != foundation.Status.SUCCESS: try: diff --git a/zha/application/platforms/cover/__init__.py b/zha/application/platforms/cover/__init__.py index 047bb0c6c..5e7b7505e 100644 --- a/zha/application/platforms/cover/__init__.py +++ b/zha/application/platforms/cover/__init__.py @@ -42,7 +42,7 @@ CoverState, WCAttrs, ) -from zha.exceptions import ZHAException +from zha.exceptions import ZHAException, wrap_zigpy_exceptions from zha.zigbee.reporting import REPORT_CONFIG_ASAP, REPORT_CONFIG_IMMEDIATE if TYPE_CHECKING: @@ -1033,12 +1033,13 @@ async def async_open_cover(self) -> None: assert self._level_cluster is not None position = self._position or 100 - await asyncio.gather( - self._level_cluster.move_to_level_with_on_off( - self._ha_position_to_zcl_level(position), 1 - ), - self._on_off_cluster.on(), - ) + with wrap_zigpy_exceptions(): + await asyncio.gather( + self._level_cluster.move_to_level_with_on_off( + self._ha_position_to_zcl_level(position), 1 + ), + self._on_off_cluster.on(), + ) self._is_open = True self._position = position diff --git a/zha/application/platforms/lock/__init__.py b/zha/application/platforms/lock/__init__.py index 0c3274157..07714f9ea 100644 --- a/zha/application/platforms/lock/__init__.py +++ b/zha/application/platforms/lock/__init__.py @@ -15,6 +15,7 @@ from zigpy.zcl.foundation import Status from zha.application import Platform +from zha.application.helpers import safe_read from zha.application.platforms import ( AttrConfig, ClusterConfig, @@ -181,7 +182,13 @@ def handle_attribute_updated( self.maybe_emit_state_changed_event() async def async_update(self) -> None: - """Refresh state from the cluster cache.""" + """Poll lock_state from the cluster.""" + await safe_read( + self._cluster, + [DoorLockCluster.AttributeDefs.lock_state.name], + allow_cache=False, + only_cache=False, + ) value = self._cluster.get(DoorLockCluster.AttributeDefs.lock_state.name) if value is not None: self._state = VALUE_TO_STATE.get(value, self._state) diff --git a/zha/application/platforms/number/__init__.py b/zha/application/platforms/number/__init__.py index c7c8285cb..72e14dc28 100644 --- a/zha/application/platforms/number/__init__.py +++ b/zha/application/platforms/number/__init__.py @@ -10,17 +10,16 @@ from zhaquirks.quirk_ids import DANFOSS_ALLY_THERMOSTAT from zigpy.quirks.v2 import NumberMetadata -from zigpy.zcl.clusters.general import AnalogOutput, Basic, LevelControl -from zigpy.zcl.clusters.hvac import Thermostat -from zigpy.zcl.clusters.lighting import Ballast, Color -from zigpy.zcl.clusters.measurement import OccupancySensing - from zigpy.zcl import ( AttributeReadEvent, AttributeReportedEvent, AttributeUpdatedEvent, AttributeWrittenEvent, ) +from zigpy.zcl.clusters.general import AnalogOutput, Basic, LevelControl +from zigpy.zcl.clusters.hvac import Thermostat +from zigpy.zcl.clusters.lighting import Ballast, Color +from zigpy.zcl.clusters.measurement import OccupancySensing from zha.application import Platform from zha.application.helpers import safe_read, write_attributes_safe @@ -246,6 +245,16 @@ async def async_set_native_value(self, value: float) -> None: ) self.maybe_emit_state_changed_event() + async def async_update(self) -> None: + """Poll present_value from the cluster.""" + await safe_read( + self._cluster, + [AnalogOutput.AttributeDefs.present_value.name], + allow_cache=False, + only_cache=False, + ) + self.maybe_emit_state_changed_event() + def handle_attribute_updated( self, event: AttributeReadEvent diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index a4ac9fb40..5ed2c47c9 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -1072,8 +1072,9 @@ def _measurement_type(self) -> str | None: ) if meas_type is None: return None - meas_type = ElectricalMeasurement.MeasurementType(meas_type) - return ", ".join(m.name for m in meas_type) + return ", ".join( + m.name for m in ElectricalMeasurement.MeasurementType(meas_type) + ) @property def state(self) -> dict[str, Any]: @@ -1096,7 +1097,13 @@ def _multiplier(self) -> int | float | None: if not self._multiplier_attribute_name: return super()._multiplier - return self._cluster.get(self._multiplier_attribute_name) + return ( + self._cluster.get(self._multiplier_attribute_name) + or self._cluster.get( + ElectricalMeasurement.AttributeDefs.power_multiplier.name + ) + or 1 + ) @_multiplier.setter def _multiplier(self, value: int | float | None) -> None: @@ -1107,7 +1114,11 @@ def _divisor(self) -> int | float | None: if not self._divisor_attribute_name: return super()._divisor - return self._cluster.get(self._divisor_attribute_name) or 1 + return ( + self._cluster.get(self._divisor_attribute_name) + or self._cluster.get(ElectricalMeasurement.AttributeDefs.power_divisor.name) + or 1 + ) @_divisor.setter def _divisor(self, value: int | float | None) -> None: @@ -1190,6 +1201,8 @@ async def async_update(self) -> None: for attr in _ELECTRICAL_MEASUREMENT_POLLING_ATTRS if not self._cluster.is_attribute_unsupported(attr) ] + if not attrs: + return await safe_read(self._cluster, attrs, allow_cache=False, only_cache=False) self.maybe_emit_state_changed_event() From c8113568aba3807483f9c709059392048266511a Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 17 May 2026 03:40:49 -0400 Subject: [PATCH 29/85] WIP: Begin stripping cluster handler references --- tests/test_sensor.py | 4 +- zha/application/const.py | 2 +- zha/application/discovery.py | 117 +++++++++----------- zha/application/helpers.py | 10 +- zha/application/platforms/fan/__init__.py | 43 ++++++- zha/application/platforms/light/__init__.py | 6 +- zha/zigbee/cluster_config.py | 2 +- 7 files changed, 104 insertions(+), 80 deletions(-) diff --git a/tests/test_sensor.py b/tests/test_sensor.py index 9b1f6acab..ae3b8593c 100644 --- a/tests/test_sensor.py +++ b/tests/test_sensor.py @@ -39,7 +39,7 @@ zigpy_device_from_json, ) from zha.application import Platform -from zha.application.const import ZHA_CLUSTER_HANDLER_READS_PER_REQ +from zha.application.const import CLUSTER_READS_PER_REQ from zha.application.gateway import Gateway from zha.application.platforms import PlatformEntity, sensor from zha.application.platforms.sensor import ( @@ -1471,7 +1471,7 @@ async def test_elec_measurement_skip_unsupported_attribute( await entity.async_update() await zha_dev.gateway.async_block_till_done() assert cluster.read_attributes.call_count == math.ceil( - len(supported_attributes) / ZHA_CLUSTER_HANDLER_READS_PER_REQ + len(supported_attributes) / CLUSTER_READS_PER_REQ ) read_attrs = { a for call in cluster.read_attributes.call_args_list for a in call[0][0] diff --git a/zha/application/const.py b/zha/application/const.py index 8ac116fc2..149ec885a 100644 --- a/zha/application/const.py +++ b/zha/application/const.py @@ -190,7 +190,7 @@ def pretty_name(self) -> str: ZHA_CLUSTER_HANDLER_MSG_CFG_RPT = "zha_channel_configure_reporting" ZHA_CLUSTER_HANDLER_MSG_DATA = "zha_channel_msg_data" ZHA_CLUSTER_HANDLER_CFG_DONE = "zha_channel_cfg_done" -ZHA_CLUSTER_HANDLER_READS_PER_REQ = 5 +CLUSTER_READS_PER_REQ = 5 ZHA_EVENT = "zha_event" ZHA_DEVICE_UPDATED_EVENT = "zha_device_updated_event" ZHA_DEVICE_ENTITY_ADDED_EVENT = "zha_device_entity_added_event" diff --git a/zha/application/discovery.py b/zha/application/discovery.py index a5687fc4d..6f83335bc 100644 --- a/zha/application/discovery.py +++ b/zha/application/discovery.py @@ -4,7 +4,6 @@ from collections import Counter, defaultdict from collections.abc import Callable, Iterator -from dataclasses import astuple import functools import itertools import logging @@ -27,7 +26,9 @@ from zha.application.platforms import ( # noqa: F401 pylint: disable=unused-import ENTITY_REGISTRY, GROUP_ENTITY_REGISTRY, + AttrConfig, BaseEntity, + ClusterConfig, ClusterMatch, PlatformEntity, PlatformFeatureGroup, @@ -291,21 +292,6 @@ def discover_quirks_v2_entities(device: Device) -> Iterator[PlatformEntity]: ) continue - if cluster_type is ClusterType.Server: - cluster_handler = endpoint.all_cluster_handlers.get( - f"{endpoint.id}:0x{cluster.cluster_id:04x}" - ) - else: - cluster_handler = endpoint.client_cluster_handlers.get( - f"{endpoint.id}:0x{cluster.cluster_id:04x}_client" - ) - - assert cluster_handler - - # flags to determine if we need to claim/bind the cluster handler - attribute_initialization_found: bool = False - reporting_found: bool = False - for entity_metadata in entity_metadata_list: platform = Platform(entity_metadata.entity_platform.value) metadata_type = type(entity_metadata) @@ -326,68 +312,65 @@ def discover_quirks_v2_entities(device: Device) -> Iterator[PlatformEntity]: ) continue - # process the entity metadata for ZCL_INIT_ATTRS and REPORT_CONFIG - if attr_name := getattr(entity_metadata, "attribute_name", None): - # TODO: ignore "attribute write buttons"? currently, we claim ch - # if the entity has a reporting config, add it to the cluster handler - if rep_conf := getattr(entity_metadata, "reporting_config", None): - # if attr is already in REPORT_CONFIG, remove it first - cluster_handler.REPORT_CONFIG = tuple( - filter( - lambda cfg: cfg["attr"] != attr_name, - cluster_handler.REPORT_CONFIG, - ) - ) - # tuples are immutable and we re-set the REPORT_CONFIG here, - # so no need to check for an instance variable - cluster_handler.REPORT_CONFIG += ( - AttrReportConfig(attr=attr_name, config=astuple(rep_conf)), - ) - # mark cluster handler for claiming and binding later - reporting_found = True - - # not in REPORT_CONFIG, add to ZCL_INIT_ATTRS if it not already in - elif attr_name not in cluster_handler.ZCL_INIT_ATTRS: - # copy existing ZCL_INIT_ATTRS into instance variable once, - # so we don't modify other instances of the same cluster handler - if zha_const.ZCL_INIT_ATTRS not in cluster_handler.__dict__: - cluster_handler.ZCL_INIT_ATTRS = ( - cluster_handler.ZCL_INIT_ATTRS.copy() - ) - # add the attribute to the guaranteed instance variable - cluster_handler.ZCL_INIT_ATTRS[attr_name] = ( - entity_metadata.attribute_initialized_from_cache - ) - # mark cluster handler for claiming later, but not binding - attribute_initialization_found = True - - yield entity_class( + entity = entity_class( endpoint=endpoint, device=device, entity_metadata=entity_metadata, legacy_discovery_unique_id=f"{device.ieee}-{endpoint.id}", ) + # Translate quirks v2 reporting/attribute-init metadata into a + # per-instance cluster config that the cluster_config aggregator + # picks up alongside the entity's normal (class-level) declarations. + if attr_name := getattr(entity_metadata, "attribute_name", None): + rep_conf = getattr(entity_metadata, "reporting_config", None) + if rep_conf is not None: + attr_config = AttrConfig( + read_on_startup=False, + reporting=( + rep_conf.min_interval, + rep_conf.max_interval, + rep_conf.reportable_change, + ), + ) + bind = True + else: + attr_config = AttrConfig( + read_on_startup=( + not entity_metadata.attribute_initialized_from_cache + ), + ) + bind = False + + cluster_config_map = ( + "_server_cluster_config" + if cluster_type is ClusterType.Server + else "_client_cluster_config" + ) + # Keep attr_name as a string here — quirks v2 entities can + # reference attribute names that aren't part of the cluster's + # attribute schema (e.g. manufacturer-specific extensions); + # aggregation/configure handle both name and ZCLAttributeDef. + setattr( + entity, + cluster_config_map, + { + cluster.cluster_id: ClusterConfig( + bind=bind, + attributes={attr_name: attr_config}, + ), + }, + ) + + yield entity + _LOGGER.debug( - "'%s' platform -> '%s' using %s", + "'%s' platform -> '%s' using cluster 0x%04x", platform, entity_class.__name__, - [cluster_handler.name], + cluster.cluster_id, ) - # if the cluster handler is unclaimed, claim it and set BIND accordingly, - # so ZHA configures the cluster handler: reporting + reads attributes - if (attribute_initialization_found or reporting_found) and ( - cluster_handler not in endpoint.claimed_cluster_handlers.values() - ): - endpoint.claim_cluster_handlers([cluster_handler]) - # BIND is True by default, so only set to False if no reporting found. - # We can safely do this, since quirks v2 entities are initialized last, - # so if the cluster handler wasn't claimed by endpoint probing so far, - # only v2 entities need it. - if not reporting_found: - cluster_handler.BIND = False - def _is_renamed_cluster(cluster: Cluster) -> bool: """Return True if a quirk has renamed the cluster's ep_attribute.""" diff --git a/zha/application/helpers.py b/zha/application/helpers.py index 199690995..c8ea3cba3 100644 --- a/zha/application/helpers.py +++ b/zha/application/helpers.py @@ -32,7 +32,7 @@ CLUSTER_TYPE_OUT, CONF_DEFAULT_CONSIDER_UNAVAILABLE_BATTERY, CONF_DEFAULT_CONSIDER_UNAVAILABLE_MAINS, - ZHA_CLUSTER_HANDLER_READS_PER_REQ, + CLUSTER_READS_PER_REQ, ) from zha.async_ import gather_with_limited_concurrency from zha.decorators import periodic @@ -77,16 +77,16 @@ async def safe_read( ): """Swallow all exceptions from network read. - Reads are chunked into batches of ZHA_CLUSTER_HANDLER_READS_PER_REQ since - devices commonly cap how many attributes can be read in one request. + Reads are chunked into batches of CLUSTER_READS_PER_REQ since devices + commonly cap how many attributes can be read in one request. If we throw during initialization, setup fails. Rather have an entity that exists, but is in a maybe wrong state, than no entity. This method should probably only be used during initialization. """ result: dict = {} - for i in range(0, len(attributes), ZHA_CLUSTER_HANDLER_READS_PER_REQ): - chunk = attributes[i : i + ZHA_CLUSTER_HANDLER_READS_PER_REQ] + for i in range(0, len(attributes), CLUSTER_READS_PER_REQ): + chunk = attributes[i : i + CLUSTER_READS_PER_REQ] try: chunk_result, _ = await cluster.read_attributes( chunk, diff --git a/zha/application/platforms/fan/__init__.py b/zha/application/platforms/fan/__init__.py index c2ed6f387..14416bc0d 100644 --- a/zha/application/platforms/fan/__init__.py +++ b/zha/application/platforms/fan/__init__.py @@ -53,7 +53,11 @@ ) from zha.exceptions import wrap_zigpy_exceptions from zha.zigbee.cluster_ids import IKEA_AIR_PURIFIER_CLUSTER -from zha.zigbee.reporting import REPORT_CONFIG_OP +from zha.zigbee.reporting import ( + REPORT_CONFIG_DEFAULT, + REPORT_CONFIG_IMMEDIATE, + REPORT_CONFIG_OP, +) from zha.zigbee.group import Group if TYPE_CHECKING: @@ -413,6 +417,43 @@ class IkeaFan(BaseFan, PlatformEntity): models=frozenset({"STARKVIND Air purifier", "STARKVIND Air purifier table"}), ) + # Aggregated reporting/bind config for the whole STARKVIND manufacturer + # cluster; sibling ChildLock/DisableLed switches don't need their own. + _server_cluster_config = { + IKEA_AIR_PURIFIER_CLUSTER: ClusterConfig( + bind=True, + attributes={ + "filter_run_time": AttrConfig( + read_on_startup=False, reporting=REPORT_CONFIG_DEFAULT + ), + "replace_filter": AttrConfig( + read_on_startup=False, reporting=REPORT_CONFIG_IMMEDIATE + ), + "filter_life_time": AttrConfig( + read_on_startup=False, reporting=REPORT_CONFIG_DEFAULT + ), + "disable_led": AttrConfig( + read_on_startup=False, reporting=REPORT_CONFIG_IMMEDIATE + ), + "air_quality_25pm": AttrConfig( + read_on_startup=False, reporting=REPORT_CONFIG_IMMEDIATE + ), + "child_lock": AttrConfig( + read_on_startup=False, reporting=REPORT_CONFIG_IMMEDIATE + ), + "fan_mode": AttrConfig( + read_on_startup=False, reporting=REPORT_CONFIG_IMMEDIATE + ), + "fan_speed": AttrConfig( + read_on_startup=False, reporting=REPORT_CONFIG_IMMEDIATE + ), + "device_run_time": AttrConfig( + read_on_startup=False, reporting=REPORT_CONFIG_DEFAULT + ), + }, + ), + } + def __init__( self, endpoint: Endpoint, diff --git a/zha/application/platforms/light/__init__.py b/zha/application/platforms/light/__init__.py index fe14afcc8..0b365cbae 100644 --- a/zha/application/platforms/light/__init__.py +++ b/zha/application/platforms/light/__init__.py @@ -263,7 +263,7 @@ def restore_external_state_attributes( self._effect = effect -class BaseClusterHandlerLight(BaseLight): +class BaseSharedLight(BaseLight): """Operations common to all light entities.""" _FORCE_ON = False @@ -883,7 +883,7 @@ async def on_remove(self) -> None: @register_entity(OnOff.cluster_id) -class Light(BaseClusterHandlerLight, PlatformEntity): +class Light(BaseSharedLight, PlatformEntity): """Representation of a ZHA or ZLL light.""" _attr_translation_key: str = "light" @@ -1353,7 +1353,7 @@ class MinTransitionLight(Light): @register_group_entity -class LightGroup(BaseClusterHandlerLight, GroupEntity): +class LightGroup(BaseSharedLight, GroupEntity): """Representation of a light group.""" _attr_always_supported = True diff --git a/zha/zigbee/cluster_config.py b/zha/zigbee/cluster_config.py index a5c04ecf5..2028b670e 100644 --- a/zha/zigbee/cluster_config.py +++ b/zha/zigbee/cluster_config.py @@ -14,7 +14,7 @@ from zigpy.zcl.foundation import Status from zha.application.platforms import AttrConfig -from zha.zigbee.cluster_handlers.const import CLUSTER_READS_PER_REQ +from zha.application.const import CLUSTER_READS_PER_REQ if TYPE_CHECKING: from collections.abc import Iterable From 02eacd7ab51f71f8f08f930f51ae26959a4ea381 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 17 May 2026 11:48:42 -0400 Subject: [PATCH 30/85] WIP: finish stripping cluster handlers --- tests/conftest.py | 12 +- tests/test_binary_sensor.py | 2 +- tests/test_cluster_handlers.py | 1515 ----------------- tests/test_cover.py | 15 - tests/test_device.py | 40 +- tests/test_discover.py | 12 +- tests/test_gateway.py | 39 +- tests/test_sensor.py | 14 - tests/test_switch.py | 9 +- zha/application/discovery.py | 28 - zha/application/helpers.py | 28 +- zha/application/platforms/light/__init__.py | 8 +- zha/application/platforms/virtual.py | 50 + zha/zigbee/cluster_handlers/__init__.py | 755 -------- zha/zigbee/cluster_handlers/closures.py | 167 -- zha/zigbee/cluster_handlers/const.py | 121 -- zha/zigbee/cluster_handlers/general.py | 467 ----- zha/zigbee/cluster_handlers/helpers.py | 23 - zha/zigbee/cluster_handlers/homeautomation.py | 342 ---- zha/zigbee/cluster_handlers/hvac.py | 302 ---- zha/zigbee/cluster_handlers/lighting.py | 148 -- zha/zigbee/cluster_handlers/lightlink.py | 16 - .../cluster_handlers/manufacturerspecific.py | 154 -- zha/zigbee/cluster_handlers/measurement.py | 45 - zha/zigbee/cluster_handlers/registries.py | 13 - zha/zigbee/cluster_handlers/security.py | 340 ---- zha/zigbee/cluster_handlers/smartenergy.py | 255 --- zha/zigbee/device.py | 95 +- zha/zigbee/endpoint.py | 229 +-- 29 files changed, 209 insertions(+), 5035 deletions(-) delete mode 100644 tests/test_cluster_handlers.py delete mode 100644 zha/zigbee/cluster_handlers/__init__.py delete mode 100644 zha/zigbee/cluster_handlers/closures.py delete mode 100644 zha/zigbee/cluster_handlers/const.py delete mode 100644 zha/zigbee/cluster_handlers/general.py delete mode 100644 zha/zigbee/cluster_handlers/helpers.py delete mode 100644 zha/zigbee/cluster_handlers/homeautomation.py delete mode 100644 zha/zigbee/cluster_handlers/hvac.py delete mode 100644 zha/zigbee/cluster_handlers/lighting.py delete mode 100644 zha/zigbee/cluster_handlers/lightlink.py delete mode 100644 zha/zigbee/cluster_handlers/manufacturerspecific.py delete mode 100644 zha/zigbee/cluster_handlers/measurement.py delete mode 100644 zha/zigbee/cluster_handlers/registries.py delete mode 100644 zha/zigbee/cluster_handlers/security.py delete mode 100644 zha/zigbee/cluster_handlers/smartenergy.py diff --git a/tests/conftest.py b/tests/conftest.py index 990d3e1ba..d8f722a02 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -344,9 +344,15 @@ async def zha_gateway( def disable_request_retry_delay(): """Disable ZHA request retrying delay to speed up failures.""" - with patch( - "zha.zigbee.cluster_handlers.RETRYABLE_REQUEST_DECORATOR", - zigpy.util.retryable_request(tries=3, delay=0), + with ( + patch( + "zha.application.helpers.RETRYABLE_REQUEST_DECORATOR", + zigpy.util.retryable_request(tries=3, delay=0), + ), + patch( + "zha.zigbee.cluster_config.RETRYABLE_REQUEST_DECORATOR", + zigpy.util.retryable_request(tries=3, delay=0), + ), ): yield diff --git a/tests/test_binary_sensor.py b/tests/test_binary_sensor.py index 35a74cb05..2b3159be5 100644 --- a/tests/test_binary_sensor.py +++ b/tests/test_binary_sensor.py @@ -36,7 +36,7 @@ IASZone, Occupancy, ) -from zha.zigbee.cluster_handlers.const import SMARTTHINGS_ACCELERATION_CLUSTER +from zha.zigbee.cluster_ids import SMARTTHINGS_ACCELERATION_CLUSTER DEVICE_IAS = { 1: { diff --git a/tests/test_cluster_handlers.py b/tests/test_cluster_handlers.py deleted file mode 100644 index 5bbe21549..000000000 --- a/tests/test_cluster_handlers.py +++ /dev/null @@ -1,1515 +0,0 @@ -"""Test ZHA Core cluster_handlers.""" - -# pylint:disable=redefined-outer-name,too-many-lines - -from __future__ import annotations - -import logging -import math -from typing import TYPE_CHECKING, Any -from unittest import mock -from unittest.mock import AsyncMock, MagicMock, call, patch - -import pytest -from zhaquirks.centralite.cl_3130 import CentraLite3130 -from zhaquirks.xiaomi.aqara.sensor_switch_aq3 import BUTTON_DEVICE_TYPE, SwitchAQ3 -from zigpy.device import Device as ZigpyDevice -from zigpy.endpoint import Endpoint as ZigpyEndpoint -import zigpy.exceptions -import zigpy.profiles.zha -from zigpy.quirks import DEVICE_REGISTRY -import zigpy.types as t -from zigpy.zcl import foundation -import zigpy.zcl.clusters -from zigpy.zcl.clusters import CLUSTERS_BY_ID -from zigpy.zcl.clusters.general import ( - Basic, - Identify, - LevelControl, - MultistateInput, - OnOff, - Ota, - PollControl, - PowerConfiguration, -) -from zigpy.zcl.clusters.homeautomation import Diagnostic -from zigpy.zcl.clusters.lighting import Color -from zigpy.zcl.clusters.measurement import TemperatureMeasurement -from zigpy.zcl.helpers import ReportingConfig -import zigpy.zdo.types as zdo_t - -from tests.common import ( - SIG_EP_INPUT, - SIG_EP_OUTPUT, - SIG_EP_PROFILE, - SIG_EP_TYPE, - create_mock_zigpy_device, - get_entity, - join_zigpy_device, - send_attributes_report, - zigpy_device_from_json, -) -from zha.application import Platform -from zha.application.const import ( - ATTR_QUIRK_ID, - ZHA_CLUSTER_HANDLER_MSG_BIND, - ZHA_CLUSTER_HANDLER_MSG_CFG_RPT, -) -from zha.application.gateway import Gateway -from zha.application.platforms.button import IdentifyButton -from zha.exceptions import ZHAException -from zha.zigbee.cluster_handlers import ( - AttrReportConfig, - ClientClusterHandler, - ClusterBindEvent, - ClusterConfigureReportingEvent, - ClusterHandler, - ClusterHandlerStatus, - parse_and_log_command, - retry_request, -) -from zha.zigbee.cluster_handlers.const import ( - CLUSTER_HANDLER_COLOR, - CLUSTER_HANDLER_LEVEL, - CLUSTER_HANDLER_ON_OFF, -) -from zha.zigbee.cluster_handlers.lighting import ColorClusterHandler -from zha.zigbee.cluster_handlers.lightlink import LightLinkClusterHandler -from zha.zigbee.cluster_handlers.registries import ( - CLIENT_CLUSTER_HANDLER_REGISTRY, - CLUSTER_HANDLER_REGISTRY, -) -from zha.zigbee.device import Device -from zha.zigbee.endpoint import Endpoint - - -@pytest.fixture -def ieee(): - """IEEE fixture.""" - return t.EUI64.deserialize(b"ieeeaddr")[0] - - -@pytest.fixture -def nwk(): - """NWK fixture.""" - return t.NWK(0xBEEF) - - -def zigpy_coordinator_device_mock(zha_gateway: Gateway) -> ZigpyDevice: - """Coordinator device fixture.""" - - coordinator = create_mock_zigpy_device( - zha_gateway, - { - 1: { - SIG_EP_INPUT: [0x1000], - SIG_EP_OUTPUT: [], - SIG_EP_TYPE: 0x1234, - SIG_EP_PROFILE: 0x0104, - } - }, - "00:11:22:33:44:55:66:77", - "test manufacturer", - "test model", - nwk=0x0000, - ) - coordinator.add_to_group = AsyncMock(return_value=[0]) - return coordinator - - -def endpoint_mock(zigpy_coordinator_device: ZigpyDevice) -> Endpoint: - """Endpoint cluster_handlers fixture.""" - endpoint_mock = mock.MagicMock(spec_set=Endpoint) - endpoint_mock.zigpy_endpoint.device.application.get_device.return_value = ( - zigpy_coordinator_device - ) - endpoint_mock.device.skip_configuration = False - endpoint_mock.id = 1 - return endpoint_mock - - -@pytest.mark.parametrize( - ("cluster_id", "bind_count", "attrs"), - [ - (zigpy.zcl.clusters.general.Basic.cluster_id, 0, set()), - ( - zigpy.zcl.clusters.general.PowerConfiguration.cluster_id, - 1, - {"battery_voltage", "battery_percentage_remaining"}, - ), - ( - zigpy.zcl.clusters.general.DeviceTemperature.cluster_id, - 1, - {"current_temperature"}, - ), - (zigpy.zcl.clusters.general.Identify.cluster_id, 0, set()), - (zigpy.zcl.clusters.general.Groups.cluster_id, 0, set()), - (zigpy.zcl.clusters.general.Scenes.cluster_id, 1, set()), - (zigpy.zcl.clusters.general.OnOff.cluster_id, 1, {"on_off"}), - (zigpy.zcl.clusters.general.OnOffConfiguration.cluster_id, 1, set()), - (zigpy.zcl.clusters.general.LevelControl.cluster_id, 1, {"current_level"}), - (zigpy.zcl.clusters.general.Alarms.cluster_id, 1, set()), - (zigpy.zcl.clusters.general.AnalogInput.cluster_id, 1, {"present_value"}), - (zigpy.zcl.clusters.general.AnalogOutput.cluster_id, 1, {"present_value"}), - (zigpy.zcl.clusters.general.AnalogValue.cluster_id, 1, {"present_value"}), - (zigpy.zcl.clusters.general.AnalogOutput.cluster_id, 1, {"present_value"}), - (zigpy.zcl.clusters.general.BinaryOutput.cluster_id, 1, {"present_value"}), - (zigpy.zcl.clusters.general.BinaryValue.cluster_id, 1, {"present_value"}), - (zigpy.zcl.clusters.general.MultistateInput.cluster_id, 1, {"present_value"}), - (zigpy.zcl.clusters.general.MultistateOutput.cluster_id, 1, {"present_value"}), - (zigpy.zcl.clusters.general.MultistateValue.cluster_id, 1, {"present_value"}), - (zigpy.zcl.clusters.general.Commissioning.cluster_id, 1, set()), - (zigpy.zcl.clusters.general.Partition.cluster_id, 1, set()), - (zigpy.zcl.clusters.general.Ota.cluster_id, 0, set()), - (zigpy.zcl.clusters.general.PowerProfile.cluster_id, 1, set()), - (zigpy.zcl.clusters.general.ApplianceControl.cluster_id, 1, set()), - (zigpy.zcl.clusters.general.GreenPowerProxy.cluster_id, 0, set()), - (zigpy.zcl.clusters.closures.DoorLock.cluster_id, 1, {"lock_state"}), - ( - zigpy.zcl.clusters.hvac.Thermostat.cluster_id, - 1, - { - "local_temperature", - "occupied_cooling_setpoint", - "occupied_heating_setpoint", - "unoccupied_cooling_setpoint", - "unoccupied_heating_setpoint", - "running_mode", - "running_state", - "system_mode", - "occupancy", - "pi_cooling_demand", - "pi_heating_demand", - }, - ), - (zigpy.zcl.clusters.hvac.Fan.cluster_id, 1, {"fan_mode"}), - ( - Color.cluster_id, - 1, - { - "current_x", - "current_y", - "color_temperature", - }, - ), - ( - zigpy.zcl.clusters.measurement.IlluminanceMeasurement.cluster_id, - 1, - {"measured_value"}, - ), - ( - zigpy.zcl.clusters.measurement.IlluminanceLevelSensing.cluster_id, - 1, - {"level_status"}, - ), - ( - zigpy.zcl.clusters.measurement.TemperatureMeasurement.cluster_id, - 1, - {"measured_value"}, - ), - ( - zigpy.zcl.clusters.measurement.PressureMeasurement.cluster_id, - 1, - {"measured_value"}, - ), - ( - zigpy.zcl.clusters.measurement.FlowMeasurement.cluster_id, - 1, - {"measured_value"}, - ), - ( - zigpy.zcl.clusters.measurement.RelativeHumidity.cluster_id, - 1, - {"measured_value"}, - ), - (zigpy.zcl.clusters.measurement.OccupancySensing.cluster_id, 1, {"occupancy"}), - ( - zigpy.zcl.clusters.smartenergy.Metering.cluster_id, - 1, - { - "instantaneous_demand", - "current_summ_delivered", - "current_tier1_summ_delivered", - "current_tier2_summ_delivered", - "current_tier3_summ_delivered", - "current_tier4_summ_delivered", - "current_tier5_summ_delivered", - "current_tier6_summ_delivered", - "current_summ_received", - "status", - }, - ), - ( - zigpy.zcl.clusters.homeautomation.ElectricalMeasurement.cluster_id, - 1, - { - "ac_current_divisor", - "ac_current_multiplier", - "ac_frequency", - "ac_power_divisor", - "ac_power_multiplier", - "ac_voltage_divisor", - "ac_voltage_multiplier", - "active_power", - "active_power_ph_b", - "active_power_ph_c", - "total_active_power", - "apparent_power", - "dc_current", - "dc_current_divisor", - "dc_current_multiplier", - "dc_power", - "dc_power_divisor", - "dc_power_multiplier", - "dc_voltage", - "dc_voltage_divisor", - "dc_voltage_multiplier", - "power_divisor", - "power_multiplier", - "rms_current", - "rms_current_ph_b", - "rms_current_ph_c", - "rms_voltage", - "rms_voltage_ph_b", - "rms_voltage_ph_c", - }, - ), - ], -) -async def test_in_cluster_handler_config( - cluster_id, bind_count, attrs, zha_gateway: Gateway -) -> None: - """Test ZHA core cluster handler configuration for input clusters.""" - zigpy_coordinator_device: ZigpyDevice = zigpy_coordinator_device_mock(zha_gateway) - endpoint: Endpoint = endpoint_mock(zigpy_coordinator_device) - zigpy_dev = create_mock_zigpy_device( - zha_gateway, - {1: {SIG_EP_INPUT: [cluster_id], SIG_EP_OUTPUT: [], SIG_EP_TYPE: 0x1234}}, - "00:11:22:33:44:55:66:77", - "test manufacturer", - "test model", - ) - - cluster = zigpy_dev.endpoints[1].in_clusters[cluster_id] - cluster_handler_class: type[ClusterHandler] | None = CLUSTER_HANDLER_REGISTRY.get( - cluster_id, {None, ClusterHandler} - ).get(None) - assert cluster_handler_class is not None - cluster_handler = cluster_handler_class(cluster, endpoint) - - assert cluster_handler.status == ClusterHandlerStatus.CREATED - - if TYPE_CHECKING: - # Workaround for https://github.com/python/mypy/issues/9005 - assert cluster_handler.status != ClusterHandlerStatus.CREATED - - await cluster_handler.async_configure() - - assert cluster_handler.status == ClusterHandlerStatus.CONFIGURED - - assert cluster.bind.call_count == bind_count - - reported_attrs = set() - - for mock_call in cluster.configure_reporting_multiple.mock_calls: - reported_attrs.update(attr_def.name for attr_def in mock_call.args[0]) - - assert attrs == reported_attrs - assert cluster.configure_reporting.call_count == 0 - assert cluster.configure_reporting_multiple.call_count == math.ceil(len(attrs) / 3) - - -async def test_cluster_handler_bind_error( - zha_gateway: Gateway, - caplog: pytest.LogCaptureFixture, -) -> None: - """Test ZHA core cluster handler bind error.""" - zigpy_coordinator_device: ZigpyDevice = zigpy_coordinator_device_mock(zha_gateway) - endpoint: Endpoint = endpoint_mock(zigpy_coordinator_device) - zigpy_dev = create_mock_zigpy_device( - zha_gateway, - {1: {SIG_EP_INPUT: [OnOff.cluster_id], SIG_EP_OUTPUT: [], SIG_EP_TYPE: 0x1234}}, - "00:11:22:33:44:55:66:77", - "test manufacturer", - "test model", - ) - - cluster: zigpy.zcl.Cluster = zigpy_dev.endpoints[1].in_clusters[OnOff.cluster_id] - cluster.bind.side_effect = zigpy.exceptions.ZigbeeException - - cluster_handler_class: type[ClusterHandler] | None = CLUSTER_HANDLER_REGISTRY.get( - OnOff.cluster_id, {None, ClusterHandler} - ).get(None) - assert cluster_handler_class is not None - cluster_handler = cluster_handler_class(cluster, endpoint) - - await cluster_handler.async_configure() - - assert cluster.bind.await_count == 3 - assert cluster.configure_reporting.await_count == 0 - assert f"Failed to bind '{cluster.ep_attribute}' cluster:" in caplog.text - - -async def test_cluster_handler_configure_reporting_error( - zha_gateway: Gateway, - caplog: pytest.LogCaptureFixture, -) -> None: - """Test ZHA core cluster handler configure reporting error.""" - zigpy_coordinator_device: ZigpyDevice = zigpy_coordinator_device_mock(zha_gateway) - endpoint: Endpoint = endpoint_mock(zigpy_coordinator_device) - zigpy_dev = create_mock_zigpy_device( - zha_gateway, - {1: {SIG_EP_INPUT: [OnOff.cluster_id], SIG_EP_OUTPUT: [], SIG_EP_TYPE: 0x1234}}, - "00:11:22:33:44:55:66:77", - "test manufacturer", - "test model", - ) - - cluster: zigpy.zcl.Cluster = zigpy_dev.endpoints[1].in_clusters[OnOff.cluster_id] - cluster.configure_reporting_multiple.side_effect = zigpy.exceptions.ZigbeeException - - cluster_handler_class: type[ClusterHandler] | None = CLUSTER_HANDLER_REGISTRY.get( - OnOff.cluster_id, {None, ClusterHandler} - ).get(None) - assert cluster_handler_class is not None - cluster_handler = cluster_handler_class(cluster, endpoint) - - await cluster_handler.async_configure() - - assert cluster.bind.await_count == 1 - assert cluster.configure_reporting_multiple.await_count == 3 - assert f"failed to set reporting on '{cluster.ep_attribute}' cluster" in caplog.text - - -async def test_write_attributes_safe_key_error(zha_gateway: Gateway) -> None: - """Test ZHA core cluster handler write attributes safe key error.""" - zigpy_coordinator_device: ZigpyDevice = zigpy_coordinator_device_mock(zha_gateway) - endpoint: Endpoint = endpoint_mock(zigpy_coordinator_device) - zigpy_dev = create_mock_zigpy_device( - zha_gateway, - {1: {SIG_EP_INPUT: [OnOff.cluster_id], SIG_EP_OUTPUT: [], SIG_EP_TYPE: 0x1234}}, - "00:11:22:33:44:55:66:77", - "test manufacturer", - "test model", - ) - - cluster: zigpy.zcl.Cluster = zigpy_dev.endpoints[1].in_clusters[OnOff.cluster_id] - cluster.write_attributes = AsyncMock( - return_value=[ - foundation.WriteAttributesResponse.deserialize(b"\x01\x00\x00")[0] - ] - ) - - cluster_handler_class: type[ClusterHandler] | None = CLUSTER_HANDLER_REGISTRY.get( - OnOff.cluster_id, {None, ClusterHandler} - ).get(None) - assert cluster_handler_class is not None - cluster_handler = cluster_handler_class(cluster, endpoint) - - with pytest.raises(ZHAException, match="Failed to write attribute on_off=bar"): - await cluster_handler.write_attributes_safe( - {OnOff.AttributeDefs.on_off.name: "bar"} - ) - - -async def test_get_attributes_error( - zha_gateway: Gateway, - caplog: pytest.LogCaptureFixture, -) -> None: - """Test ZHA core cluster handler get attributes timeout error.""" - zigpy_coordinator_device: ZigpyDevice = zigpy_coordinator_device_mock(zha_gateway) - endpoint: Endpoint = endpoint_mock(zigpy_coordinator_device) - zigpy_dev = create_mock_zigpy_device( - zha_gateway, - {1: {SIG_EP_INPUT: [OnOff.cluster_id], SIG_EP_OUTPUT: [], SIG_EP_TYPE: 0x1234}}, - "00:11:22:33:44:55:66:77", - "test manufacturer", - "test model", - ) - - cluster: zigpy.zcl.Cluster = zigpy_dev.endpoints[1].in_clusters[OnOff.cluster_id] - cluster.read_attributes.side_effect = zigpy.exceptions.ZigbeeException - - cluster_handler_class: type[ClusterHandler] | None = CLUSTER_HANDLER_REGISTRY.get( - OnOff.cluster_id, {None, ClusterHandler} - ).get(None) - assert cluster_handler_class is not None - cluster_handler = cluster_handler_class(cluster, endpoint) - - await cluster_handler.get_attributes(["foo"]) - - assert ( - f"failed to get attributes '['foo']' on '{OnOff.ep_attribute}' cluster" - in caplog.text - ) - - -async def test_get_attributes_error_raises( - zha_gateway: Gateway, - caplog: pytest.LogCaptureFixture, -) -> None: - """Test ZHA core cluster handler get attributes timeout error.""" - zigpy_coordinator_device: ZigpyDevice = zigpy_coordinator_device_mock(zha_gateway) - endpoint: Endpoint = endpoint_mock(zigpy_coordinator_device) - zigpy_dev = create_mock_zigpy_device( - zha_gateway, - {1: {SIG_EP_INPUT: [OnOff.cluster_id], SIG_EP_OUTPUT: [], SIG_EP_TYPE: 0x1234}}, - "00:11:22:33:44:55:66:77", - "test manufacturer", - "test model", - ) - - cluster: zigpy.zcl.Cluster = zigpy_dev.endpoints[1].in_clusters[OnOff.cluster_id] - cluster.read_attributes.side_effect = zigpy.exceptions.ZigbeeException - - cluster_handler_class: type[ClusterHandler] | None = CLUSTER_HANDLER_REGISTRY.get( - OnOff.cluster_id, {None, ClusterHandler} - ).get(None) - assert cluster_handler_class is not None - cluster_handler = cluster_handler_class(cluster, endpoint) - - with pytest.raises(zigpy.exceptions.ZigbeeException): - await cluster_handler._get_attributes(True, ["foo"]) - - assert ( - f"failed to get attributes '['foo']' on '{OnOff.ep_attribute}' cluster" - in caplog.text - ) - - -@pytest.mark.parametrize( - ("cluster_id", "bind_count"), - [ - (0x0000, 0), - (0x0001, 1), - (0x0002, 1), - (0x0003, 0), - (0x0004, 0), - (0x0005, 1), - (0x0006, 1), - (0x0007, 1), - (0x0008, 1), - (0x0009, 1), - (0x0015, 1), - (0x0016, 1), - (0x0019, 0), - (0x001A, 1), - (0x001B, 1), - (0x0020, 1), - (0x0021, 0), - (0x0101, 1), - (0x0202, 1), - (0x0300, 1), - (0x0400, 1), - (0x0402, 1), - (0x0403, 1), - (0x0405, 1), - (0x0406, 1), - (0x0702, 1), - (0x0B04, 1), - ], -) -async def test_out_cluster_handler_config( - cluster_id: int, - bind_count: int, - zha_gateway: Gateway, -) -> None: - """Test ZHA core cluster handler configuration for output clusters.""" - zigpy_coordinator_device: ZigpyDevice = zigpy_coordinator_device_mock(zha_gateway) - endpoint: Endpoint = endpoint_mock(zigpy_coordinator_device) - zigpy_dev = create_mock_zigpy_device( - zha_gateway, - {1: {SIG_EP_OUTPUT: [cluster_id], SIG_EP_INPUT: [], SIG_EP_TYPE: 0x1234}}, - "00:11:22:33:44:55:66:77", - "test manufacturer", - "test model", - ) - - cluster = zigpy_dev.endpoints[1].out_clusters[cluster_id] - cluster.bind_only = True - cluster_handler_class: type[ClusterHandler] | None = CLUSTER_HANDLER_REGISTRY.get( - cluster_id, {None: ClusterHandler} - ).get(None) - assert cluster_handler_class is not None - cluster_handler = cluster_handler_class(cluster, endpoint) - - await cluster_handler.async_configure() - - assert cluster.bind.call_count == bind_count - assert cluster.configure_reporting.call_count == 0 - - -def test_cluster_handler_registry() -> None: - """Test ZIGBEE cluster handler Registry.""" - - # get all exposed features from zigpy quirks registry - cluster_exposed_feature_map: dict[int, set[str | None]] = {} - for cluster_id in CLUSTERS_BY_ID: - cluster_exposed_feature_map[cluster_id] = {None} - - # loop over custom clusters in v2 quirks registry - for quirks in DEVICE_REGISTRY.registry_v2.values(): - for quirk_reg_entry in quirks: - # get standalone adds_metadata and adds_metadata from replaces_metadata - all_metadata = set(quirk_reg_entry.adds_metadata) | { - rm.add for rm in quirk_reg_entry.replaces_metadata - } - for metadata in all_metadata: - cluster_exposed_feature_map[metadata.cluster.cluster_id] = {None} - - # loop over custom clusters in v1 quirks registry - for manufacturer in DEVICE_REGISTRY.registry_v1.values(): - for model_quirk_list in manufacturer.values(): - for quirk in model_quirk_list: - qid: set[str] | str = getattr(quirk, ATTR_QUIRK_ID, set()) - exposed_features: set[str] = {qid} if isinstance(qid, str) else set(qid) - - device_description: dict[str, dict[str, Any]] = getattr( - quirk, "replacement", None - ) or getattr(quirk, "signature", None) - - for endpoint in device_description["endpoints"].values(): - cluster_ids = set() - if "input_clusters" in endpoint: - cluster_ids.update(endpoint["input_clusters"]) - if "output_clusters" in endpoint: - cluster_ids.update(endpoint["output_clusters"]) - for cluster_id in cluster_ids: - if not isinstance(cluster_id, int): - cluster_id = cluster_id.cluster_id - if cluster_id not in cluster_exposed_feature_map: - cluster_exposed_feature_map[cluster_id] = {None} - cluster_exposed_feature_map[cluster_id].update(exposed_features) - - for ( - cluster_id, - cluster_handler_classes, - ) in CLUSTER_HANDLER_REGISTRY.items(): - # test cluster_id is valid - assert isinstance(cluster_id, int) - assert 0 <= cluster_id <= 0xFFFF - - # test all registered clusters are used in zigpy or quirks - assert cluster_id in cluster_exposed_feature_map - - assert isinstance(cluster_handler_classes, dict) - for ch_exposed_feature, cluster_handler in cluster_handler_classes.items(): - # test cluster handler is not quirk specific - # or only has a single exposed feature - assert ch_exposed_feature is None or isinstance(ch_exposed_feature, str) - assert issubclass(cluster_handler, ClusterHandler) - - # test cluster handler exposed feature is used in quirk with that cluster - assert ch_exposed_feature in cluster_exposed_feature_map[cluster_id] - - -def test_epch_claim_cluster_handlers(cluster_handler) -> None: - """Test cluster handler claiming.""" - - ch_1 = cluster_handler(CLUSTER_HANDLER_ON_OFF, 6) - ch_2 = cluster_handler(CLUSTER_HANDLER_LEVEL, 8) - ch_3 = cluster_handler(CLUSTER_HANDLER_COLOR, 768) - - mock_dev = mock.MagicMock(spec=Device) - mock_dev.unique_id = "00:11:22:33:44:55:66:77" - - ep_cluster_handlers = Endpoint(mock.MagicMock(spec_set=ZigpyEndpoint), mock_dev) - all_cluster_handlers = {ch_1.id: ch_1, ch_2.id: ch_2, ch_3.id: ch_3} - with mock.patch.dict( - ep_cluster_handlers.all_cluster_handlers, all_cluster_handlers, clear=True - ): - assert ch_1.id not in ep_cluster_handlers.claimed_cluster_handlers - assert ch_2.id not in ep_cluster_handlers.claimed_cluster_handlers - assert ch_3.id not in ep_cluster_handlers.claimed_cluster_handlers - - ep_cluster_handlers.claim_cluster_handlers([ch_2]) - assert ch_1.id not in ep_cluster_handlers.claimed_cluster_handlers - assert ch_2.id in ep_cluster_handlers.claimed_cluster_handlers - assert ep_cluster_handlers.claimed_cluster_handlers[ch_2.id] is ch_2 - assert ch_3.id not in ep_cluster_handlers.claimed_cluster_handlers - - ep_cluster_handlers.claim_cluster_handlers([ch_3, ch_1]) - assert ch_1.id in ep_cluster_handlers.claimed_cluster_handlers - assert ep_cluster_handlers.claimed_cluster_handlers[ch_1.id] is ch_1 - assert ch_2.id in ep_cluster_handlers.claimed_cluster_handlers - assert ep_cluster_handlers.claimed_cluster_handlers[ch_2.id] is ch_2 - assert ch_3.id in ep_cluster_handlers.claimed_cluster_handlers - assert ep_cluster_handlers.claimed_cluster_handlers[ch_3.id] is ch_3 - assert "1:0x0300" in ep_cluster_handlers.claimed_cluster_handlers - - -@mock.patch("zha.zigbee.endpoint.Endpoint.add_client_cluster_handlers") -async def test_ep_cluster_handlers_all_cluster_handlers( - m1, # pylint: disable=unused-argument - zha_gateway: Gateway, -) -> None: - """Test Endpointcluster_handlers adding all cluster_handlers.""" - zha_device = await join_zigpy_device( - zha_gateway, - create_mock_zigpy_device( - zha_gateway, - { - 1: { - SIG_EP_INPUT: [0, 1, 6, 8], - SIG_EP_OUTPUT: [], - SIG_EP_TYPE: zigpy.profiles.zha.DeviceType.ON_OFF_SWITCH, - SIG_EP_PROFILE: 0x0104, - }, - 2: { - SIG_EP_INPUT: [0, 1, 6, 8, 768], - SIG_EP_OUTPUT: [], - SIG_EP_TYPE: 0x0000, - SIG_EP_PROFILE: 0x0104, - }, - }, - ), - ) - assert "1:0x0000" in zha_device._endpoints[1].all_cluster_handlers - assert "1:0x0001" in zha_device._endpoints[1].all_cluster_handlers - assert "1:0x0006" in zha_device._endpoints[1].all_cluster_handlers - assert "1:0x0008" in zha_device._endpoints[1].all_cluster_handlers - assert "1:0x0300" not in zha_device._endpoints[1].all_cluster_handlers - assert "2:0x0000" not in zha_device._endpoints[1].all_cluster_handlers - assert "2:0x0001" not in zha_device._endpoints[1].all_cluster_handlers - assert "2:0x0006" not in zha_device._endpoints[1].all_cluster_handlers - assert "2:0x0008" not in zha_device._endpoints[1].all_cluster_handlers - assert "2:0x0300" not in zha_device._endpoints[1].all_cluster_handlers - assert "1:0x0000" not in zha_device._endpoints[2].all_cluster_handlers - assert "1:0x0001" not in zha_device._endpoints[2].all_cluster_handlers - assert "1:0x0006" not in zha_device._endpoints[2].all_cluster_handlers - assert "1:0x0008" not in zha_device._endpoints[2].all_cluster_handlers - assert "1:0x0300" not in zha_device._endpoints[2].all_cluster_handlers - assert "2:0x0000" in zha_device._endpoints[2].all_cluster_handlers - assert "2:0x0001" in zha_device._endpoints[2].all_cluster_handlers - assert "2:0x0006" in zha_device._endpoints[2].all_cluster_handlers - assert "2:0x0008" in zha_device._endpoints[2].all_cluster_handlers - assert "2:0x0300" in zha_device._endpoints[2].all_cluster_handlers - - -@mock.patch("zha.zigbee.endpoint.Endpoint.add_client_cluster_handlers") -async def test_cluster_handler_power_config( - m1, # pylint: disable=unused-argument - zha_gateway: Gateway, -) -> None: - """Test that cluster_handlers only get a single power cluster_handler.""" - in_clusters = [0, 1, 6, 8] - zha_device: Device = await join_zigpy_device( - zha_gateway, - create_mock_zigpy_device( - zha_gateway, - endpoints={ - 1: { - SIG_EP_INPUT: in_clusters, - SIG_EP_OUTPUT: [], - SIG_EP_TYPE: 0x0000, - SIG_EP_PROFILE: 0x0104, - }, - 2: { - SIG_EP_INPUT: [*in_clusters, 768], - SIG_EP_OUTPUT: [], - SIG_EP_TYPE: 0x0000, - SIG_EP_PROFILE: 0x0104, - }, - }, - ieee="01:2d:6f:00:0a:90:69:e8", - ), - ) - assert "1:0x0000" in zha_device._endpoints[1].all_cluster_handlers - assert "1:0x0001" in zha_device._endpoints[1].all_cluster_handlers - assert "1:0x0006" in zha_device._endpoints[1].all_cluster_handlers - assert "1:0x0008" in zha_device._endpoints[1].all_cluster_handlers - assert "1:0x0300" not in zha_device._endpoints[1].all_cluster_handlers - assert "2:0x0000" in zha_device._endpoints[2].all_cluster_handlers - assert "2:0x0001" in zha_device._endpoints[2].all_cluster_handlers - assert "2:0x0006" in zha_device._endpoints[2].all_cluster_handlers - assert "2:0x0008" in zha_device._endpoints[2].all_cluster_handlers - assert "2:0x0300" in zha_device._endpoints[2].all_cluster_handlers - - zha_device = await join_zigpy_device( - zha_gateway, - create_mock_zigpy_device( - zha_gateway, - endpoints={ - 1: { - SIG_EP_INPUT: [], - SIG_EP_OUTPUT: [], - SIG_EP_TYPE: 0x0000, - SIG_EP_PROFILE: 0x0104, - }, - 2: { - SIG_EP_INPUT: in_clusters, - SIG_EP_OUTPUT: [], - SIG_EP_TYPE: 0x0000, - SIG_EP_PROFILE: 0x0104, - }, - }, - ieee="02:2d:6f:00:0a:90:69:e8", - ), - ) - assert "1:0x0001" not in zha_device._endpoints[1].all_cluster_handlers - assert "2:0x0001" in zha_device._endpoints[2].all_cluster_handlers - - zha_device = await join_zigpy_device( - zha_gateway, - create_mock_zigpy_device( - zha_gateway, - endpoints={ - 2: { - SIG_EP_INPUT: in_clusters, - SIG_EP_OUTPUT: [], - SIG_EP_TYPE: 0x0000, - SIG_EP_PROFILE: 0x0104, - } - }, - ieee="03:2d:6f:00:0a:90:69:e8", - ), - ) - assert "2:0x0001" in zha_device._endpoints[2].all_cluster_handlers - - -async def test_ep_cluster_handlers_configure(cluster_handler) -> None: - """Test unclaimed cluster handlers.""" - - ch_1 = cluster_handler(CLUSTER_HANDLER_ON_OFF, 6) - ch_2 = cluster_handler(CLUSTER_HANDLER_LEVEL, 8) - ch_3 = cluster_handler(CLUSTER_HANDLER_COLOR, 768) - ch_3.async_configure = AsyncMock(side_effect=TimeoutError) - ch_3.async_initialize = AsyncMock(side_effect=TimeoutError) - ch_4 = cluster_handler(CLUSTER_HANDLER_ON_OFF, 6) - ch_5 = cluster_handler(CLUSTER_HANDLER_LEVEL, 8) - ch_5.async_configure = AsyncMock(side_effect=TimeoutError) - ch_5.async_initialize = AsyncMock(side_effect=TimeoutError) - - endpoint_mock = mock.MagicMock(spec_set=ZigpyEndpoint) - type(endpoint_mock).in_clusters = mock.PropertyMock(return_value={}) - type(endpoint_mock).out_clusters = mock.PropertyMock(return_value={}) - type(endpoint_mock).profile_id = mock.PropertyMock( - return_value=zigpy.profiles.zha.PROFILE_ID - ) - type(endpoint_mock).device_type = mock.PropertyMock( - return_value=zigpy.profiles.zha.DeviceType.COLOR_DIMMABLE_LIGHT - ) - zha_dev = mock.MagicMock(spec=Device) - zha_dev.unique_id = "00:11:22:33:44:55:66:77" - type(zha_dev).exposes_features = mock.PropertyMock(return_value=set()) - endpoint = Endpoint.new(endpoint_mock, zha_dev) - - claimed = {ch_1.id: ch_1, ch_2.id: ch_2, ch_3.id: ch_3} - client_handlers = {ch_4.id: ch_4, ch_5.id: ch_5} - - with ( - mock.patch.dict(endpoint.claimed_cluster_handlers, claimed, clear=True), - mock.patch.dict(endpoint.client_cluster_handlers, client_handlers, clear=True), - ): - await endpoint.async_configure() - await endpoint.async_initialize(mock.sentinel.from_cache) - - for ch in [*claimed.values(), *client_handlers.values()]: - assert ch.async_initialize.call_count == 1 - assert ch.async_initialize.await_count == 1 - assert ch.async_initialize.call_args[0][0] is mock.sentinel.from_cache - assert ch.async_configure.call_count == 1 - assert ch.async_configure.await_count == 1 - - assert ch_3.debug.call_count == 2 - assert ch_5.debug.call_count == 2 - - -def zigpy_zll_device_mock(zha_gateway: Gateway) -> ZigpyDevice: - """ZLL device fixture.""" - - return create_mock_zigpy_device( - zha_gateway, - { - 1: { - SIG_EP_INPUT: [0x1000], - SIG_EP_OUTPUT: [], - SIG_EP_TYPE: 0x1234, - SIG_EP_PROFILE: zigpy.profiles.zll.PROFILE_ID, - } - }, - "00:11:22:33:44:55:66:77", - "test manufacturer", - "test model", - ) - - -async def test_zll_device_groups(zha_gateway: Gateway) -> None: - """Test adding coordinator to ZLL groups.""" - zigpy_zll_device: ZigpyDevice = zigpy_zll_device_mock(zha_gateway) - zigpy_coordinator_device: ZigpyDevice = zigpy_coordinator_device_mock(zha_gateway) - endpoint: Endpoint = endpoint_mock(zigpy_coordinator_device) - - cluster = zigpy_zll_device.endpoints[1].lightlink - cluster_handler = LightLinkClusterHandler(cluster, endpoint) - get_group_identifiers_rsp = zigpy.zcl.clusters.lightlink.LightLink.commands_by_name[ - "get_group_identifiers_rsp" - ].schema - - with patch.object( - cluster, - "get_group_identifiers", - AsyncMock( - return_value=get_group_identifiers_rsp( - total=0, start_index=0, group_info_records=[] - ) - ), - ) as get_group_identifiers: - await cluster_handler.async_configure() - assert get_group_identifiers.await_count == 1 - assert cluster.bind.call_count == 0 - assert zigpy_coordinator_device.add_to_group.await_count == 1 - assert zigpy_coordinator_device.add_to_group.await_args[0][0] == 0x0000 - - zigpy_coordinator_device.add_to_group.reset_mock() - group_1 = zigpy.zcl.clusters.lightlink.GroupInfoRecord(0xABCD, 0x00) - group_2 = zigpy.zcl.clusters.lightlink.GroupInfoRecord(0xAABB, 0x00) - with patch.object( - cluster, - "get_group_identifiers", - AsyncMock( - return_value=get_group_identifiers_rsp( - total=2, start_index=0, group_info_records=[group_1, group_2] - ) - ), - ) as get_group_identifiers: - await cluster_handler.async_configure() - assert get_group_identifiers.await_count == 1 - assert cluster.bind.call_count == 0 - assert zigpy_coordinator_device.add_to_group.await_count == 2 - assert ( - zigpy_coordinator_device.add_to_group.await_args_list[0][0][0] - == group_1.group_id - ) - assert ( - zigpy_coordinator_device.add_to_group.await_args_list[1][0][0] - == group_2.group_id - ) - - -async def test_cluster_no_ep_attribute( - zha_gateway: Gateway, # pylint: disable=unused-argument -) -> None: - """Test cluster handlers for clusters without ep_attribute.""" - - zha_device = await join_zigpy_device( - zha_gateway, - create_mock_zigpy_device( - zha_gateway, - { - 1: { - SIG_EP_INPUT: [0x042E], - SIG_EP_OUTPUT: [], - SIG_EP_TYPE: 0x1234, - SIG_EP_PROFILE: zigpy.profiles.zha.PROFILE_ID, - } - }, - ), - ) - - assert "1:0x042e" in zha_device._endpoints[1].all_cluster_handlers - assert zha_device._endpoints[1].all_cluster_handlers["1:0x042e"].name - - -async def test_configure_reporting(zha_gateway: Gateway) -> None: - """Test setting up a cluster handler and configuring attribute reporting in two batches.""" - - zigpy_coordinator_device: ZigpyDevice = zigpy_coordinator_device_mock(zha_gateway) - endpoint: Endpoint = endpoint_mock(zigpy_coordinator_device) - - class TestZigbeeClusterHandler(ClusterHandler): - """Test cluster handler that requests reporting for four attributes.""" - - BIND = True - REPORT_CONFIG = ( - # By name - AttrReportConfig(attr="current_x", config=(1, 60, 1)), - AttrReportConfig(attr="current_hue", config=(1, 60, 2)), - AttrReportConfig(attr="color_temperature", config=(1, 60, 3)), - AttrReportConfig(attr="current_y", config=(1, 60, 4)), - ) - - mock_ep = mock.AsyncMock() - mock_ep.profile_id = zigpy.profiles.zha.PROFILE_ID - mock_ep.device.zdo = AsyncMock() - - cluster = Color(mock_ep) - cluster.bind = AsyncMock( - spec_set=cluster.bind, - return_value=[zdo_t.Status.SUCCESS], # ZDOCmd.Bind_rsp - ) - - def mock_configure_reporting_multiple(config): - return dict.fromkeys(config, foundation.Status.SUCCESS) - - cluster.configure_reporting_multiple = AsyncMock( - spec_set=cluster.configure_reporting_multiple, - side_effect=mock_configure_reporting_multiple, - ) - - cluster_handler = TestZigbeeClusterHandler(cluster, endpoint) - await cluster_handler.async_configure() - - # Since we request reporting for four attributes, we need to make two calls (3 + 1) - - assert cluster.configure_reporting_multiple.mock_calls == [ - mock.call( - { - Color.AttributeDefs.current_x: ReportingConfig(1, 60, 1), - Color.AttributeDefs.current_hue: ReportingConfig(1, 60, 2), - Color.AttributeDefs.color_temperature: ReportingConfig(1, 60, 3), - } - ), - mock.call( - { - Color.AttributeDefs.current_y: ReportingConfig(1, 60, 4), - } - ), - ] - - -@pytest.mark.parametrize( - ("response", "expected_statuses"), - [ - # All attributes succeeded - ( - { - Color.AttributeDefs.current_x: foundation.Status.SUCCESS, - Color.AttributeDefs.current_y: foundation.Status.SUCCESS, - }, - {"current_x": "SUCCESS", "current_y": "SUCCESS"}, - ), - # Empty dict: unexpected response, all attributes marked as FAILURE - ( - {}, - {"current_x": "FAILURE", "current_y": "FAILURE"}, - ), - # Per-attribute results: mixed success/failure - ( - { - Color.AttributeDefs.current_x: foundation.Status.SUCCESS, - Color.AttributeDefs.current_y: foundation.Status.UNSUPPORTED_ATTRIBUTE, - }, - {"current_x": "SUCCESS", "current_y": "UNSUPPORTED_ATTRIBUTE"}, - ), - ], - ids=[ - "all_success", - "empty_dict", - "mixed_per_attribute", - ], -) -async def test_configure_reporting_status( - zha_gateway: Gateway, response, expected_statuses -) -> None: - """Test configure reporting status parsing via async_configure.""" - zigpy_coordinator_device: ZigpyDevice = zigpy_coordinator_device_mock(zha_gateway) - endpoint: Endpoint = endpoint_mock(zigpy_coordinator_device) - - class TestClusterHandler(ClusterHandler): - BIND = True - REPORT_CONFIG = ( - AttrReportConfig(attr="current_x", config=(1, 60, 1)), - AttrReportConfig(attr="current_y", config=(1, 60, 2)), - ) - - mock_ep = mock.AsyncMock() - mock_ep.profile_id = zigpy.profiles.zha.PROFILE_ID - mock_ep.device.zdo = AsyncMock() - - cluster = Color(mock_ep) - cluster.bind = AsyncMock( - spec_set=cluster.bind, - return_value=[zdo_t.Status.SUCCESS], - ) - cluster.configure_reporting_multiple = AsyncMock( - spec_set=cluster.configure_reporting_multiple, - return_value=response, - ) - - cluster_handler = TestClusterHandler(cluster, endpoint) - - mock_emit = MagicMock() - cluster_handler._endpoint.device.emit = mock_emit - - await cluster_handler.async_configure() - - assert mock_emit.call_args_list == [ - mock.call( - ZHA_CLUSTER_HANDLER_MSG_BIND, - ClusterBindEvent( - cluster_name=cluster.name, - cluster_id=cluster.cluster_id, - cluster_handler_unique_id=cluster_handler.unique_id, - success=True, - ), - ), - mock.call( - ZHA_CLUSTER_HANDLER_MSG_CFG_RPT, - ClusterConfigureReportingEvent( - cluster_name=cluster.name, - cluster_id=cluster.cluster_id, - cluster_handler_unique_id=cluster_handler.unique_id, - attributes={ - attr_name: { - "min": 1, - "max": 60, - "id": attr_name, - "name": attr_name, - "change": idx + 1, - "status": expected_status, - } - for idx, (attr_name, expected_status) in enumerate( - expected_statuses.items() - ) - }, - ), - ), - ] - - -async def test_configure_reporting_status_empty_second_chunk( - zha_gateway: Gateway, -) -> None: - """Test that an empty response for one chunk doesn't overwrite other chunks' statuses.""" - zigpy_coordinator_device: ZigpyDevice = zigpy_coordinator_device_mock(zha_gateway) - endpoint: Endpoint = endpoint_mock(zigpy_coordinator_device) - - class TestClusterHandler(ClusterHandler): - BIND = True - REPORT_CONFIG = ( - AttrReportConfig(attr="current_x", config=(1, 60, 1)), - AttrReportConfig(attr="current_y", config=(1, 60, 2)), - AttrReportConfig(attr="current_hue", config=(1, 60, 3)), - # 4th attribute forces a second chunk (REPORT_CONFIG_ATTR_PER_REQ=3) - AttrReportConfig(attr="color_temperature", config=(1, 60, 4)), - ) - - mock_ep = mock.AsyncMock() - mock_ep.profile_id = zigpy.profiles.zha.PROFILE_ID - mock_ep.device.zdo = AsyncMock() - - cluster = Color(mock_ep) - cluster.bind = AsyncMock( - spec_set=cluster.bind, - return_value=[zdo_t.Status.SUCCESS], - ) - - # Chunk 1 succeeds, chunk 2 returns empty dict - chunk_responses = [ - { - Color.AttributeDefs.current_x: foundation.Status.SUCCESS, - Color.AttributeDefs.current_y: foundation.Status.SUCCESS, - Color.AttributeDefs.current_hue: foundation.Status.SUCCESS, - }, - {}, - ] - cluster.configure_reporting_multiple = AsyncMock( - spec_set=cluster.configure_reporting_multiple, - side_effect=chunk_responses, - ) - - cluster_handler = TestClusterHandler(cluster, endpoint) - - mock_emit = MagicMock() - cluster_handler._endpoint.device.emit = mock_emit - - await cluster_handler.async_configure() - - expected_statuses = { - "current_x": "SUCCESS", - "current_y": "SUCCESS", - "current_hue": "SUCCESS", - "color_temperature": "FAILURE", - } - - assert mock_emit.call_args_list == [ - mock.call( - ZHA_CLUSTER_HANDLER_MSG_BIND, - ClusterBindEvent( - cluster_name=cluster.name, - cluster_id=cluster.cluster_id, - cluster_handler_unique_id=cluster_handler.unique_id, - success=True, - ), - ), - mock.call( - ZHA_CLUSTER_HANDLER_MSG_CFG_RPT, - ClusterConfigureReportingEvent( - cluster_name=cluster.name, - cluster_id=cluster.cluster_id, - cluster_handler_unique_id=cluster_handler.unique_id, - attributes={ - attr_name: { - "min": 1, - "max": 60, - "id": attr_name, - "name": attr_name, - "change": idx + 1, - "status": expected_status, - } - for idx, (attr_name, expected_status) in enumerate( - expected_statuses.items() - ) - }, - ), - ), - ] - - -async def test_invalid_cluster_handler(zha_gateway: Gateway, caplog) -> None: # pylint: disable=unused-argument - """Test setting up a cluster handler that fails to match properly.""" - - class TestZigbeeClusterHandler(ClusterHandler): - """Test cluster handler that fails to match properly.""" - - REPORT_CONFIG = (AttrReportConfig(attr="missing_attr", config=(1, 60, 1)),) - - mock_device = mock.AsyncMock(spec_set=zigpy.device.Device) - zigpy_ep = zigpy.endpoint.Endpoint(mock_device, endpoint_id=1) - zigpy_ep.profile_id = zigpy.profiles.zha.PROFILE_ID - - cluster = zigpy_ep.add_input_cluster(Color.cluster_id) - cluster.configure_reporting_multiple = AsyncMock( - spec_set=cluster.configure_reporting_multiple, - side_effect=lambda config: dict.fromkeys(config, foundation.Status.SUCCESS), - ) - - mock_zha_device = mock.AsyncMock(spec=Device) - mock_zha_device.exposes_features = set() - mock_zha_device.unique_id = "aa:bb:cc:dd:11:22:33:44" - - zha_endpoint = Endpoint(zigpy_ep, mock_zha_device) - - # The cluster handler throws an error when matching this cluster - with pytest.raises(KeyError): - TestZigbeeClusterHandler(cluster, zha_endpoint) - - # And one is also logged at runtime - with ( - patch.dict( - CLUSTER_HANDLER_REGISTRY[cluster.cluster_id], - {None: TestZigbeeClusterHandler}, - ), - caplog.at_level(logging.WARNING), - ): - zha_endpoint.add_all_cluster_handlers() - - assert "missing_attr" in caplog.text - - -async def test_standard_cluster_handler( - zha_gateway: Gateway, -) -> None: # pylint: disable=unused-argument - """Test setting up a cluster handler that matches a standard cluster.""" - - class TestZigbeeClusterHandler(ColorClusterHandler): - """Test cluster handler that matches a standard cluster.""" - - mock_device = mock.AsyncMock(spec_set=zigpy.device.Device) - zigpy_ep = zigpy.endpoint.Endpoint(mock_device, endpoint_id=1) - zigpy_ep.profile_id = zigpy.profiles.zha.PROFILE_ID - - cluster = zigpy_ep.add_input_cluster(Color.cluster_id) - cluster.configure_reporting_multiple = AsyncMock( - spec_set=cluster.configure_reporting_multiple, - side_effect=lambda config: dict.fromkeys(config, foundation.Status.SUCCESS), - ) - - mock_zha_device = mock.AsyncMock(spec=Device) - mock_zha_device.exposes_features = set() - mock_zha_device.unique_id = "aa:bb:cc:dd:11:22:33:44" - - zha_endpoint = Endpoint(zigpy_ep, mock_zha_device) - - with patch.dict( - CLUSTER_HANDLER_REGISTRY[cluster.cluster_id], - {"__exposed_feature_id": TestZigbeeClusterHandler}, - ): - zha_endpoint.add_all_cluster_handlers() - - assert len(zha_endpoint.all_cluster_handlers) == 1 - assert isinstance( - list(zha_endpoint.all_cluster_handlers.values())[0], ColorClusterHandler - ) - - -async def test_exposed_feature_cluster_handler( - zha_gateway: Gateway, -) -> None: # pylint: disable=unused-argument - """Test setting up a cluster handler with an exposed feature.""" - - class TestZigbeeClusterHandler(ColorClusterHandler): - """Test cluster handler that matches a standard cluster.""" - - mock_device = mock.AsyncMock(spec_set=zigpy.device.Device) - zigpy_ep = zigpy.endpoint.Endpoint(mock_device, endpoint_id=1) - zigpy_ep.profile_id = zigpy.profiles.zha.PROFILE_ID - - cluster = zigpy_ep.add_input_cluster(Color.cluster_id) - cluster.configure_reporting_multiple = AsyncMock( - spec_set=cluster.configure_reporting_multiple, - side_effect=lambda config: dict.fromkeys(config, foundation.Status.SUCCESS), - ) - - mock_zha_device = mock.AsyncMock(spec=Device) - mock_zha_device.unique_id = "aa:bb:cc:dd:11:22:33:44" - mock_zha_device.exposes_features = {"__exposed_feature_id"} - zha_endpoint = Endpoint(zigpy_ep, mock_zha_device) - - with patch.dict( - CLUSTER_HANDLER_REGISTRY[cluster.cluster_id], - {"__exposed_feature_id": TestZigbeeClusterHandler}, - ): - zha_endpoint.add_all_cluster_handlers() - - assert len(zha_endpoint.all_cluster_handlers) == 1 - assert isinstance( - list(zha_endpoint.all_cluster_handlers.values())[0], TestZigbeeClusterHandler - ) - - -# parametrize side effects: -@pytest.mark.parametrize( - ("side_effect", "expected_error"), - [ - (zigpy.exceptions.ZigbeeException(), "Failed to send request"), - ( - zigpy.exceptions.ZigbeeException("Zigbee exception"), - "Failed to send request: Zigbee exception", - ), - (TimeoutError(), "Failed to send request: device did not respond"), - ], -) -async def test_retry_request( - side_effect: Exception, expected_error: str | None -) -> None: - """Test the `retry_request` decorator's handling of zigpy-internal exceptions.""" - - async def func(arg1: int, arg2: int) -> int: - assert arg1 == 1 - assert arg2 == 2 - - raise side_effect - - func = mock.AsyncMock(wraps=func) - decorated_func = retry_request(func) - - with pytest.raises(ZHAException) as exc: - await decorated_func(1, arg2=2) - - assert func.await_count == 3 - assert isinstance(exc.value, ZHAException) - assert str(exc.value) == expected_error - - -async def test_cluster_handler_naming() -> None: - """Test that all cluster handlers are named appropriately.""" - for client_cluster_handler in CLIENT_CLUSTER_HANDLER_REGISTRY.values(): - assert issubclass(client_cluster_handler, ClientClusterHandler) - assert client_cluster_handler.__name__.endswith("ClientClusterHandler") - - for cluster_handler_dict in CLUSTER_HANDLER_REGISTRY.values(): - for cluster_handler in cluster_handler_dict.values(): - assert not issubclass(cluster_handler, ClientClusterHandler) - assert cluster_handler.__name__.endswith("ClusterHandler") - - -async def test_parse_and_log_command(zha_gateway: Gateway) -> None: - """Test that `parse_and_log_command` correctly parses a known command.""" - zigpy_dev = await zigpy_device_from_json( - zha_gateway.application_controller, - "tests/data/devices/ikea-of-sweden-rodret-dimmer.json", - ) - zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) - identify_entity = get_entity( - zha_device, platform=Platform.BUTTON, entity_type=IdentifyButton - ) - identify_handler = identify_entity._cluster_handler - - assert parse_and_log_command(identify_handler, 0x00, 0x01, []) == "identify_query" - - -async def test_parse_and_log_command_unknown(zha_gateway: Gateway): - """Test that `parse_and_log_command` correctly parses an unknown command.""" - zigpy_dev = await zigpy_device_from_json( - zha_gateway.application_controller, - "tests/data/devices/ikea-of-sweden-rodret-dimmer.json", - ) - zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) - identify_entity = get_entity( - zha_device, platform=Platform.BUTTON, entity_type=IdentifyButton - ) - identify_handler = identify_entity._cluster_handler - - assert parse_and_log_command(identify_handler, 0x00, 0xAB, []) == "0xAB" - - -async def test_zha_send_event_from_quirk(zha_gateway: Gateway): - """Test that a quirk can send an event.""" - zigpy_device = create_mock_zigpy_device( - zha_gateway, - { - 1: { - SIG_EP_INPUT: [ - Basic.cluster_id, - PowerConfiguration.cluster_id, - OnOff.cluster_id, - MultistateInput.cluster_id, - ], - SIG_EP_OUTPUT: [Basic.cluster_id], - SIG_EP_TYPE: BUTTON_DEVICE_TYPE, - SIG_EP_PROFILE: zigpy.profiles.zha.PROFILE_ID, - } - }, - model="lumi.sensor_switch.aq3", - manufacturer="LUMI", - quirk=SwitchAQ3, - ) - - assert isinstance(zigpy_device, SwitchAQ3) - - zha_device = await join_zigpy_device(zha_gateway, zigpy_device) - - ms_input_ch = zha_device.endpoints[1].all_cluster_handlers["1:0x0012"] - assert ms_input_ch is not None - - ms_input_ch.zha_send_event = MagicMock(wraps=ms_input_ch.zha_send_event) - - await send_attributes_report(zha_gateway, ms_input_ch.cluster, {0x0055: 0x01}) - - assert ms_input_ch.zha_send_event.call_count == 1 - assert ms_input_ch.zha_send_event.mock_calls == [ - call( - "single", - { - "value": 1.0, - }, - ) - ] - - zigpy_device = create_mock_zigpy_device( - zha_gateway, - { - 1: { - SIG_EP_INPUT: [ - Basic.cluster_id, - PowerConfiguration.cluster_id, - Identify.cluster_id, - PollControl.cluster_id, - TemperatureMeasurement.cluster_id, - Diagnostic.cluster_id, - ], - SIG_EP_OUTPUT: [ - Identify.cluster_id, - OnOff.cluster_id, - LevelControl.cluster_id, - Ota.cluster_id, - ], - SIG_EP_TYPE: zigpy.profiles.zha.DeviceType.LEVEL_CONTROL_SWITCH, - SIG_EP_PROFILE: zigpy.profiles.zha.PROFILE_ID, - } - }, - model="LIGHTIFY Dimming Switch", - manufacturer="OSRAM", - quirk=CentraLite3130, - ieee="00:15:8e:01:01:02:03:04", - ) - - assert isinstance(zigpy_device, CentraLite3130) - - zha_device = await join_zigpy_device(zha_gateway, zigpy_device) - - on_off_ch = zha_device.endpoints[1].client_cluster_handlers["1:0x0006_client"] - assert on_off_ch is not None - - on_off_ch.emit_zha_event = MagicMock(wraps=on_off_ch.emit_zha_event) - on_off_ch.emit_zha_event.reset_mock() - - on_off_ch.cluster_command(1, OnOff.ServerCommandDefs.on.id, []) - - assert on_off_ch.emit_zha_event.call_count == 2 - # attribute_updated is emitted first, then the cluster command is forwarded - assert on_off_ch.emit_zha_event.mock_calls == [ - call( - "attribute_updated", - { - "attribute_id": 0, - "attribute_name": "on_off", - "attribute_value": t.Bool.true, - "value": t.Bool.true, - }, - ), - call("on", []), - ] - on_off_ch.emit_zha_event.reset_mock() - - await send_attributes_report( - zha_gateway, on_off_ch.cluster, {OnOff.AttributeDefs.on_off.name: 0x01} - ) - - assert on_off_ch.emit_zha_event.call_count == 1 - assert on_off_ch.emit_zha_event.mock_calls == [ - call( - "attribute_updated", - { - "attribute_id": 0, - "attribute_name": "on_off", - "attribute_value": True, - "value": True, - }, - ) - ] - - on_off_ch.emit_zha_event.reset_mock() - - await send_attributes_report(zha_gateway, on_off_ch.cluster, {0x25: "Bar"}) - - assert on_off_ch.emit_zha_event.call_count == 1 - assert on_off_ch.emit_zha_event.mock_calls == [ - call( - "attribute_updated", - { - "attribute_id": 0x25, - "attribute_name": "Unknown", - "attribute_value": "Bar", - "value": "Bar", - }, - ) - ] - - -async def test_zdo_cluster_handler(zha_gateway: Gateway): - """Test that a quirk can send an event.""" - zigpy_device = create_mock_zigpy_device( - zha_gateway, - { - 1: { - SIG_EP_INPUT: [ - Basic.cluster_id, - PowerConfiguration.cluster_id, - OnOff.cluster_id, - MultistateInput.cluster_id, - ], - SIG_EP_OUTPUT: [Basic.cluster_id], - SIG_EP_TYPE: BUTTON_DEVICE_TYPE, - SIG_EP_PROFILE: zigpy.profiles.zha.PROFILE_ID, - } - }, - model="lumi.sensor_switch.aq3", - manufacturer="LUMI", - quirk=SwitchAQ3, - ) - - assert isinstance(zigpy_device, SwitchAQ3) - - zha_device = await join_zigpy_device(zha_gateway, zigpy_device) - - assert zha_device.zdo_cluster_handler is not None - assert zha_device.zdo_cluster_handler.status == ClusterHandlerStatus.INITIALIZED - assert zha_device.zdo_cluster_handler.cluster is not None - assert zha_device.zdo_cluster_handler.cluster == zigpy_device.endpoints[0] - assert ( - zha_device.zdo_cluster_handler.unique_id - == f"{str(zha_device.ieee)}:{zha_device.name}_ZDO" - ) diff --git a/tests/test_cover.py b/tests/test_cover.py index 565dd1dc3..6d4ccad7d 100644 --- a/tests/test_cover.py +++ b/tests/test_cover.py @@ -136,11 +136,6 @@ async def test_cover_non_tilt_initial_state( # pylint: disable=unused-argument ) cluster = zigpy_cover_device.endpoints[1].window_covering - assert ( - not zha_device.endpoints[1] - .all_cluster_handlers[f"1:0x{cluster.cluster_id:04x}"] - .inverted - ) assert cluster.read_attributes.call_count == 3 assert ( WCAttrs.current_position_lift_percentage.name @@ -184,11 +179,6 @@ async def test_cover_non_lift_initial_state( # pylint: disable=unused-argument ) cluster = zigpy_cover_device.endpoints[1].window_covering - assert ( - not zha_device.endpoints[1] - .all_cluster_handlers[f"1:0x{cluster.cluster_id:04x}"] - .inverted - ) assert cluster.read_attributes.call_count == 3 assert ( WCAttrs.current_position_lift_percentage.name @@ -232,11 +222,6 @@ async def test_cover( ) cluster = zigpy_cover_device.endpoints[1].window_covering - assert ( - not zha_device.endpoints[1] - .all_cluster_handlers[f"1:0x{cluster.cluster_id:04x}"] - .inverted - ) assert cluster.read_attributes.call_count == 3 assert ( WCAttrs.current_position_lift_percentage.name diff --git a/tests/test_device.py b/tests/test_device.py index 98ae1efca..b3ff87676 100644 --- a/tests/test_device.py +++ b/tests/test_device.py @@ -130,10 +130,6 @@ async def _send_time_changed(zha_gateway: Gateway, seconds: int): await zha_gateway.async_block_till_done(wait_background_tasks=True) -@patch( - "zha.zigbee.cluster_handlers.general.BasicClusterHandler.async_initialize", - new=mock.AsyncMock(), -) async def test_check_available_success( zha_gateway: Gateway, caplog: pytest.LogCaptureFixture, @@ -226,10 +222,6 @@ def _update_last_seen(*args, **kwargs): # pylint: disable=unused-argument entity.emit.reset_mock() -@patch( - "zha.zigbee.cluster_handlers.general.BasicClusterHandler.async_initialize", - new=mock.AsyncMock(), -) async def test_check_available_unsuccessful( zha_gateway: Gateway, ) -> None: @@ -297,10 +289,6 @@ async def test_check_available_unsuccessful( entity.emit.reset_mock() -@patch( - "zha.zigbee.cluster_handlers.general.BasicClusterHandler.async_initialize", - new=mock.AsyncMock(), -) async def test_check_available_no_basic_cluster_handler( zha_gateway: Gateway, caplog: pytest.LogCaptureFixture, @@ -771,8 +759,7 @@ async def test_device_properties( assert zha_device.model == "FakeModel" assert zha_device.is_groupable is False - assert zha_device.power_configuration_ch is None - assert zha_device.basic_ch is not None + assert zha_device.basic_cluster is not None assert zha_device.firmware_version is None assert len(zha_device.platform_entities) == 3 @@ -1458,24 +1445,6 @@ async def test_remove_entity_no_event(zha_gateway: Gateway) -> None: assert event_listener.call_count == 0 -async def test_initialize_endpoint_failure(zha_gateway: Gateway) -> None: - """Test that a failing endpoint doesn't prevent device initialization.""" - zigpy_dev = await zigpy_device_from_json( - zha_gateway.application_controller, - "tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ws-400lm.json", - ) - zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) - - with patch.object( - zha_device.endpoints[1], - "async_initialize", - side_effect=Exception("endpoint init failed"), - ) as mock_async_initialize: - await zha_device.async_initialize(from_cache=True) - - assert mock_async_initialize.call_count == 1 - - async def test_entity_recomputation(zha_gateway: Gateway) -> None: """Test entity recomputation.""" zigpy_dev = await zigpy_device_from_json( @@ -1622,9 +1591,10 @@ async def fake_reinterview(): patch.object(zha_device, "emit_reconfigure_done") as mock_emit, ): await zha_gateway.async_reinterview_device(zigpy_dev.ieee) - # On swap, async_reinterview_device must not emit reconfigure_done - # itself — the rebuild path emits via async_configure(). - assert mock_emit.call_count == 0 + await zha_gateway.async_block_till_done() + # On swap, the rebuild path emits reconfigure_done exactly once via + # async_configure() — async_reinterview_device does not emit itself. + assert mock_emit.call_count == 1 await zha_gateway.async_block_till_done() diff --git a/tests/test_discover.py b/tests/test_discover.py index 747a675b7..c60b3dae9 100644 --- a/tests/test_discover.py +++ b/tests/test_discover.py @@ -61,7 +61,7 @@ from zha.application.platforms import PlatformEntity, binary_sensor, sensor from zha.application.platforms.light import HueLight from zha.application.platforms.number import BaseNumber, NumberMode -from zha.zigbee.cluster_handlers.const import PHILLIPS_REMOTE_CLUSTER +from zha.zigbee.cluster_ids import PHILLIPS_REMOTE_CLUSTER def _get_identify_cluster(zigpy_device): @@ -835,15 +835,17 @@ async def test_diagnostics_omits_ota_last_query_cmd_when_none( assert "last_query_cmd" not in ota_diag -async def test_cluster_handler_only_clusters_are_bound(zha_gateway: Gateway) -> None: - """Test CLUSTER_HANDLER_ONLY_CLUSTERS causes binds even without entities.""" +async def test_entityless_cluster_binds_via_virtual_entity( + zha_gateway: Gateway, +) -> None: + """Manufacturer clusters that don't produce entities are still bound.""" zigpy_device = await zigpy_device_from_json( zha_gateway.application_controller, "tests/data/devices/signify-netherlands-b-v-rwl022.json", ) - # The Philips remote cluster (0xFC00) is in CLUSTER_HANDLER_ONLY_CLUSTERS: it - # doesn't produce any entities but must still be bound + # The Philips remote cluster (0xFC00) has no HA entity but `PhilipsRemoteBind` + # virtual entity binds it so the device can send commands to the coordinator. philips_cluster = zigpy_device.endpoints[1].in_clusters[PHILLIPS_REMOTE_CLUSTER] await join_zigpy_device(zha_gateway, zigpy_device) diff --git a/tests/test_gateway.py b/tests/test_gateway.py index 7802c3f40..f54558565 100644 --- a/tests/test_gateway.py +++ b/tests/test_gateway.py @@ -610,23 +610,36 @@ async def test_gateway_device_reinterviewed_no_bookkeeping_loss_on_rapid_event( in-flight task. """ zigpy_dev = create_mock_zigpy_device(zha_gateway, ZIGPY_DEVICE_BASIC) - await join_zigpy_device(zha_gateway, zigpy_dev) + zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) + + # Keep the replacement task in-flight by stalling configure on an event + # we control. Without this, the reinterview task completes synchronously + # under eager_start and exits the dict before we get to assert. + proceed = asyncio.Event() + original_configure = zha_device.async_configure + + async def stalled_configure() -> None: + await proceed.wait() + await original_configure() + + with patch.object(zha_device, "async_configure", side_effect=stalled_configure): + zha_gateway.device_reinterviewed(zigpy_dev) + task_1 = zha_gateway._device_init_tasks[zigpy_dev.ieee] - zha_gateway.device_reinterviewed(zigpy_dev) - task_1 = zha_gateway._device_init_tasks[zigpy_dev.ieee] + zha_gateway.device_reinterviewed(zigpy_dev) + task_2 = zha_gateway._device_init_tasks[zigpy_dev.ieee] + assert task_2 is not task_1 - zha_gateway.device_reinterviewed(zigpy_dev) - task_2 = zha_gateway._device_init_tasks[zigpy_dev.ieee] - assert task_2 is not task_1 + # Let task_1's cancellation propagate and its done-callback run. + with suppress(asyncio.CancelledError): + await task_1 + await asyncio.sleep(0) - # Let task_1's cancellation propagate and its done-callback run. - with suppress(asyncio.CancelledError): - await task_1 - await asyncio.sleep(0) + # The cancelled task's done-callback must not have cleared the dict; + # the replacement task is still in flight. + assert zha_gateway._device_init_tasks.get(zigpy_dev.ieee) is task_2 - # The cancelled task's done-callback must not have cleared the dict; - # the replacement task is still in flight. - assert zha_gateway._device_init_tasks.get(zigpy_dev.ieee) is task_2 + proceed.set() await zha_gateway.async_block_till_done() assert zigpy_dev.ieee not in zha_gateway._device_init_tasks diff --git a/tests/test_sensor.py b/tests/test_sensor.py index ae3b8593c..f1acc64a9 100644 --- a/tests/test_sensor.py +++ b/tests/test_sensor.py @@ -926,20 +926,12 @@ async def test_electrical_measurement_init( ) assert entity.state["state"] == 100 - cluster_handler = list(zha_device._endpoints.values())[0].all_cluster_handlers[ - "1:0x0b04" - ] - assert cluster_handler.ac_power_divisor == 1 - assert cluster_handler.ac_power_multiplier == 1 - # update power divisor await send_attributes_report( zha_gateway, cluster, {EMAttrs.active_power.id: 20, EMAttrs.power_divisor.id: 5}, ) - assert cluster_handler.ac_power_divisor == 5 - assert cluster_handler.ac_power_multiplier == 1 assert entity.state["state"] == 4.0 zha_device.on_network = False @@ -958,8 +950,6 @@ async def test_electrical_measurement_init( cluster, {EMAttrs.active_power.id: 30, EMAttrs.ac_power_divisor.id: 10}, ) - assert cluster_handler.ac_power_divisor == 10 - assert cluster_handler.ac_power_multiplier == 1 assert entity.state["state"] == 3.0 # update power multiplier @@ -968,8 +958,6 @@ async def test_electrical_measurement_init( cluster, {EMAttrs.active_power.id: 20, EMAttrs.power_multiplier.id: 6}, ) - assert cluster_handler.ac_power_divisor == 10 - assert cluster_handler.ac_power_multiplier == 6 assert entity.state["state"] == 12.0 await send_attributes_report( @@ -977,8 +965,6 @@ async def test_electrical_measurement_init( cluster, {EMAttrs.active_power.id: 30, EMAttrs.ac_power_multiplier.id: 20}, ) - assert cluster_handler.ac_power_divisor == 10 - assert cluster_handler.ac_power_multiplier == 20 assert entity.state["state"] == 60.0 entity._refresh = AsyncMock(wraps=entity._refresh) diff --git a/tests/test_switch.py b/tests/test_switch.py index 22134db09..198886f91 100644 --- a/tests/test_switch.py +++ b/tests/test_switch.py @@ -744,11 +744,8 @@ async def test_cover_inversion_switch(zha_gateway: Gateway) -> None: } update_attribute_cache(cluster) zha_device = await join_zigpy_device(zha_gateway, zigpy_cover_device) - assert ( - not zha_device.endpoints[1] - .all_cluster_handlers[f"1:0x{cluster.cluster_id:04x}"] - .inverted - ) + entity = get_entity(zha_device, platform=Platform.SWITCH) + assert not entity.is_on assert cluster.read_attributes.call_count == 3 assert ( WCAttrs.current_position_lift_percentage.name @@ -759,8 +756,6 @@ async def test_cover_inversion_switch(zha_gateway: Gateway) -> None: in cluster.read_attributes.call_args[0][0] ) - entity = get_entity(zha_device, platform=Platform.SWITCH) - # test update prev_call_count = cluster.read_attributes.call_count await entity.async_update() diff --git a/zha/application/discovery.py b/zha/application/discovery.py index 6f83335bc..0592194f7 100644 --- a/zha/application/discovery.py +++ b/zha/application/discovery.py @@ -49,24 +49,6 @@ update, virtual, ) - -# importing cluster handlers updates registries -from zha.zigbee.cluster_handlers import ( # noqa: F401 pylint: disable=unused-import - AttrReportConfig, - ClientClusterHandler, - ClusterHandler, - closures, - general, - homeautomation, - hvac, - lighting, - lightlink, - manufacturerspecific, - measurement, - security, - smartenergy, -) -from zha.zigbee.cluster_handlers.registries import CLUSTER_HANDLER_ONLY_CLUSTERS from zha.zigbee.group import Group if TYPE_CHECKING: @@ -589,13 +571,3 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit _LOGGER.exception("Failed to create %s entity", entity_class.__name__) continue yield entity - - # Claim any remaining unclaimed cluster handlers that don't produce entities but - # still need to be configured for bare events (bound, reporting set up, etc.) - for cluster_handler in endpoint.all_cluster_handlers.values(): - if ( - cluster_handler.id not in endpoint.claimed_cluster_handlers - and cluster_handler.cluster.cluster_id in CLUSTER_HANDLER_ONLY_CLUSTERS - ): - _LOGGER.debug("Claiming entityless cluster handler %s", cluster_handler) - endpoint.claim_cluster_handlers([cluster_handler]) diff --git a/zha/application/helpers.py b/zha/application/helpers.py index c8ea3cba3..ed24526d7 100644 --- a/zha/application/helpers.py +++ b/zha/application/helpers.py @@ -23,16 +23,19 @@ import zigpy.util import zigpy.zcl from zigpy.zcl import foundation +from zigpy.zcl.clusters.closures import WindowCovering +from zigpy.zcl.clusters.general import AnalogOutput, LevelControl, OnOff +from zigpy.zcl.clusters.lighting import Color from zigpy.zcl.foundation import CommandSchema import zigpy.zdo.types as zdo_types from zha.application import Platform from zha.application.const import ( + CLUSTER_READS_PER_REQ, CLUSTER_TYPE_IN, CLUSTER_TYPE_OUT, CONF_DEFAULT_CONSIDER_UNAVAILABLE_BATTERY, CONF_DEFAULT_CONSIDER_UNAVAILABLE_MAINS, - CLUSTER_READS_PER_REQ, ) from zha.async_ import gather_with_limited_concurrency from zha.decorators import periodic @@ -40,10 +43,8 @@ if TYPE_CHECKING: from zha.application.gateway import Gateway - from zha.zigbee.cluster_handlers import ClusterHandler from zha.zigbee.device import Device -_ClusterHandlerT = TypeVar("_ClusterHandlerT", bound="ClusterHandler") _T = TypeVar("_T") _R = TypeVar("_R") _P = ParamSpec("_P") @@ -51,6 +52,19 @@ RETRYABLE_REQUEST_DECORATOR = zigpy.util.retryable_request(tries=3) +# Clusters that make sense as direct device-to-device binding pairs (e.g. a +# remote's out_cluster bound to a light's in_cluster). Consulted by HA's "bind +# device" UI via `async_is_bindable_target`. +BINDABLE_CLUSTERS: frozenset[int] = frozenset( + { + AnalogOutput.cluster_id, + OnOff.cluster_id, + LevelControl.cluster_id, + WindowCovering.cluster_id, + Color.cluster_id, + } +) + @dataclass class BindingPair: @@ -141,10 +155,6 @@ async def get_matched_clusters( source_zha_device: Device, target_zha_device: Device ) -> list[BindingPair]: """Get matched input/output cluster pairs for 2 devices.""" - from zha.zigbee.cluster_handlers.registries import ( # pylint: disable=import-outside-toplevel # noqa: PLC0415 - BINDABLE_CLUSTERS, - ) - source_clusters = source_zha_device.async_get_std_clusters() target_clusters = target_zha_device.async_get_std_clusters() clusters_to_bind = [] @@ -249,10 +259,6 @@ def convert_to_zcl_values( def async_is_bindable_target(source_zha_device: Device, target_zha_device: Device): """Determine if target is bindable to source.""" - from zha.zigbee.cluster_handlers.registries import ( # pylint: disable=import-outside-toplevel # noqa: PLC0415 - BINDABLE_CLUSTERS, - ) - if target_zha_device.nwk == 0x0000: return True diff --git a/zha/application/platforms/light/__init__.py b/zha/application/platforms/light/__init__.py index 0b365cbae..7d4803f3b 100644 --- a/zha/application/platforms/light/__init__.py +++ b/zha/application/platforms/light/__init__.py @@ -401,9 +401,7 @@ async def async_turn_on( execute_if_off_supported = ( self._GROUP_SUPPORTS_EXECUTE_IF_OFF if isinstance(self, LightGroup) - else ( - self._color_cluster is not None and self._execute_if_off_supported - ) + else (self._color_cluster is not None and self._execute_if_off_supported) ) # A device theoretically could lie about having brightness support and omit the @@ -999,9 +997,7 @@ def __init__( LevelControl.cluster_id ) self._color_cluster = endpoint.zigpy_endpoint.in_clusters.get(Color.cluster_id) - self._identify_cluster = ( - device.identify_ch.cluster if device.identify_ch is not None else None - ) + self._identify_cluster = device.identify_cluster self._refresh_task: asyncio.Task | None = None diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py index 394cca3f4..dcd3931af 100644 --- a/zha/application/platforms/virtual.py +++ b/zha/application/platforms/virtual.py @@ -996,6 +996,56 @@ class SinopeDimmerInit(VirtualEntity): INOVELLI_CLUSTER = 0xFC31 +IKEA_REMOTE_CLUSTER = 0xFC80 +IKEA_SHORTCUT_V1_CLUSTER = 0xFC7F + + +@register_entity(IKEA_REMOTE_CLUSTER) +class IkeaRemoteClientBind(VirtualEntity): + """Bind the IKEA remote client cluster on every device that exposes it. + + The accompanying quirk (`EventableCluster`) emits its own zha_events for + received commands, so the only thing we still need is the bind. + """ + + _unique_id_suffix = "ikea_remote_client_bind" + + _cluster_match = ClusterMatch( + client_clusters=frozenset({IKEA_REMOTE_CLUSTER}), + match_renamed_clusters=True, + ) + _client_cluster_config = { + IKEA_REMOTE_CLUSTER: ClusterConfig(bind=True), + } + + +@register_entity(IKEA_SHORTCUT_V1_CLUSTER) +class IkeaSymfoniskRemoteClientBind(VirtualEntity): + """Bind the IKEA Symfonisk shortcut v1 client cluster.""" + + _unique_id_suffix = "ikea_shortcut_v1_client_bind" + + _cluster_match = ClusterMatch( + client_clusters=frozenset({IKEA_SHORTCUT_V1_CLUSTER}), + match_renamed_clusters=True, + ) + _client_cluster_config = { + IKEA_SHORTCUT_V1_CLUSTER: ClusterConfig(bind=True), + } + + +@register_entity(INOVELLI_CLUSTER) +class InovelliBind(VirtualEntity): + """Bind the Inovelli manufacturer cluster on every device that exposes it.""" + + _unique_id_suffix = "inovelli_bind" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({INOVELLI_CLUSTER}), + ) + _server_cluster_config = { + INOVELLI_CLUSTER: ClusterConfig(bind=True), + } @register_entity(INOVELLI_CLUSTER) diff --git a/zha/zigbee/cluster_handlers/__init__.py b/zha/zigbee/cluster_handlers/__init__.py deleted file mode 100644 index 4debb32ea..000000000 --- a/zha/zigbee/cluster_handlers/__init__.py +++ /dev/null @@ -1,755 +0,0 @@ -"""Cluster handlers module for Zigbee Home Automation.""" - -from __future__ import annotations - -from collections.abc import Awaitable, Callable, Coroutine, Iterator -import contextlib -from dataclasses import dataclass -from enum import Enum -import functools -import logging -from typing import TYPE_CHECKING, Any, Final, ParamSpec, TypedDict - -import zigpy.exceptions -from zigpy.typing import UNDEFINED, UndefinedType -import zigpy.util -import zigpy.zcl -from zigpy.zcl import ( - AttributeReadEvent, - AttributeReportedEvent, - AttributeUpdatedEvent, - AttributeWrittenEvent, -) -from zigpy.zcl.foundation import CommandSchema, Status, ZCLAttributeDef -from zigpy.zcl.helpers import ReportingConfig - -from zha.application.const import ( - ZHA_CLUSTER_HANDLER_MSG, - ZHA_CLUSTER_HANDLER_MSG_BIND, - ZHA_CLUSTER_HANDLER_MSG_CFG_RPT, -) -from zha.application.helpers import safe_read -from zha.event import EventBase -from zha.exceptions import ZHAException -from zha.mixins import LogMixin -from zha.zigbee.cluster_handlers.const import ( - ARGS, - ATTRIBUTE_ID, - ATTRIBUTE_NAME, - ATTRIBUTE_VALUE, - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - CLUSTER_HANDLER_EVENT, - CLUSTER_HANDLER_ZDO, - CLUSTER_ID, - CLUSTER_READS_PER_REQ, - COMMAND, - PARAMS, - REPORT_CONFIG_ATTR_PER_REQ, - SIGNAL_ATTR_UPDATED, - UNIQUE_ID, - VALUE, -) - -if TYPE_CHECKING: - from zha.zigbee.endpoint import Endpoint - -_LOGGER = logging.getLogger(__name__) -RETRYABLE_REQUEST_DECORATOR = zigpy.util.retryable_request(tries=3) -UNPROXIED_CLUSTER_METHODS = {"general_command"} - - -_P = ParamSpec("_P") -_FuncType = Callable[_P, Awaitable[Any]] -_ReturnFuncType = Callable[_P, Coroutine[Any, Any, Any]] - - -@contextlib.contextmanager -def wrap_zigpy_exceptions() -> Iterator[None]: - """Wrap zigpy exceptions in `ZHAException` exceptions.""" - try: - yield - except TimeoutError as exc: - raise ZHAException("Failed to send request: device did not respond") from exc - except zigpy.exceptions.ZigbeeException as exc: - message = "Failed to send request" - - if str(exc): - message = f"{message}: {exc}" - - raise ZHAException(message) from exc - - -def retry_request[**P]( - func: Callable[P, Awaitable[Any]], -) -> Callable[P, Coroutine[Any, Any, Any]]: - """Send a request with retries and wrap expected zigpy exceptions.""" - - @functools.wraps(func) - async def wrapper(*args: P.args, **kwargs: P.kwargs) -> Any: - with wrap_zigpy_exceptions(): - return await RETRYABLE_REQUEST_DECORATOR(func)(*args, **kwargs) - - return wrapper - - -class AttrReportConfig(TypedDict, total=True): - """Configuration to report for the attributes.""" - - # An attribute name - attr: str - # The config for the attribute reporting configuration consists of a tuple for - # (minimum_reported_time_interval_s, maximum_reported_time_interval_s, value_delta) - config: tuple[int, int, int | float] - - -def parse_and_log_command(cluster_handler, tsn, command_id, args): - """Parse and log a zigbee cluster command.""" - try: - name = cluster_handler.cluster.server_commands[command_id].name - except KeyError: - name = f"0x{command_id:02X}" - - cluster_handler.debug( - "received '%s' command with %s args on cluster_id '%s' tsn '%s'", - name, - args, - cluster_handler.cluster.cluster_id, - tsn, - ) - return name - - -class ClusterHandlerStatus(Enum): - """Status of a cluster handler.""" - - CREATED = 1 - CONFIGURED = 2 - INITIALIZED = 3 - - -@dataclass(kw_only=True, frozen=True) -class ClusterAttributeUpdatedEvent: - """Event to signal that a cluster attribute has been updated.""" - - attribute_id: int - attribute_name: str - attribute_value: Any - cluster_handler_unique_id: str - cluster_id: int - event_type: Final[str] = CLUSTER_HANDLER_EVENT - event: Final[str] = CLUSTER_HANDLER_ATTRIBUTE_UPDATED - - -@dataclass(kw_only=True, frozen=True) -class ClusterBindEvent: - """Event generated when the cluster is bound.""" - - cluster_name: str - cluster_id: int - success: bool - cluster_handler_unique_id: str - event_type: Final[str] = ZHA_CLUSTER_HANDLER_MSG - event: Final[str] = ZHA_CLUSTER_HANDLER_MSG_BIND - - -@dataclass(kw_only=True, frozen=True) -class ClusterConfigureReportingEvent: - """Event generates when a cluster configures attribute reporting.""" - - cluster_name: str - cluster_id: int - attributes: dict[str, dict[str, Any]] - cluster_handler_unique_id: str - event_type: Final[str] = ZHA_CLUSTER_HANDLER_MSG - event: Final[str] = ZHA_CLUSTER_HANDLER_MSG_CFG_RPT - - -@dataclass(kw_only=True, frozen=True) -class ClusterInfo: - """Cluster information.""" - - id: int - name: str - type: str - commands: dict[int, str] - - -@dataclass(kw_only=True, frozen=True) -class ClusterHandlerInfo: - """Cluster handler information.""" - - class_name: str - generic_id: str - endpoint_id: str - cluster: ClusterInfo - id: str - unique_id: str - status: ClusterHandlerStatus - value_attribute: str | None = None - - -class ClusterHandler(LogMixin, EventBase): - """Base cluster handler for a Zigbee cluster.""" - - REPORT_CONFIG: tuple[AttrReportConfig, ...] = () - BIND: bool = True - - # Dict of attributes to read on cluster handler initialization. - # Dict keys -- attribute ID or names, with bool value indicating whether a cached - # attribute read is acceptable. - ZCL_INIT_ATTRS: dict[str, bool] = {} - - def __init__(self, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> None: - """Initialize ClusterHandler.""" - super().__init__() - self._generic_id = f"cluster_handler_0x{cluster.cluster_id:04x}" - self._endpoint: Endpoint = endpoint - self._cluster: zigpy.zcl.Cluster = cluster - self._id: str = f"{endpoint.id}:0x{cluster.cluster_id:04x}" - unique_id: str = endpoint.unique_id.replace("-", ":") - self._unique_id: str = f"{unique_id}:0x{cluster.cluster_id:04x}" - if not hasattr(self, "_value_attribute") and self.REPORT_CONFIG: - attr_def: ZCLAttributeDef = self.cluster.attributes_by_name[ - self.REPORT_CONFIG[0]["attr"] - ] - self.value_attribute = attr_def.name - self._status: ClusterHandlerStatus = ClusterHandlerStatus.CREATED - self.data_cache: dict[str, Any] = {} - self._unsubs: list[Callable[[], None]] = [] - - def on_add(self) -> None: - """Call when cluster handler is added.""" - self._cluster.add_listener(self) - for event_type in ( - AttributeReadEvent, - AttributeReportedEvent, - AttributeUpdatedEvent, - AttributeWrittenEvent, - ): - self._unsubs.append( - self._cluster.on_event( - event_type.event_type, self._handle_attribute_updated_event - ) - ) - - def on_remove(self) -> None: - """Call when cluster handler will be removed.""" - self._cluster.remove_listener(self) - for unsub in self._unsubs: - unsub() - self._unsubs.clear() - - def _handle_attribute_updated_event( - self, - event: AttributeReadEvent - | AttributeReportedEvent - | AttributeUpdatedEvent - | AttributeWrittenEvent, - ) -> None: - """Handle attribute updated event from zigpy.""" - self.debug( - "cluster_handler[%s] attribute_updated - cluster[%s] attr[%s] value[%s]", - self.name, - self.cluster.name, - event.attribute_name, - event.value, - ) - self.emit( - CLUSTER_HANDLER_ATTRIBUTE_UPDATED, - ClusterAttributeUpdatedEvent( - attribute_id=event.attribute_id, - attribute_name=event.attribute_name, - attribute_value=event.value, - cluster_handler_unique_id=self.unique_id, - cluster_id=self.cluster.cluster_id, - ), - ) - - @classmethod - def matches(cls, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> bool: # pylint: disable=unused-argument - """Filter the cluster match for specific devices.""" - return True - - @functools.cached_property - def info_object(self) -> ClusterHandlerInfo: - """Return info about this cluster handler.""" - return ClusterHandlerInfo( - class_name=self.__class__.__name__, - generic_id=self._generic_id, - endpoint_id=self._endpoint.id, - cluster=ClusterInfo( - id=self._cluster.cluster_id, - name=self._cluster.name, - type="client" if self._cluster.is_client else "server", - commands=self._cluster.commands, - ), - id=self._id, - unique_id=self._unique_id, - status=self._status.name, - value_attribute=getattr(self, "value_attribute", None), - ) - - @functools.cached_property - def id(self) -> str: - """Return cluster handler id unique for this device only.""" - return self._id - - @functools.cached_property - def generic_id(self) -> str: - """Return the generic id for this cluster handler.""" - return self._generic_id - - @functools.cached_property - def unique_id(self) -> str: - """Return the unique id for this cluster handler.""" - return self._unique_id - - @functools.cached_property - def cluster(self) -> zigpy.zcl.Cluster: - """Return the zigpy cluster for this cluster handler.""" - return self._cluster - - @functools.cached_property - def name(self) -> str: - """Return friendly name.""" - return self.cluster.ep_attribute or self._generic_id - - @property - def status(self) -> ClusterHandlerStatus: - """Return the status of the cluster handler.""" - return self._status - - def __hash__(self) -> int: - """Make this a hashable.""" - return hash(self._unique_id) - - async def bind(self) -> None: - """Bind a zigbee cluster. - - This also swallows ZigbeeException exceptions that are thrown when - devices are unreachable. - """ - try: - res = await RETRYABLE_REQUEST_DECORATOR(self.cluster.bind)() - self.debug("bound '%s' cluster: %s", self.cluster.ep_attribute, res[0]) - success = res[0] == 0 - self.cluster._zha_last_bind_success = success - self._endpoint.device.emit( - ZHA_CLUSTER_HANDLER_MSG_BIND, - ClusterBindEvent( - cluster_name=self.cluster.name, - cluster_id=self.cluster.cluster_id, - cluster_handler_unique_id=self.unique_id, - success=success, - ), - ) - except (zigpy.exceptions.ZigbeeException, TimeoutError) as ex: - self.debug( - "Failed to bind '%s' cluster: %s", - self.cluster.ep_attribute, - str(ex), - exc_info=ex, - ) - self.cluster._zha_last_bind_success = False - self._endpoint.device.emit( - ZHA_CLUSTER_HANDLER_MSG_BIND, - ClusterBindEvent( - cluster_name=self.cluster.name, - cluster_id=self.cluster.cluster_id, - cluster_handler_unique_id=self.unique_id, - success=False, - ), - ) - - async def configure_reporting(self) -> None: - """Configure attribute reporting for a cluster. - - This also swallows ZigbeeException exceptions that are thrown when - devices are unreachable. - """ - event_data = {} - - for attr_report in self.REPORT_CONFIG: - attr, config = attr_report["attr"], attr_report["config"] - - try: - attr_name = self.cluster.find_attribute(attr).name - except KeyError: - attr_name = attr - - event_data[attr_name] = { - "min": config[0], - "max": config[1], - "id": attr, - "name": attr_name, - "change": config[2], - "status": None, - } - - to_configure = [*self.REPORT_CONFIG] - chunk, rest = ( - to_configure[:REPORT_CONFIG_ATTR_PER_REQ], - to_configure[REPORT_CONFIG_ATTR_PER_REQ:], - ) - while chunk: - reports = { - self.cluster.find_attribute(rec["attr"]): ReportingConfig( - *rec["config"] - ) - for rec in chunk - } - try: - res = await RETRYABLE_REQUEST_DECORATOR( - self.cluster.configure_reporting_multiple - )(reports) - self._configure_reporting_status(res, event_data, set(reports.keys())) - except (zigpy.exceptions.ZigbeeException, TimeoutError) as ex: - self.debug( - "failed to set reporting on '%s' cluster for: %s", - self.cluster.ep_attribute, - str(ex), - ) - break - chunk, rest = ( - rest[:REPORT_CONFIG_ATTR_PER_REQ], - rest[REPORT_CONFIG_ATTR_PER_REQ:], - ) - - self.cluster._zha_last_reporting_config = event_data - self._endpoint.device.emit( - ZHA_CLUSTER_HANDLER_MSG_CFG_RPT, - ClusterConfigureReportingEvent( - cluster_name=self.cluster.name, - cluster_id=self.cluster.cluster_id, - cluster_handler_unique_id=self.unique_id, - attributes=event_data, - ), - ) - - def _configure_reporting_status( - self, - res: dict[ZCLAttributeDef, Status], - event_data: dict[str, dict[str, Any]], - requested_attrs: set[ZCLAttributeDef], - ) -> None: - """Parse configure reporting result.""" - if not res: - for attr_def in requested_attrs: - event_data[attr_def.name]["status"] = Status.FAILURE.name - return - - for attr_def, status in res.items(): - event_data[attr_def.name]["status"] = status.name - - failed = [ - attr_def.name - for attr_def, status in res.items() - if status != Status.SUCCESS - ] - if failed: - self.debug( - "Failed to configure reporting for '%s' on '%s' cluster: %s", - failed, - self.name, - res, - ) - success = [ - attr_def.name - for attr_def, status in res.items() - if status == Status.SUCCESS - ] - if success: - self.debug( - "Successfully configured reporting for '%s' on '%s' cluster", - success, - self.name, - ) - - async def async_configure(self) -> None: - """Set cluster binding and attribute reporting.""" - if self._endpoint.device.skip_configuration: - self.debug("skipping cluster handler configuration") - self._status = ClusterHandlerStatus.CONFIGURED - return - - if self.BIND: - self.debug("Performing cluster binding") - await self.bind() - - if self.cluster.is_server: - self.debug("Configuring cluster attribute reporting") - await self.configure_reporting() - - self.debug("finished cluster handler configuration") - self._status = ClusterHandlerStatus.CONFIGURED - - async def async_initialize(self, from_cache: bool) -> None: - """Initialize cluster handler.""" - if not from_cache and self._endpoint.device.skip_configuration: - self.debug("Skipping cluster handler initialization") - self._status = ClusterHandlerStatus.INITIALIZED - return - - self.debug("initializing cluster handler: from_cache: %s", from_cache) - cached = [a for a, cached in self.ZCL_INIT_ATTRS.items() if cached] - uncached = [a for a, cached in self.ZCL_INIT_ATTRS.items() if not cached] - uncached.extend([cfg["attr"] for cfg in self.REPORT_CONFIG]) - - if cached: - self.debug("initializing cached cluster handler attributes: %s", cached) - await self._get_attributes( - True, cached, from_cache=True, only_cache=from_cache - ) - if uncached: - self.debug( - "initializing uncached cluster handler attributes: %s - from cache[%s]", - uncached, - from_cache, - ) - await self._get_attributes( - True, uncached, from_cache=from_cache, only_cache=from_cache - ) - - ch_specific_init = getattr( - self, "async_initialize_cluster_handler_specific", None - ) - if ch_specific_init: - self.debug( - "Performing cluster handler specific initialization: %s", uncached - ) - await ch_specific_init(from_cache=from_cache) - - self.debug("finished cluster handler initialization") - self._status = ClusterHandlerStatus.INITIALIZED - - def cluster_command(self, tsn, command_id, args) -> None: - """Handle commands received to this cluster.""" - - def zdo_command(self, *args, **kwargs) -> None: - """Handle ZDO commands on this cluster.""" - - def zha_send_event(self, command: str, arg: list | dict | CommandSchema) -> None: - """Compatibility method for emitting ZHA events from quirks until they are updated.""" - self.emit_zha_event(command, arg) - - def emit_zha_event(self, command: str, arg: list | dict | CommandSchema) -> None: - """Relay events to listeners.""" - - args: list | dict - if isinstance(arg, CommandSchema): - args = [a for a in arg if a is not None] - params = arg.as_dict() - elif isinstance(arg, (list, dict)): - # Quirks can directly send lists and dicts to ZHA this way - args = arg - params = {} - else: - raise TypeError(f"Unexpected emit_zha_event {command!r} argument: {arg!r}") - - self._endpoint.emit_zha_event( - { - UNIQUE_ID: self.unique_id, - CLUSTER_ID: self.cluster.cluster_id, - COMMAND: command, - # Maintain backwards compatibility with the old zigpy response format - ARGS: args, - PARAMS: params, - } - ) - - def _get_attribute_name(self, attrid: int) -> str | int: - if attrid not in self.cluster.attributes: - return attrid - - return self.cluster.attributes[attrid].name - - async def get_attribute_value(self, attribute, from_cache=True) -> Any: - """Get the value for an attribute.""" - result = await safe_read( - self._cluster, - [attribute], - allow_cache=from_cache, - only_cache=from_cache, - ) - return result.get(attribute) - - async def _get_attributes( - self, - raise_exceptions: bool, - attributes: list[str], - from_cache: bool = True, - only_cache: bool = True, - ) -> dict[int | str, Any]: - """Get the values for a list of attributes.""" - chunk = attributes[:CLUSTER_READS_PER_REQ] - rest = attributes[CLUSTER_READS_PER_REQ:] - result = {} - while chunk: - try: - self.debug("Reading attributes in chunks: %s", chunk) - read, _ = await RETRYABLE_REQUEST_DECORATOR( - self.cluster.read_attributes - )( - chunk, - allow_cache=from_cache, - only_cache=only_cache, - manufacturer=UNDEFINED, # some quirks override default with None - ) - self.debug("Got attributes: %s", read) - result.update(read) - except (TimeoutError, zigpy.exceptions.ZigbeeException) as ex: - self.debug( - "failed to get attributes '%s' on '%s' cluster: %s", - chunk, - self.cluster.ep_attribute, - str(ex), - ) - if raise_exceptions: - raise - chunk = rest[:CLUSTER_READS_PER_REQ] - rest = rest[CLUSTER_READS_PER_REQ:] - return result - - async def get_attributes( - self, - attributes: list[str], - from_cache: bool = True, - only_cache: bool = True, - ) -> dict[int | str, Any]: - """Get the values for a list of attributes and raise no exceptions.""" - return await self._get_attributes(False, attributes, from_cache, only_cache) - - async def write_attributes_safe( - self, - attributes: dict[str, Any], - manufacturer: int | UndefinedType | None = UNDEFINED, - ) -> None: - """Wrap `write_attributes` to throw an exception on attribute write failure.""" - - res = await self.write_attributes(attributes, manufacturer=manufacturer) - for record in res[0]: - if record.status != Status.SUCCESS: - try: - name = self.cluster.attributes[record.attrid].name - value = attributes.get(name, "unknown") - except KeyError: - name = f"0x{record.attrid:04x}" - value = "unknown" - - raise ZHAException( - f"Failed to write attribute {name}={value}: {record.status}", - ) - - def log(self, level, msg, *args, **kwargs) -> None: - """Log a message.""" - msg = f"[%s:%s]: {msg}" - args = (self._endpoint.device.nwk, self._id) + args - _LOGGER.log(level, msg, *args, stacklevel=3, **kwargs) - - def __getattr__(self, name): - """Get attribute or a decorated cluster command.""" - if ( - hasattr(self._cluster, name) - and callable(getattr(self._cluster, name)) - and name not in UNPROXIED_CLUSTER_METHODS - ): - command = getattr(self._cluster, name) - wrapped_command = retry_request(command) - wrapped_command.__name__ = name - - return wrapped_command - return self.__getattribute__(name) - - -class ZDOClusterHandler(LogMixin): - """Cluster handler for ZDO events.""" - - def __init__(self, device) -> None: - """Initialize ZDOClusterHandler.""" - self.name = CLUSTER_HANDLER_ZDO - self._cluster = device.device.endpoints[0] - self._zha_device = device - self._status = ClusterHandlerStatus.CREATED - self._unique_id = f"{str(device.ieee)}:{device.name}_ZDO" - - def on_add(self) -> None: - """Call when cluster handler is added.""" - self._cluster.add_listener(self) - - def on_remove(self) -> None: - """Call when cluster handler will be removed.""" - self._cluster.remove_listener(self) - - @property - def unique_id(self): - """Return the unique id for this cluster handler.""" - return self._unique_id - - @property - def cluster(self): - """Return the aigpy cluster for this cluster handler.""" - return self._cluster - - @property - def status(self): - """Return the status of the cluster handler.""" - return self._status - - def device_announce(self, zigpy_device): - """Device announce handler.""" - - def permit_duration(self, duration): - """Permit handler.""" - - async def async_initialize(self, from_cache): # pylint: disable=unused-argument - """Initialize cluster handler.""" - self._status = ClusterHandlerStatus.INITIALIZED - - async def async_configure(self): - """Configure cluster handler.""" - self._status = ClusterHandlerStatus.CONFIGURED - - def log(self, level, msg, *args, **kwargs): - """Log a message.""" - msg = f"[%s:ZDO](%s): {msg}" - args = (self._zha_device.nwk, self._zha_device.model) + args - _LOGGER.log(level, msg, *args, **kwargs) - - -class ClientClusterHandler(ClusterHandler): - """ClusterHandler for Zigbee client (output) clusters.""" - - def __init__(self, *args, **kwargs) -> None: - """Initialize ClientClusterHandler.""" - super().__init__(*args, **kwargs) - self._unique_id += "_CLIENT" - self._generic_id += "_client" - self._id += "_client" - - def _handle_attribute_updated_event( - self, - event: AttributeReadEvent - | AttributeReportedEvent - | AttributeUpdatedEvent - | AttributeWrittenEvent, - ) -> None: - """Handle an attribute updated on this cluster.""" - super()._handle_attribute_updated_event(event) - - self.emit_zha_event( - SIGNAL_ATTR_UPDATED, - { - ATTRIBUTE_ID: event.attribute_id, - ATTRIBUTE_NAME: event.attribute_name or "Unknown", - ATTRIBUTE_VALUE: event.value, - VALUE: event.value, - }, - ) - - def cluster_command(self, tsn, command_id, args): - """Handle a cluster command received on this cluster.""" - if ( - self._cluster.server_commands is not None - and self._cluster.server_commands.get(command_id) is not None - ): - self.emit_zha_event(self._cluster.server_commands[command_id].name, args) diff --git a/zha/zigbee/cluster_handlers/closures.py b/zha/zigbee/cluster_handlers/closures.py deleted file mode 100644 index b721d40be..000000000 --- a/zha/zigbee/cluster_handlers/closures.py +++ /dev/null @@ -1,167 +0,0 @@ -"""Closures cluster handlers module for Zigbee Home Automation.""" - -from __future__ import annotations - -import zigpy.types as t -from zigpy.zcl.clusters.closures import ConfigStatus, DoorLock, Shade, WindowCovering - -from zha.zigbee.cluster_handlers import ( - AttrReportConfig, - ClientClusterHandler, - ClusterHandler, - registries, -) -from zha.zigbee.cluster_handlers.const import REPORT_CONFIG_IMMEDIATE - - -@registries.CLUSTER_HANDLER_REGISTRY.register(DoorLock.cluster_id) -class DoorLockClusterHandler(ClusterHandler): - """Door lock cluster handler.""" - - _value_attribute: str = DoorLock.AttributeDefs.lock_state.name - REPORT_CONFIG = ( - AttrReportConfig( - attr=DoorLock.AttributeDefs.lock_state.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - ) - - async def async_set_user_code(self, code_slot: int, user_code: str) -> None: - """Set the user code for the code slot.""" - - await self.set_pin_code( - code_slot - 1, # start code slots at 1, Zigbee internals use 0 - DoorLock.UserStatus.Enabled, - DoorLock.UserType.Unrestricted, - user_code, - ) - - async def async_enable_user_code(self, code_slot: int) -> None: - """Enable the code slot.""" - - await self.set_user_status(code_slot - 1, DoorLock.UserStatus.Enabled) - - async def async_disable_user_code(self, code_slot: int) -> None: - """Disable the code slot.""" - - await self.set_user_status(code_slot - 1, DoorLock.UserStatus.Disabled) - - async def async_get_user_code(self, code_slot: int) -> int: - """Get the user code from the code slot.""" - - result = await self.get_pin_code(code_slot - 1) - return result - - async def async_clear_user_code(self, code_slot: int) -> None: - """Clear the code slot.""" - - await self.clear_pin_code(code_slot - 1) - - async def async_clear_all_user_codes(self) -> None: - """Clear all code slots.""" - - await self.clear_all_pin_codes() - - async def async_set_user_type(self, code_slot: int, user_type: str) -> None: - """Set user type.""" - - await self.set_user_type(code_slot - 1, user_type) - - async def async_get_user_type(self, code_slot: int) -> str: - """Get user type.""" - - result = await self.get_user_type(code_slot - 1) - return result - - -@registries.BINDABLE_CLUSTERS.register(WindowCovering.cluster_id) -@registries.CLUSTER_HANDLER_REGISTRY.register(WindowCovering.cluster_id) -class WindowCoveringClusterHandler(ClusterHandler): - """Window cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=WindowCovering.AttributeDefs.current_position_lift_percentage.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - AttrReportConfig( - attr=WindowCovering.AttributeDefs.current_position_tilt_percentage.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - ) - - ZCL_INIT_ATTRS = { - WindowCovering.AttributeDefs.window_covering_type.name: True, - WindowCovering.AttributeDefs.window_covering_mode.name: True, - WindowCovering.AttributeDefs.config_status.name: True, - WindowCovering.AttributeDefs.installed_closed_limit_lift.name: True, - WindowCovering.AttributeDefs.installed_closed_limit_tilt.name: True, - WindowCovering.AttributeDefs.installed_open_limit_lift.name: True, - WindowCovering.AttributeDefs.installed_open_limit_tilt.name: True, - } - - @property - def inverted(self): - """Return true if the window covering is inverted.""" - config_status = self.cluster.get( - WindowCovering.AttributeDefs.config_status.name - ) - return ( - config_status is not None - and ConfigStatus.Open_up_commands_reversed in ConfigStatus(config_status) - ) - - @property - def current_position_lift_percentage(self) -> t.uint16_t | None: - """Return the current lift percentage of the window covering.""" - lift_percentage = self.cluster.get( - WindowCovering.AttributeDefs.current_position_lift_percentage.name - ) - if lift_percentage is not None: - # the 100 - value is because we need to invert the value before giving it to the entity - lift_percentage = 100 - lift_percentage - return lift_percentage - - @property - def current_position_tilt_percentage(self) -> t.uint16_t | None: - """Return the current tilt percentage of the window covering.""" - tilt_percentage = self.cluster.get( - WindowCovering.AttributeDefs.current_position_tilt_percentage.name - ) - if tilt_percentage is not None: - # the 100 - value is because we need to invert the value before giving it to the entity - tilt_percentage = 100 - tilt_percentage - return tilt_percentage - - @property - def installed_open_limit_lift(self) -> t.uint16_t | None: - """Return the installed open lift limit of the window covering.""" - return self.cluster.get( - WindowCovering.AttributeDefs.installed_open_limit_lift.name - ) - - @property - def installed_closed_limit_lift(self) -> t.uint16_t | None: - """Return the installed closed lift limit of the window covering.""" - return self.cluster.get( - WindowCovering.AttributeDefs.installed_closed_limit_lift.name - ) - - @property - def installed_open_limit_tilt(self) -> t.uint16_t | None: - """Return the installed open tilt limit of the window covering.""" - return self.cluster.get( - WindowCovering.AttributeDefs.installed_open_limit_tilt.name - ) - - @property - def installed_closed_limit_tilt(self) -> t.uint16_t | None: - """Return the installed closed tilt limit of the window covering.""" - return self.cluster.get( - WindowCovering.AttributeDefs.installed_closed_limit_tilt.name - ) - - @property - def window_covering_type(self) -> WindowCovering.WindowCoveringType | None: - """Return the window covering type.""" - return self.cluster.get(WindowCovering.AttributeDefs.window_covering_type.name) diff --git a/zha/zigbee/cluster_handlers/const.py b/zha/zigbee/cluster_handlers/const.py deleted file mode 100644 index f8b041d05..000000000 --- a/zha/zigbee/cluster_handlers/const.py +++ /dev/null @@ -1,121 +0,0 @@ -"""Constants for the cluster_handlers module.""" - -from typing import Final - -REPORT_CONFIG_ATTR_PER_REQ: Final[int] = 3 -REPORT_CONFIG_MAX_INT: Final[int] = 900 -REPORT_CONFIG_MAX_INT_BATTERY_SAVE: Final[int] = 10800 -REPORT_CONFIG_MIN_INT: Final[int] = 30 -REPORT_CONFIG_MIN_INT_ASAP: Final[int] = 1 -REPORT_CONFIG_MIN_INT_IMMEDIATE: Final[int] = 0 -REPORT_CONFIG_MIN_INT_OP: Final[int] = 5 -REPORT_CONFIG_MIN_INT_BATTERY_SAVE: Final[int] = 3600 -REPORT_CONFIG_RPT_CHANGE: Final[int] = 1 -REPORT_CONFIG_DEFAULT: tuple[int, int, int] = ( - REPORT_CONFIG_MIN_INT, - REPORT_CONFIG_MAX_INT, - REPORT_CONFIG_RPT_CHANGE, -) -REPORT_CONFIG_ASAP: tuple[int, int, int] = ( - REPORT_CONFIG_MIN_INT_ASAP, - REPORT_CONFIG_MAX_INT, - REPORT_CONFIG_RPT_CHANGE, -) -REPORT_CONFIG_BATTERY_SAVE: tuple[int, int, int] = ( - REPORT_CONFIG_MIN_INT_BATTERY_SAVE, - REPORT_CONFIG_MAX_INT_BATTERY_SAVE, - REPORT_CONFIG_RPT_CHANGE, -) -REPORT_CONFIG_IMMEDIATE: tuple[int, int, int] = ( - REPORT_CONFIG_MIN_INT_IMMEDIATE, - REPORT_CONFIG_MAX_INT, - REPORT_CONFIG_RPT_CHANGE, -) -REPORT_CONFIG_OP: tuple[int, int, int] = ( - REPORT_CONFIG_MIN_INT_OP, - REPORT_CONFIG_MAX_INT, - REPORT_CONFIG_RPT_CHANGE, -) -CLUSTER_READS_PER_REQ: Final[int] = 5 - -CLUSTER_HANDLER_ACCELEROMETER: Final[str] = "accelerometer" -CLUSTER_HANDLER_BINARY_INPUT: Final[str] = "binary_input" -CLUSTER_HANDLER_BINARY_OUTPUT: Final[str] = "binary_output" -CLUSTER_HANDLER_ANALOG_INPUT: Final[str] = "analog_input" -CLUSTER_HANDLER_ANALOG_OUTPUT: Final[str] = "analog_output" -CLUSTER_HANDLER_ATTRIBUTE: Final[str] = "attribute" -CLUSTER_HANDLER_BALLAST: Final[str] = "light_ballast" -CLUSTER_HANDLER_BASIC: Final[str] = "basic" -CLUSTER_HANDLER_COLOR: Final[str] = "light_color" -CLUSTER_HANDLER_COVER: Final[str] = "window_covering" -CLUSTER_HANDLER_DIAGNOSTIC: Final[str] = "diagnostic" -CLUSTER_HANDLER_DEVICE_TEMPERATURE: Final[str] = "device_temperature" -CLUSTER_HANDLER_DOORLOCK: Final[str] = "door_lock" -CLUSTER_HANDLER_ELECTRICAL_CONDUCTIVITY: Final[str] = "electrical_conductivity" -CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT: Final[str] = "electrical_measurement" -CLUSTER_HANDLER_EVENT_RELAY: Final[str] = "event_relay" -CLUSTER_HANDLER_FAN: Final[str] = "fan" -CLUSTER_HANDLER_FLOW: Final[str] = "flow" -CLUSTER_HANDLER_HUMIDITY: Final[str] = "humidity" -CLUSTER_HANDLER_SOIL_MOISTURE: Final[str] = "soil_moisture" -CLUSTER_HANDLER_LEAF_WETNESS: Final[str] = "leaf_wetness" -CLUSTER_HANDLER_IAS_ACE: Final[str] = "ias_ace" -CLUSTER_HANDLER_IAS_WD: Final[str] = "ias_wd" -CLUSTER_HANDLER_IDENTIFY: Final[str] = "identify" -CLUSTER_HANDLER_ILLUMINANCE: Final[str] = "illuminance" -CLUSTER_HANDLER_LEVEL: Final[str] = "level" -CLUSTER_HANDLER_MULTISTATE_INPUT: Final[str] = "multistate_input" -CLUSTER_HANDLER_OCCUPANCY: Final[str] = "occupancy" -CLUSTER_HANDLER_ON_OFF: Final[str] = "on_off" -CLUSTER_HANDLER_OTA: Final[str] = "ota" -CLUSTER_HANDLER_OTA_SERVER: Final[str] = "ota_server" -CLUSTER_HANDLER_POWER_CONFIGURATION: Final[str] = "power" -CLUSTER_HANDLER_PRESSURE: Final[str] = "pressure" -CLUSTER_HANDLER_SHADE: Final[str] = "shade" -CLUSTER_HANDLER_SMARTENERGY_METERING: Final[str] = "smartenergy_metering" -CLUSTER_HANDLER_TEMPERATURE: Final[str] = "temperature" -CLUSTER_HANDLER_THERMOSTAT: Final[str] = "thermostat" -CLUSTER_HANDLER_WIND_SPEED: Final[str] = "wind_speed" -CLUSTER_HANDLER_ZDO: Final[str] = "zdo" -CLUSTER_HANDLER_ZONE: Final[str] = "ias_zone" -ZONE: Final[str] = CLUSTER_HANDLER_ZONE -CLUSTER_HANDLER_INOVELLI = "inovelli_vzm31sn_cluster" - -AQARA_OPPLE_CLUSTER: Final[int] = 0xFCC0 -IKEA_AIR_PURIFIER_CLUSTER: Final[int] = 0xFC7D -IKEA_REMOTE_CLUSTER: Final[int] = 0xFC80 -IKEA_SHORTCUT_V1_CLUSTER: Final[int] = 0xFC7F -INOVELLI_CLUSTER: Final[int] = 0xFC31 -OSRAM_BUTTON_CLUSTER: Final[int] = 0xFD00 -PHILIPS_CONTACT_CLUSTER: Final[int] = 0xFC06 -PHILLIPS_REMOTE_CLUSTER: Final[int] = 0xFC00 -SMARTTHINGS_ACCELERATION_CLUSTER: Final[int] = 0xFC02 -SMARTTHINGS_HUMIDITY_CLUSTER: Final[int] = 0xFC45 -SONOFF_CLUSTER: Final[int] = 0xFC11 -TUYA_MANUFACTURER_CLUSTER: Final[int] = 0xEF00 -VOC_LEVEL_CLUSTER: Final[int] = 0x042E -SINOPE_MANUFACTURER_CLUSTER: Final[int] = 0xFF01 -LEGRAND_CABLE_OUTLET_CLUSTER: Final[int] = 0xFC40 - -CLUSTER_HANDLER_EVENT: Final[str] = "cluster_handler_event" -CLUSTER_HANDLER_ATTRIBUTE_UPDATED: Final[str] = "cluster_handler_attribute_updated" -CLUSTER_HANDLER_STATE_CHANGED: Final[str] = "cluster_handler_state_changed" -CLUSTER_HANDLER_LEVEL_CHANGED: Final[str] = "cluster_handler_level_changed" - -ATTRIBUTE_ID: Final[str] = "attribute_id" -ATTRIBUTE_NAME: Final[str] = "attribute_name" -ATTRIBUTE_VALUE: Final[str] = "attribute_value" - -UNIQUE_ID: Final[str] = "unique_id" -CLUSTER_ID: Final[str] = "cluster_id" -COMMAND: Final[str] = "command" -ARGS: Final[str] = "args" -PARAMS: Final[str] = "params" - -SIGNAL_ATTR_UPDATED: Final[str] = "attribute_updated" -SIGNAL_MOVE_LEVEL: Final[str] = "move_level" -SIGNAL_REMOVE: Final[str] = "remove" -SIGNAL_SET_LEVEL: Final[str] = "set_level" -SIGNAL_STATE_ATTR: Final[str] = "update_state_attribute" -UNKNOWN: Final[str] = "unknown" -VALUE: Final[str] = "value" diff --git a/zha/zigbee/cluster_handlers/general.py b/zha/zigbee/cluster_handlers/general.py deleted file mode 100644 index 858924993..000000000 --- a/zha/zigbee/cluster_handlers/general.py +++ /dev/null @@ -1,467 +0,0 @@ -"""General cluster handlers module for Zigbee Home Automation.""" - -from __future__ import annotations - -from dataclasses import dataclass -from typing import TYPE_CHECKING, Final - -import zigpy.exceptions -import zigpy.types as t -import zigpy.zcl -from zigpy.zcl import ( - AttributeReadEvent, - AttributeReportedEvent, - AttributeUpdatedEvent, - AttributeWrittenEvent, -) -from zigpy.zcl.clusters.general import ( - AnalogInput, - AnalogOutput, - Basic, - BinaryInput, - BinaryOutput, - LevelControl, - MultistateInput, - OnOff, - Ota, -) -from zigpy.zcl.clusters.general_const import ApplicationType -from zigpy.zcl.foundation import Status - -from zha.exceptions import ZHAException -from zha.zigbee.cluster_handlers import ( - AttrReportConfig, - ClientClusterHandler, - ClusterHandler, - parse_and_log_command, - registries, -) -from zha.zigbee.cluster_handlers.const import ( - CLUSTER_HANDLER_LEVEL_CHANGED, - REPORT_CONFIG_ASAP, - REPORT_CONFIG_BATTERY_SAVE, - REPORT_CONFIG_DEFAULT, - REPORT_CONFIG_IMMEDIATE, - REPORT_CONFIG_MAX_INT, - REPORT_CONFIG_MIN_INT, - SIGNAL_MOVE_LEVEL, - SIGNAL_SET_LEVEL, -) - -if TYPE_CHECKING: - from zha.zigbee.endpoint import Endpoint - - -@dataclass(frozen=True, kw_only=True) -class LevelChangeEvent: - """Event to signal that a cluster attribute has been updated.""" - - level: int - event: str - event_type: Final[str] = "cluster_handler_event" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(AnalogInput.cluster_id) -class AnalogInputClusterHandler(ClusterHandler): - """Analog Input cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=AnalogInput.AttributeDefs.present_value.name, - config=REPORT_CONFIG_DEFAULT, - ), - ) - ZCL_INIT_ATTRS = { - AnalogInput.AttributeDefs.description.name: True, - AnalogInput.AttributeDefs.max_present_value.name: True, - AnalogInput.AttributeDefs.min_present_value.name: True, - AnalogInput.AttributeDefs.out_of_service.name: True, - AnalogInput.AttributeDefs.reliability.name: True, - AnalogInput.AttributeDefs.resolution.name: True, - AnalogInput.AttributeDefs.status_flags.name: True, - AnalogInput.AttributeDefs.engineering_units.name: True, - AnalogInput.AttributeDefs.application_type.name: True, - } - - @property - def present_value(self) -> float | None: - """Return cached value of present_value.""" - return self.cluster.get(AnalogInput.AttributeDefs.present_value.name) - - @property - def description(self) -> str | None: - """Return cached value of description.""" - return self.cluster.get(AnalogInput.AttributeDefs.description.name) - - @property - def max_present_value(self) -> float | None: - """Return cached value of max_present_value.""" - return self.cluster.get(AnalogInput.AttributeDefs.max_present_value.name) - - @property - def min_present_value(self) -> float | None: - """Return cached value of min_present_value.""" - return self.cluster.get(AnalogInput.AttributeDefs.min_present_value.name) - - @property - def out_of_service(self) -> bool | None: - """Return cached value of out_of_service.""" - return self.cluster.get(AnalogInput.AttributeDefs.out_of_service.name) - - @property - def reliability(self) -> int | None: - """Return cached value of reliability.""" - return self.cluster.get(AnalogInput.AttributeDefs.reliability.name) - - @property - def resolution(self) -> float | None: - """Return cached value of resolution.""" - return self.cluster.get(AnalogInput.AttributeDefs.resolution.name) - - @property - def status_flags(self) -> int | None: - """Return cached value of status_flags.""" - return self.cluster.get(AnalogInput.AttributeDefs.status_flags.name) - - @property - def engineering_units(self) -> int | None: - """Return cached value of engineering_units.""" - return self.cluster.get(AnalogInput.AttributeDefs.engineering_units.name) - - @property - def application_type(self) -> ApplicationType | None: - """Return cached value of application_type.""" - result = self.cluster.get(AnalogInput.AttributeDefs.application_type.name) - if result is None: - return None - return ApplicationType(result) - - -@registries.BINDABLE_CLUSTERS.register(AnalogOutput.cluster_id) -@registries.CLUSTER_HANDLER_REGISTRY.register(AnalogOutput.cluster_id) -class AnalogOutputClusterHandler(ClusterHandler): - """Analog Output cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=AnalogOutput.AttributeDefs.present_value.name, - config=REPORT_CONFIG_DEFAULT, - ), - ) - ZCL_INIT_ATTRS = { - AnalogOutput.AttributeDefs.min_present_value.name: True, - AnalogOutput.AttributeDefs.max_present_value.name: True, - AnalogOutput.AttributeDefs.resolution.name: True, - AnalogOutput.AttributeDefs.relinquish_default.name: True, - AnalogOutput.AttributeDefs.description.name: True, - AnalogOutput.AttributeDefs.engineering_units.name: True, - AnalogOutput.AttributeDefs.application_type.name: True, - } - - @property - def present_value(self) -> float | None: - """Return cached value of present_value.""" - return self.cluster.get(AnalogOutput.AttributeDefs.present_value.name) - - @property - def min_present_value(self) -> float | None: - """Return cached value of min_present_value.""" - return self.cluster.get(AnalogOutput.AttributeDefs.min_present_value.name) - - @property - def max_present_value(self) -> float | None: - """Return cached value of max_present_value.""" - return self.cluster.get(AnalogOutput.AttributeDefs.max_present_value.name) - - @property - def resolution(self) -> float | None: - """Return cached value of resolution.""" - return self.cluster.get(AnalogOutput.AttributeDefs.resolution.name) - - @property - def relinquish_default(self) -> float | None: - """Return cached value of relinquish_default.""" - return self.cluster.get(AnalogOutput.AttributeDefs.relinquish_default.name) - - @property - def description(self) -> str | None: - """Return cached value of description.""" - return self.cluster.get(AnalogOutput.AttributeDefs.description.name) - - @property - def engineering_units(self) -> int | None: - """Return cached value of engineering_units.""" - return self.cluster.get(AnalogOutput.AttributeDefs.engineering_units.name) - - @property - def application_type(self) -> int | None: - """Return cached value of application_type.""" - return self.cluster.get(AnalogOutput.AttributeDefs.application_type.name) - - async def async_set_present_value(self, value: float) -> None: - """Update present_value.""" - await self.write_attributes_safe( - {AnalogOutput.AttributeDefs.present_value.name: value} - ) - - -@registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(Basic.cluster_id) -@registries.CLUSTER_HANDLER_REGISTRY.register(Basic.cluster_id) -class BasicClusterHandler(ClusterHandler): - """Cluster handler to interact with the basic cluster. - - Per-model attribute initialization (Hue `trigger_indicator`, TI router - `transmit_power`, Aqara curtain `power_source`) lives on the corresponding - entities' `_server_cluster_config` now. - """ - - UNKNOWN = 0 - BATTERY = 3 - BIND: bool = False - - POWER_SOURCES = { - UNKNOWN: "Unknown", - 1: "Mains (single phase)", - 2: "Mains (3 phase)", - BATTERY: "Battery", - 4: "DC source", - 5: "Emergency mains constantly powered", - 6: "Emergency mains and transfer switch", - } - - -@registries.CLUSTER_HANDLER_REGISTRY.register(BinaryInput.cluster_id) -class BinaryInputClusterHandler(ClusterHandler): - """Binary Input cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=BinaryInput.AttributeDefs.present_value.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - ) - - ZCL_INIT_ATTRS = { - BinaryInput.AttributeDefs.description.name: True, - } - - @property - def description(self) -> str | None: - """Return cached value of description.""" - return self.cluster.get(BinaryInput.AttributeDefs.description.name) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(BinaryOutput.cluster_id) -class BinaryOutputClusterHandler(ClusterHandler): - """Binary Output cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=BinaryOutput.AttributeDefs.present_value.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - ) - - ZCL_INIT_ATTRS = { - BinaryOutput.AttributeDefs.description.name: True, - } - - @property - def description(self) -> str | None: - """Return cached value of description.""" - return self.cluster.get(BinaryOutput.AttributeDefs.description.name) - - @property - def present_value(self) -> bool | None: - """Return cached value of present_value.""" - return self.cluster.get(BinaryOutput.AttributeDefs.present_value.name) - - async def async_set_present_value(self, value: bool) -> None: - """Update present_value.""" - await self.write_attributes_safe( - {BinaryOutput.AttributeDefs.present_value.name: value} - ) - - -@registries.BINDABLE_CLUSTERS.register(LevelControl.cluster_id) -@registries.CLUSTER_HANDLER_REGISTRY.register(LevelControl.cluster_id) -class LevelControlClusterHandler(ClusterHandler): - """Cluster handler for the LevelControl Zigbee cluster.""" - - CURRENT_LEVEL = 0 - REPORT_CONFIG = ( - AttrReportConfig( - attr=LevelControl.AttributeDefs.current_level.name, - config=REPORT_CONFIG_ASAP, - ), - ) - ZCL_INIT_ATTRS = { - LevelControl.AttributeDefs.on_off_transition_time.name: True, - LevelControl.AttributeDefs.on_level.name: True, - LevelControl.AttributeDefs.on_transition_time.name: True, - LevelControl.AttributeDefs.off_transition_time.name: True, - LevelControl.AttributeDefs.default_move_rate.name: True, - LevelControl.AttributeDefs.start_up_current_level.name: True, - } - - @property - def current_level(self) -> int | None: - """Return cached value of the current_level attribute.""" - return self.cluster.get(LevelControl.AttributeDefs.current_level.name) - - def cluster_command(self, tsn, command_id, args): - """Handle commands received to this cluster.""" - cmd = parse_and_log_command(self, tsn, command_id, args) - - if cmd in ( - LevelControl.ServerCommandDefs.move_to_level.name, - LevelControl.ServerCommandDefs.move_to_level_with_on_off.name, - ): - self.dispatch_level_change(SIGNAL_SET_LEVEL, args[0]) - elif cmd in ( - LevelControl.ServerCommandDefs.move.name, - LevelControl.ServerCommandDefs.move_with_on_off.name, - ): - # We should dim slowly -- for now, just step once - rate = args[1] - if args[0] == 0xFF: - rate = 10 # Should read default move rate - self.dispatch_level_change(SIGNAL_MOVE_LEVEL, -rate if args[0] else rate) - elif cmd in ( - LevelControl.ServerCommandDefs.step.name, - LevelControl.ServerCommandDefs.step_with_on_off.name, - ): - # Step (technically may change on/off) - self.dispatch_level_change( - SIGNAL_MOVE_LEVEL, -args[1] if args[0] else args[1] - ) - - def _handle_attribute_updated_event( - self, - event: AttributeReadEvent - | AttributeReportedEvent - | AttributeUpdatedEvent - | AttributeWrittenEvent, - ) -> None: - """Handle attribute updates on this cluster.""" - self.debug( - "received attribute: %s update with value: %s", - event.attribute_id, - event.value, - ) - if event.attribute_id == self.CURRENT_LEVEL: - self.dispatch_level_change(SIGNAL_SET_LEVEL, event.value) - else: - super()._handle_attribute_updated_event(event) - - def dispatch_level_change(self, command, level): - """Dispatch level change.""" - self.emit( - CLUSTER_HANDLER_LEVEL_CHANGED, - LevelChangeEvent( - level=level, - event=f"cluster_handler_{command}", - ), - ) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(MultistateInput.cluster_id) -class MultistateInputClusterHandler(ClusterHandler): - """Multistate Input cluster handler. - - Kept for `XiaomiVibrationAQ1ClusterHandler` to subclass. - """ - - -@registries.BINDABLE_CLUSTERS.register(OnOff.cluster_id) -@registries.CLUSTER_HANDLER_REGISTRY.register(OnOff.cluster_id) -class OnOffClusterHandler(ClusterHandler): - """Cluster handler for the OnOff Zigbee cluster.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=OnOff.AttributeDefs.on_off.name, config=REPORT_CONFIG_IMMEDIATE - ), - ) - ZCL_INIT_ATTRS = { - OnOff.AttributeDefs.start_up_on_off.name: True, - } - - @classmethod - def matches(cls, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> bool: - """Filter the cluster match for specific devices.""" - return not ( - cluster.endpoint.device.manufacturer == "Konke" - and cluster.endpoint.device.model - in ("3AFE280100510001", "3AFE170100510001") - ) - - @property - def on_off(self) -> bool | None: - """Return cached value of on/off attribute.""" - return self.cluster.get(OnOff.AttributeDefs.on_off.name) - - async def turn_on(self) -> None: - """Turn the on off cluster on.""" - result = await self.on() - if result[1] is not Status.SUCCESS: - raise ZHAException(f"Failed to turn on: {result[1]}") - self.cluster.update_attribute(OnOff.AttributeDefs.on_off.id, t.Bool.true) - - async def turn_off(self) -> None: - """Turn the on off cluster off.""" - result = await self.off() - if result[1] is not Status.SUCCESS: - raise ZHAException(f"Failed to turn off: {result[1]}") - self.cluster.update_attribute(OnOff.AttributeDefs.on_off.id, t.Bool.false) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(Ota.cluster_id) -class OtaClusterHandler(ClusterHandler): - """OTA cluster handler.""" - - BIND: bool = False - - # Some devices have this cluster in the wrong collection (e.g. Third Reality) - ZCL_INIT_ATTRS = { - Ota.AttributeDefs.current_file_version.name: True, - } - - @property - def current_file_version(self) -> int | None: - """Return cached value of current_file_version attribute.""" - return self.cluster.get(Ota.AttributeDefs.current_file_version.name) - - -@registries.CLIENT_CLUSTER_HANDLER_REGISTRY.register(Ota.cluster_id) -class OtaClientClusterHandler(ClientClusterHandler): - """OTA client cluster handler. - - The `current_file_version` cache update on `query_next_image` lives on the - `OtaCurrentFileVersionCache` virtual entity now. - """ - - BIND: bool = False - - ZCL_INIT_ATTRS = { - Ota.AttributeDefs.current_file_version.name: True, - } - - @property - def current_file_version(self) -> int | None: - """Return cached value of current_file_version attribute.""" - return self.cluster.get(Ota.AttributeDefs.current_file_version.name) - - def _handle_attribute_updated_event( - self, - event: AttributeReadEvent - | AttributeReportedEvent - | AttributeUpdatedEvent - | AttributeWrittenEvent, - ) -> None: - """Handle an attribute updated on this cluster.""" - # We intentionally avoid the `ClientClusterHandler` attribute update handler: - # it emits a logbook event on every update, which pollutes the logbook - ClusterHandler._handle_attribute_updated_event(self, event) - - diff --git a/zha/zigbee/cluster_handlers/helpers.py b/zha/zigbee/cluster_handlers/helpers.py deleted file mode 100644 index e34238b4b..000000000 --- a/zha/zigbee/cluster_handlers/helpers.py +++ /dev/null @@ -1,23 +0,0 @@ -"""Helpers for use with ZHA Zigbee cluster handlers.""" - -from zha.zigbee.cluster_handlers import ClusterHandler - - -def is_hue_motion_sensor(cluster_handler: ClusterHandler) -> bool: - """Return true if the manufacturer and model match known Hue motion sensor models.""" - return cluster_handler.cluster.endpoint.manufacturer in ( - "Philips", - "Signify Netherlands B.V.", - ) and cluster_handler.cluster.endpoint.model in ( - "SML001", - "SML002", - "SML003", - "SML004", - ) - - -def is_sonoff_presence_sensor(cluster_handler: ClusterHandler) -> bool: - """Return true if the manufacturer and model match known Sonoff sensor models.""" - return cluster_handler.cluster.endpoint.manufacturer in ( - "SONOFF", - ) and cluster_handler.cluster.endpoint.model in ("SNZB-06P", "SNZB-03P") diff --git a/zha/zigbee/cluster_handlers/homeautomation.py b/zha/zigbee/cluster_handlers/homeautomation.py deleted file mode 100644 index 5ef001a48..000000000 --- a/zha/zigbee/cluster_handlers/homeautomation.py +++ /dev/null @@ -1,342 +0,0 @@ -"""Home automation cluster handlers module for Zigbee Home Automation.""" - -from __future__ import annotations - -import enum - -from zigpy.zcl.clusters.homeautomation import ( - ApplianceEventAlerts, - ApplianceIdentification, - ApplianceStatistics, - Diagnostic, - ElectricalMeasurement, - MeterIdentification, -) - -from zha.zigbee.cluster_handlers import AttrReportConfig, ClusterHandler, registries -from zha.zigbee.cluster_handlers.const import ( - CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT, - REPORT_CONFIG_IMMEDIATE, - REPORT_CONFIG_OP, -) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(Diagnostic.cluster_id) -class DiagnosticClusterHandler(ClusterHandler): - """Diagnostic cluster handler.""" - - -@registries.CLUSTER_HANDLER_REGISTRY.register(ElectricalMeasurement.cluster_id) -class ElectricalMeasurementClusterHandler(ClusterHandler): - """Cluster handler that polls active power level.""" - - CLUSTER_HANDLER_NAME = CLUSTER_HANDLER_ELECTRICAL_MEASUREMENT - - class MeasurementType(enum.IntFlag): - """Measurement types.""" - - ACTIVE_MEASUREMENT = 1 - REACTIVE_MEASUREMENT = 2 - APPARENT_MEASUREMENT = 4 - PHASE_A_MEASUREMENT = 8 - PHASE_B_MEASUREMENT = 16 - PHASE_C_MEASUREMENT = 32 - DC_MEASUREMENT = 64 - HARMONICS_MEASUREMENT = 128 - POWER_QUALITY_MEASUREMENT = 256 - - REPORT_CONFIG = ( - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.ac_voltage_multiplier.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.ac_voltage_divisor.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.ac_current_multiplier.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.ac_current_divisor.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.ac_power_multiplier.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.ac_power_divisor.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.power_multiplier.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.power_divisor.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.active_power.name, - config=REPORT_CONFIG_OP, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.active_power_ph_b.name, - config=REPORT_CONFIG_OP, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.active_power_ph_c.name, - config=REPORT_CONFIG_OP, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.total_active_power.name, - config=REPORT_CONFIG_OP, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.apparent_power.name, - config=REPORT_CONFIG_OP, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.rms_current.name, - config=REPORT_CONFIG_OP, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.rms_current_ph_b.name, - config=REPORT_CONFIG_OP, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.rms_current_ph_c.name, - config=REPORT_CONFIG_OP, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.rms_voltage.name, - config=REPORT_CONFIG_OP, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.rms_voltage_ph_b.name, - config=REPORT_CONFIG_OP, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.rms_voltage_ph_c.name, - config=REPORT_CONFIG_OP, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.ac_frequency.name, - config=REPORT_CONFIG_OP, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.dc_voltage_multiplier.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.dc_voltage_divisor.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.dc_current_multiplier.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.dc_current_divisor.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.dc_power_multiplier.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.dc_power_divisor.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.dc_voltage.name, - config=REPORT_CONFIG_OP, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.dc_current.name, - config=REPORT_CONFIG_OP, - ), - AttrReportConfig( - attr=ElectricalMeasurement.AttributeDefs.dc_power.name, - config=REPORT_CONFIG_OP, - ), - ) - ZCL_INIT_ATTRS = { - ElectricalMeasurement.AttributeDefs.ac_frequency_divisor.name: True, - ElectricalMeasurement.AttributeDefs.ac_frequency_max.name: True, - ElectricalMeasurement.AttributeDefs.ac_frequency_multiplier.name: True, - ElectricalMeasurement.AttributeDefs.active_power_max.name: True, - ElectricalMeasurement.AttributeDefs.active_power_max_ph_b.name: True, - ElectricalMeasurement.AttributeDefs.active_power_max_ph_c.name: True, - ElectricalMeasurement.AttributeDefs.measurement_type.name: True, - ElectricalMeasurement.AttributeDefs.power_factor.name: True, - ElectricalMeasurement.AttributeDefs.power_factor_ph_b.name: True, - ElectricalMeasurement.AttributeDefs.power_factor_ph_c.name: True, - ElectricalMeasurement.AttributeDefs.rms_current_max.name: True, - ElectricalMeasurement.AttributeDefs.rms_current_max_ph_b.name: True, - ElectricalMeasurement.AttributeDefs.rms_current_max_ph_c.name: True, - ElectricalMeasurement.AttributeDefs.rms_voltage_max.name: True, - ElectricalMeasurement.AttributeDefs.rms_voltage_max_ph_b.name: True, - ElectricalMeasurement.AttributeDefs.rms_voltage_max_ph_c.name: True, - ElectricalMeasurement.AttributeDefs.dc_voltage_divisor.name: True, - ElectricalMeasurement.AttributeDefs.dc_voltage_multiplier.name: True, - ElectricalMeasurement.AttributeDefs.dc_current_divisor.name: True, - ElectricalMeasurement.AttributeDefs.dc_current_multiplier.name: True, - ElectricalMeasurement.AttributeDefs.dc_power_divisor.name: True, - ElectricalMeasurement.AttributeDefs.dc_power_multiplier.name: True, - } - - @property - def ac_current_divisor(self) -> int: - """Return ac current divisor.""" - return ( - self.cluster.get( - ElectricalMeasurement.AttributeDefs.ac_current_divisor.name - ) - or 1 - ) - - @property - def ac_current_multiplier(self) -> int: - """Return ac current multiplier.""" - return ( - self.cluster.get( - ElectricalMeasurement.AttributeDefs.ac_current_multiplier.name - ) - or 1 - ) - - @property - def ac_voltage_divisor(self) -> int: - """Return ac voltage divisor.""" - return ( - self.cluster.get( - ElectricalMeasurement.AttributeDefs.ac_voltage_divisor.name - ) - or 1 - ) - - @property - def ac_voltage_multiplier(self) -> int: - """Return ac voltage multiplier.""" - return ( - self.cluster.get( - ElectricalMeasurement.AttributeDefs.ac_voltage_multiplier.name - ) - or 1 - ) - - @property - def ac_frequency_divisor(self) -> int: - """Return ac frequency divisor.""" - return ( - self.cluster.get( - ElectricalMeasurement.AttributeDefs.ac_frequency_divisor.name - ) - or 1 - ) - - @property - def ac_frequency_multiplier(self) -> int: - """Return ac frequency multiplier.""" - return ( - self.cluster.get( - ElectricalMeasurement.AttributeDefs.ac_frequency_multiplier.name - ) - or 1 - ) - - @property - def ac_power_divisor(self) -> int: - """Return active power divisor.""" - return self.cluster.get( - ElectricalMeasurement.AttributeDefs.ac_power_divisor.name, - self.cluster.get(ElectricalMeasurement.AttributeDefs.power_divisor.name) - or 1, - ) - - @property - def ac_power_multiplier(self) -> int: - """Return active power multiplier.""" - return self.cluster.get( - ElectricalMeasurement.AttributeDefs.ac_power_multiplier.name, - self.cluster.get(ElectricalMeasurement.AttributeDefs.power_multiplier.name) - or 1, - ) - - @property - def dc_voltage_divisor(self) -> int: - """Return DC voltage divisor.""" - return ( - self.cluster.get( - ElectricalMeasurement.AttributeDefs.dc_voltage_divisor.name - ) - or 1 - ) - - @property - def dc_voltage_multiplier(self) -> int: - """Return DC voltage multiplier.""" - return ( - self.cluster.get( - ElectricalMeasurement.AttributeDefs.dc_voltage_multiplier.name - ) - or 1 - ) - - @property - def dc_current_divisor(self) -> int: - """Return DC current divisor.""" - return ( - self.cluster.get( - ElectricalMeasurement.AttributeDefs.dc_current_divisor.name - ) - or 1 - ) - - @property - def dc_current_multiplier(self) -> int: - """Return DC current multiplier.""" - return ( - self.cluster.get( - ElectricalMeasurement.AttributeDefs.dc_current_multiplier.name - ) - or 1 - ) - - @property - def dc_power_divisor(self) -> int: - """Return DC power divisor.""" - return self.cluster.get( - ElectricalMeasurement.AttributeDefs.dc_power_divisor.name, - self.cluster.get(ElectricalMeasurement.AttributeDefs.power_divisor.name) - or 1, - ) - - @property - def dc_power_multiplier(self) -> int: - """Return DC power multiplier.""" - return self.cluster.get( - ElectricalMeasurement.AttributeDefs.dc_power_multiplier.name, - self.cluster.get(ElectricalMeasurement.AttributeDefs.power_multiplier.name) - or 1, - ) - - @property - def measurement_type(self) -> str | None: - """Return Measurement type.""" - if ( - meas_type := self.cluster.get( - ElectricalMeasurement.AttributeDefs.measurement_type.name - ) - ) is None: - return None - - meas_type = self.MeasurementType(meas_type) - return ", ".join( - m.name - for m in self.MeasurementType - if m in meas_type and m.name is not None - ) diff --git a/zha/zigbee/cluster_handlers/hvac.py b/zha/zigbee/cluster_handlers/hvac.py deleted file mode 100644 index 8b06d4a80..000000000 --- a/zha/zigbee/cluster_handlers/hvac.py +++ /dev/null @@ -1,302 +0,0 @@ -"""HVAC cluster handlers module for Zigbee Home Automation.""" - -from __future__ import annotations - -from zigpy.zcl.clusters.hvac import ( - Dehumidification, - Fan, - Pump, - Thermostat, - UserInterface, -) - -from zha.zigbee.cluster_handlers import AttrReportConfig, ClusterHandler, registries -from zha.zigbee.cluster_handlers.const import ( - REPORT_CONFIG_MAX_INT, - REPORT_CONFIG_MIN_INT, - REPORT_CONFIG_OP, -) - -REPORT_CONFIG_CLIMATE = (REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 25) -REPORT_CONFIG_CLIMATE_DEMAND = (REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 5) -REPORT_CONFIG_CLIMATE_DISCRETE = (REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 1) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(Fan.cluster_id) -class FanClusterHandler(ClusterHandler): - """Fan cluster handler.""" - - _value_attribute: str = Fan.AttributeDefs.fan_mode.name - - REPORT_CONFIG = ( - AttrReportConfig(attr=Fan.AttributeDefs.fan_mode.name, config=REPORT_CONFIG_OP), - ) - ZCL_INIT_ATTRS = {Fan.AttributeDefs.fan_mode_sequence.name: True} - - @property - def fan_mode(self) -> int | None: - """Return current fan mode.""" - return self.cluster.get(Fan.AttributeDefs.fan_mode.name) - - @property - def fan_mode_sequence(self) -> int | None: - """Return possible fan mode speeds.""" - return self.cluster.get(Fan.AttributeDefs.fan_mode_sequence.name) - - async def async_set_speed(self, value) -> None: - """Set the speed of the fan.""" - await self.write_attributes_safe({Fan.AttributeDefs.fan_mode.name: value}) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(Thermostat.cluster_id) -class ThermostatClusterHandler(ClusterHandler): - """Thermostat cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=Thermostat.AttributeDefs.local_temperature.name, - config=REPORT_CONFIG_CLIMATE, - ), - AttrReportConfig( - attr=Thermostat.AttributeDefs.occupied_cooling_setpoint.name, - config=REPORT_CONFIG_CLIMATE, - ), - AttrReportConfig( - attr=Thermostat.AttributeDefs.occupied_heating_setpoint.name, - config=REPORT_CONFIG_CLIMATE, - ), - AttrReportConfig( - attr=Thermostat.AttributeDefs.unoccupied_cooling_setpoint.name, - config=REPORT_CONFIG_CLIMATE, - ), - AttrReportConfig( - attr=Thermostat.AttributeDefs.unoccupied_heating_setpoint.name, - config=REPORT_CONFIG_CLIMATE, - ), - AttrReportConfig( - attr=Thermostat.AttributeDefs.running_mode.name, - config=REPORT_CONFIG_CLIMATE_DISCRETE, - ), - AttrReportConfig( - attr=Thermostat.AttributeDefs.running_state.name, - config=REPORT_CONFIG_CLIMATE_DISCRETE, - ), - AttrReportConfig( - attr=Thermostat.AttributeDefs.system_mode.name, - config=REPORT_CONFIG_CLIMATE_DISCRETE, - ), - AttrReportConfig( - attr=Thermostat.AttributeDefs.occupancy.name, - config=REPORT_CONFIG_CLIMATE_DISCRETE, - ), - AttrReportConfig( - attr=Thermostat.AttributeDefs.pi_cooling_demand.name, - config=REPORT_CONFIG_CLIMATE_DEMAND, - ), - AttrReportConfig( - attr=Thermostat.AttributeDefs.pi_heating_demand.name, - config=REPORT_CONFIG_CLIMATE_DEMAND, - ), - ) - ZCL_INIT_ATTRS: dict[str, bool] = { - Thermostat.AttributeDefs.abs_min_heat_setpoint_limit.name: True, - Thermostat.AttributeDefs.abs_max_heat_setpoint_limit.name: True, - Thermostat.AttributeDefs.abs_min_cool_setpoint_limit.name: True, - Thermostat.AttributeDefs.abs_max_cool_setpoint_limit.name: True, - Thermostat.AttributeDefs.ctrl_sequence_of_oper.name: False, - Thermostat.AttributeDefs.max_cool_setpoint_limit.name: True, - Thermostat.AttributeDefs.max_heat_setpoint_limit.name: True, - Thermostat.AttributeDefs.min_cool_setpoint_limit.name: True, - Thermostat.AttributeDefs.min_heat_setpoint_limit.name: True, - Thermostat.AttributeDefs.local_temperature_calibration.name: True, - Thermostat.AttributeDefs.setpoint_change_source.name: True, - Thermostat.AttributeDefs.setpoint_change_source_timestamp.name: True, - } - - @property - def abs_max_cool_setpoint_limit(self) -> int: - """Absolute maximum cooling setpoint.""" - return self.cluster.get( - Thermostat.AttributeDefs.abs_max_cool_setpoint_limit.name, 3200 - ) - - @property - def abs_min_cool_setpoint_limit(self) -> int: - """Absolute minimum cooling setpoint.""" - return self.cluster.get( - Thermostat.AttributeDefs.abs_min_cool_setpoint_limit.name, 1600 - ) - - @property - def abs_max_heat_setpoint_limit(self) -> int: - """Absolute maximum heating setpoint.""" - return self.cluster.get( - Thermostat.AttributeDefs.abs_max_heat_setpoint_limit.name, 3000 - ) - - @property - def abs_min_heat_setpoint_limit(self) -> int: - """Absolute minimum heating setpoint.""" - return self.cluster.get( - Thermostat.AttributeDefs.abs_min_heat_setpoint_limit.name, 700 - ) - - @property - def ctrl_sequence_of_oper(self) -> int: - """Control Sequence of operations attribute.""" - return self.cluster.get( - Thermostat.AttributeDefs.ctrl_sequence_of_oper.name, 0xFF - ) - - @property - def max_cool_setpoint_limit(self) -> int: - """Maximum cooling setpoint.""" - sp_limit = self.cluster.get( - Thermostat.AttributeDefs.max_cool_setpoint_limit.name - ) - if sp_limit is None: - return self.abs_max_cool_setpoint_limit - return sp_limit - - @property - def min_cool_setpoint_limit(self) -> int: - """Minimum cooling setpoint.""" - sp_limit = self.cluster.get( - Thermostat.AttributeDefs.min_cool_setpoint_limit.name - ) - if sp_limit is None: - return self.abs_min_cool_setpoint_limit - return sp_limit - - @property - def max_heat_setpoint_limit(self) -> int: - """Maximum heating setpoint.""" - sp_limit = self.cluster.get( - Thermostat.AttributeDefs.max_heat_setpoint_limit.name - ) - if sp_limit is None: - return self.abs_max_heat_setpoint_limit - return sp_limit - - @property - def min_heat_setpoint_limit(self) -> int: - """Minimum heating setpoint.""" - sp_limit = self.cluster.get( - Thermostat.AttributeDefs.min_heat_setpoint_limit.name - ) - if sp_limit is None: - return self.abs_min_heat_setpoint_limit - return sp_limit - - @property - def local_temperature(self) -> int | None: - """Thermostat temperature.""" - return self.cluster.get(Thermostat.AttributeDefs.local_temperature.name) - - @property - def outdoor_temperature(self) -> int | None: - """Thermostat outdoor temperature.""" - return self.cluster.get(Thermostat.AttributeDefs.outdoor_temperature.name) - - @property - def occupancy(self) -> int | None: - """Is occupancy detected.""" - return self.cluster.get(Thermostat.AttributeDefs.occupancy.name) - - @property - def occupied_cooling_setpoint(self) -> int | None: - """Temperature when room is occupied.""" - return self.cluster.get(Thermostat.AttributeDefs.occupied_cooling_setpoint.name) - - @property - def occupied_heating_setpoint(self) -> int | None: - """Temperature when room is occupied.""" - return self.cluster.get(Thermostat.AttributeDefs.occupied_heating_setpoint.name) - - @property - def pi_cooling_demand(self) -> int | None: - """Cooling demand.""" - return self.cluster.get(Thermostat.AttributeDefs.pi_cooling_demand.name) - - @property - def pi_heating_demand(self) -> int | None: - """Heating demand.""" - return self.cluster.get(Thermostat.AttributeDefs.pi_heating_demand.name) - - @property - def running_mode(self) -> int | None: - """Thermostat running mode.""" - return self.cluster.get(Thermostat.AttributeDefs.running_mode.name) - - @property - def running_state(self) -> int | None: - """Thermostat running state, state of heat, cool, fan relays.""" - return self.cluster.get(Thermostat.AttributeDefs.running_state.name) - - @property - def system_mode(self) -> int | None: - """System mode.""" - return self.cluster.get(Thermostat.AttributeDefs.system_mode.name) - - @property - def unoccupied_cooling_setpoint(self) -> int | None: - """Temperature when room is not occupied.""" - return self.cluster.get( - Thermostat.AttributeDefs.unoccupied_cooling_setpoint.name - ) - - @property - def unoccupied_heating_setpoint(self) -> int | None: - """Temperature when room is not occupied.""" - return self.cluster.get( - Thermostat.AttributeDefs.unoccupied_heating_setpoint.name - ) - - async def async_set_operation_mode(self, mode) -> bool: - """Set Operation mode.""" - await self.write_attributes_safe( - {Thermostat.AttributeDefs.system_mode.name: mode} - ) - return True - - async def async_set_heating_setpoint( - self, temperature: int, is_away: bool = False - ) -> bool: - """Set heating setpoint.""" - attr = ( - Thermostat.AttributeDefs.unoccupied_heating_setpoint.name - if is_away - else Thermostat.AttributeDefs.occupied_heating_setpoint.name - ) - await self.write_attributes_safe({attr: temperature}) - return True - - async def async_set_cooling_setpoint( - self, temperature: int, is_away: bool = False - ) -> bool: - """Set cooling setpoint.""" - attr = ( - Thermostat.AttributeDefs.unoccupied_cooling_setpoint.name - if is_away - else Thermostat.AttributeDefs.occupied_cooling_setpoint.name - ) - await self.write_attributes_safe({attr: temperature}) - return True - - async def get_occupancy(self) -> bool | None: - """Get unreportable occupancy attribute.""" - res, fail = await self.read_attributes( - [Thermostat.AttributeDefs.occupancy.name] - ) - self.debug("read 'occupancy' attr, success: %s, fail: %s", res, fail) - if Thermostat.AttributeDefs.occupancy.name not in res: - return None - return bool(self.occupancy) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(UserInterface.cluster_id) -class UserInterfaceClusterHandler(ClusterHandler): - """User interface (thermostat) cluster handler. - - Kept for `DanfossUserInterfaceClusterHandler` to subclass. - """ diff --git a/zha/zigbee/cluster_handlers/lighting.py b/zha/zigbee/cluster_handlers/lighting.py deleted file mode 100644 index 0312482da..000000000 --- a/zha/zigbee/cluster_handlers/lighting.py +++ /dev/null @@ -1,148 +0,0 @@ -"""Lighting cluster handlers module for Zigbee Home Automation.""" - -from __future__ import annotations - -from zigpy.zcl.clusters.lighting import Color - -from zha.zigbee.cluster_handlers import AttrReportConfig, ClusterHandler, registries -from zha.zigbee.cluster_handlers.const import REPORT_CONFIG_DEFAULT - - -@registries.BINDABLE_CLUSTERS.register(Color.cluster_id) -@registries.CLUSTER_HANDLER_REGISTRY.register(Color.cluster_id) -class ColorClusterHandler(ClusterHandler): - """Color cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=Color.AttributeDefs.current_x.name, - config=REPORT_CONFIG_DEFAULT, - ), - AttrReportConfig( - attr=Color.AttributeDefs.current_y.name, - config=REPORT_CONFIG_DEFAULT, - ), - AttrReportConfig( - attr=Color.AttributeDefs.color_temperature.name, - config=REPORT_CONFIG_DEFAULT, - ), - ) - MAX_MIREDS: int = 500 - MIN_MIREDS: int = 153 - ZCL_INIT_ATTRS = { - Color.AttributeDefs.color_mode.name: False, - Color.AttributeDefs.color_temp_physical_min.name: True, - Color.AttributeDefs.color_temp_physical_max.name: True, - Color.AttributeDefs.color_capabilities.name: True, - Color.AttributeDefs.color_loop_active.name: False, - Color.AttributeDefs.start_up_color_temperature.name: True, - Color.AttributeDefs.options.name: True, - } - - @property - def color_capabilities(self) -> Color.ColorCapabilities: - """Return ZCL color capabilities of the light.""" - color_capabilities = self.cluster.get( - Color.AttributeDefs.color_capabilities.name - ) - if color_capabilities is None: - return Color.ColorCapabilities.XY_attributes - return Color.ColorCapabilities(color_capabilities) - - @property - def color_mode(self) -> int | None: - """Return cached value of the color_mode attribute.""" - return self.cluster.get(Color.AttributeDefs.color_mode.name) - - @property - def color_loop_active(self) -> int | None: - """Return cached value of the color_loop_active attribute.""" - return self.cluster.get(Color.AttributeDefs.color_loop_active.name) - - @property - def color_temperature(self) -> int | None: - """Return cached value of color temperature.""" - return self.cluster.get(Color.AttributeDefs.color_temperature.name) - - @property - def current_x(self) -> int | None: - """Return cached value of the current_x attribute.""" - return self.cluster.get(Color.AttributeDefs.current_x.name) - - @property - def current_y(self) -> int | None: - """Return cached value of the current_y attribute.""" - return self.cluster.get(Color.AttributeDefs.current_y.name) - - @property - def current_saturation(self) -> int | None: - """Return cached value of the current_saturation attribute.""" - return self.cluster.get(Color.AttributeDefs.current_saturation.name) - - @property - def min_mireds(self) -> int: - """Return the coldest color_temp that this cluster handler supports.""" - min_mireds = self.cluster.get( - Color.AttributeDefs.color_temp_physical_min.name, self.MIN_MIREDS - ) - if min_mireds == 0: - self.warning( - ( - "[Min mireds is 0, setting to %s] Please open an issue on the" - " quirks repo to have this device corrected" - ), - self.MIN_MIREDS, - ) - min_mireds = self.MIN_MIREDS - return min_mireds - - @property - def max_mireds(self) -> int: - """Return the warmest color_temp that this cluster handler supports.""" - max_mireds = self.cluster.get( - Color.AttributeDefs.color_temp_physical_max.name, self.MAX_MIREDS - ) - if max_mireds == 0: - self.warning( - ( - "[Max mireds is 0, setting to %s] Please open an issue on the" - " quirks repo to have this device corrected" - ), - self.MAX_MIREDS, - ) - max_mireds = self.MAX_MIREDS - return max_mireds - - @property - def xy_supported(self) -> bool: - """Return True if the cluster handler supports xy.""" - return ( - self.color_capabilities is not None - and Color.ColorCapabilities.XY_attributes in self.color_capabilities - ) - - @property - def color_temp_supported(self) -> bool: - """Return True if the cluster handler supports color temperature.""" - return ( - self.color_capabilities is not None - and Color.ColorCapabilities.Color_temperature in self.color_capabilities - ) or self.color_temperature is not None - - @property - def color_loop_supported(self) -> bool: - """Return True if the cluster handler supports color loop.""" - return ( - self.color_capabilities is not None - and Color.ColorCapabilities.Color_loop in self.color_capabilities - ) - - @property - def options(self) -> Color.Options: - """Return ZCL options of the cluster handler.""" - return Color.Options(self.cluster.get(Color.AttributeDefs.options.name, 0)) - - @property - def execute_if_off_supported(self) -> bool: - """Return True if the cluster handler can execute commands when off.""" - return Color.Options.Execute_if_off in self.options diff --git a/zha/zigbee/cluster_handlers/lightlink.py b/zha/zigbee/cluster_handlers/lightlink.py deleted file mode 100644 index 5c52f505d..000000000 --- a/zha/zigbee/cluster_handlers/lightlink.py +++ /dev/null @@ -1,16 +0,0 @@ -"""Lightlink cluster handlers module for Zigbee Home Automation.""" - -from zigpy.zcl.clusters.lightlink import LightLink - -from zha.zigbee.cluster_handlers import ClusterHandler, registries - - -@registries.CLUSTER_HANDLER_REGISTRY.register(LightLink.cluster_id) -class LightLinkClusterHandler(ClusterHandler): - """LightLink cluster handler. - - Coordinator group joining lives on the `LightLinkGroupJoin` virtual entity - now. - """ - - BIND: bool = False diff --git a/zha/zigbee/cluster_handlers/manufacturerspecific.py b/zha/zigbee/cluster_handlers/manufacturerspecific.py deleted file mode 100644 index cc60008c1..000000000 --- a/zha/zigbee/cluster_handlers/manufacturerspecific.py +++ /dev/null @@ -1,154 +0,0 @@ -"""Manufacturer specific cluster handlers module for Zigbee Home Automation.""" - -from __future__ import annotations - -from typing import TYPE_CHECKING - -from zhaquirks.quirk_ids import XIAOMI_AQARA_VIBRATION_AQ1 -import zigpy.zcl -from zigpy.zcl import ( - AttributeReadEvent, - AttributeReportedEvent, - AttributeUpdatedEvent, - AttributeWrittenEvent, -) -from zigpy.zcl.clusters.closures import DoorLock - -from zha.zigbee.cluster_handlers import ( - AttrReportConfig, - ClientClusterHandler, - ClusterHandler, - registries, -) -from zha.zigbee.cluster_handlers.const import ( - IKEA_AIR_PURIFIER_CLUSTER, - IKEA_REMOTE_CLUSTER, - IKEA_SHORTCUT_V1_CLUSTER, - INOVELLI_CLUSTER, - REPORT_CONFIG_ASAP, - REPORT_CONFIG_DEFAULT, - REPORT_CONFIG_IMMEDIATE, - SMARTTHINGS_ACCELERATION_CLUSTER, -) -from zha.zigbee.cluster_handlers.general import MultistateInputClusterHandler - -if TYPE_CHECKING: - from zha.zigbee.endpoint import Endpoint - - -@registries.CLUSTER_HANDLER_REGISTRY.register(SMARTTHINGS_ACCELERATION_CLUSTER) -class SmartThingsAccelerationClusterHandler(ClusterHandler): - """Smart Things Acceleration cluster handler. - - `zha_event` emission per attribute update lives on the - `SmartThingsAccelerationEvent` virtual entity now. - """ - - REPORT_CONFIG = ( - AttrReportConfig(attr="acceleration", config=REPORT_CONFIG_ASAP), - AttrReportConfig(attr="x_axis", config=REPORT_CONFIG_ASAP), - AttrReportConfig(attr="y_axis", config=REPORT_CONFIG_ASAP), - AttrReportConfig(attr="z_axis", config=REPORT_CONFIG_ASAP), - ) - - @classmethod - def matches(cls, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> bool: - """Filter the cluster match for specific devices.""" - return cluster.endpoint.device.manufacturer in ( - "CentraLite", - "Samjin", - "SmartThings", - ) - - -@registries.CLIENT_CLUSTER_HANDLER_REGISTRY.register(INOVELLI_CLUSTER) -class InovelliNotificationClientClusterHandler(ClientClusterHandler): - """Inovelli Notification cluster handler.""" - - def _handle_attribute_updated_event( - self, - event: AttributeReadEvent - | AttributeReportedEvent - | AttributeUpdatedEvent - | AttributeWrittenEvent, - ) -> None: - """Handle an attribute updated on this cluster.""" - - def cluster_command(self, tsn, command_id, args): - """Handle a cluster command received on this cluster.""" - - -@registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(IKEA_AIR_PURIFIER_CLUSTER) -@registries.CLUSTER_HANDLER_REGISTRY.register(IKEA_AIR_PURIFIER_CLUSTER) -class IkeaAirPurifierClusterHandler(ClusterHandler): - """IKEA Air Purifier cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig(attr="filter_run_time", config=REPORT_CONFIG_DEFAULT), - AttrReportConfig(attr="replace_filter", config=REPORT_CONFIG_IMMEDIATE), - AttrReportConfig(attr="filter_life_time", config=REPORT_CONFIG_DEFAULT), - AttrReportConfig(attr="disable_led", config=REPORT_CONFIG_IMMEDIATE), - AttrReportConfig(attr="air_quality_25pm", config=REPORT_CONFIG_IMMEDIATE), - AttrReportConfig(attr="child_lock", config=REPORT_CONFIG_IMMEDIATE), - AttrReportConfig(attr="fan_mode", config=REPORT_CONFIG_IMMEDIATE), - AttrReportConfig(attr="fan_speed", config=REPORT_CONFIG_IMMEDIATE), - AttrReportConfig(attr="device_run_time", config=REPORT_CONFIG_DEFAULT), - ) - - @property - def fan_mode(self) -> int | None: - """Return current fan mode.""" - return self.cluster.get("fan_mode") - - @property - def fan_speed(self) -> int | None: - """Return current fan speed.""" - return self.cluster.get("fan_speed") - - @property - def fan_mode_sequence(self) -> int | None: - """Return possible fan mode speeds.""" - return self.cluster.get("fan_mode_sequence") - - async def async_set_speed(self, value) -> None: - """Set the speed of the fan.""" - await self.write_attributes_safe({"fan_mode": value}) - - -@registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(IKEA_REMOTE_CLUSTER) -@registries.CLIENT_CLUSTER_HANDLER_REGISTRY.register(IKEA_REMOTE_CLUSTER) -class IkeaRemoteClientClusterHandler(ClientClusterHandler): - """Ikea Matter remote cluster handler.""" - - REPORT_CONFIG = () - - def cluster_command(self, tsn, command_id, args): - """Handle a cluster command received on this cluster.""" - # Do not emit ZHA events when receiving a client command, this duplicates the - # existing event sent by the quirk. - pass - - -@registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(IKEA_SHORTCUT_V1_CLUSTER) -@registries.CLIENT_CLUSTER_HANDLER_REGISTRY.register(IKEA_SHORTCUT_V1_CLUSTER) -class IkeaSymfoniskRemoteClientClusterHandler(ClientClusterHandler): - """Ikea Symfonisk remote cluster handler.""" - - REPORT_CONFIG = () - - def cluster_command(self, tsn, command_id, args): - """Handle a cluster command received on this cluster.""" - # Do not emit ZHA events when receiving a client command, this duplicates the - # existing event sent by the quirk. - pass - - -@registries.CLUSTER_HANDLER_REGISTRY.register( - DoorLock.cluster_id, XIAOMI_AQARA_VIBRATION_AQ1 -) -class XiaomiVibrationAQ1ClusterHandler(MultistateInputClusterHandler): - """Xiaomi DoorLock Cluster is in fact a MultiStateInput Cluster.""" - - - - diff --git a/zha/zigbee/cluster_handlers/measurement.py b/zha/zigbee/cluster_handlers/measurement.py deleted file mode 100644 index 47d406e7b..000000000 --- a/zha/zigbee/cluster_handlers/measurement.py +++ /dev/null @@ -1,45 +0,0 @@ -"""Measurement cluster handlers module for Zigbee Home Automation.""" - -from __future__ import annotations - -from typing import TYPE_CHECKING - -import zigpy.zcl -from zigpy.zcl.clusters.measurement import OccupancySensing - -from zha.zigbee.cluster_handlers import AttrReportConfig, ClusterHandler, registries -from zha.zigbee.cluster_handlers.const import REPORT_CONFIG_IMMEDIATE -from zha.zigbee.cluster_handlers.helpers import ( - is_hue_motion_sensor, - is_sonoff_presence_sensor, -) - -if TYPE_CHECKING: - from zha.zigbee.endpoint import Endpoint - - -@registries.CLUSTER_HANDLER_REGISTRY.register(OccupancySensing.cluster_id) -class OccupancySensingClusterHandler(ClusterHandler): - """Occupancy Sensing cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=OccupancySensing.AttributeDefs.occupancy.name, - config=REPORT_CONFIG_IMMEDIATE, - ), - ) - ZCL_INIT_ATTRS = { - "pir_o_to_u_delay": True, - "pir_u_to_o_delay": True, - } - - def __init__(self, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> None: - """Initialize Occupancy cluster handler.""" - super().__init__(cluster, endpoint) - if is_hue_motion_sensor(self): - self.ZCL_INIT_ATTRS = self.ZCL_INIT_ATTRS.copy() - self.ZCL_INIT_ATTRS["sensitivity"] = True - if is_sonoff_presence_sensor(self): - self.ZCL_INIT_ATTRS = self.ZCL_INIT_ATTRS.copy() - self.ZCL_INIT_ATTRS["ultrasonic_o_to_u_delay"] = True - self.ZCL_INIT_ATTRS["ultrasonic_u_to_o_threshold"] = True diff --git a/zha/zigbee/cluster_handlers/registries.py b/zha/zigbee/cluster_handlers/registries.py deleted file mode 100644 index 07c8dc85e..000000000 --- a/zha/zigbee/cluster_handlers/registries.py +++ /dev/null @@ -1,13 +0,0 @@ -"""Mapping registries for zha cluster handlers.""" - -from zha.decorators import DictRegistry, NestedDictRegistry, SetRegistry -from zha.zigbee.cluster_handlers import ClientClusterHandler, ClusterHandler - -BINDABLE_CLUSTERS = SetRegistry() -CLUSTER_HANDLER_ONLY_CLUSTERS = SetRegistry() -CLIENT_CLUSTER_HANDLER_REGISTRY: DictRegistry[type[ClientClusterHandler]] = ( - DictRegistry() -) -CLUSTER_HANDLER_REGISTRY: NestedDictRegistry[type[ClusterHandler]] = ( - NestedDictRegistry() -) diff --git a/zha/zigbee/cluster_handlers/security.py b/zha/zigbee/cluster_handlers/security.py deleted file mode 100644 index 38d92be2c..000000000 --- a/zha/zigbee/cluster_handlers/security.py +++ /dev/null @@ -1,340 +0,0 @@ -"""Security cluster handlers module for Zigbee Home Automation.""" - -from __future__ import annotations - -from collections.abc import Callable -import dataclasses -from typing import TYPE_CHECKING, Any, Final - -import zigpy.zcl -from zigpy.zcl.clusters.security import ( - IasAce as AceCluster, - IasWd, - IasZone, - Squawk, - Strobe, - StrobeLevel, - WarningType, -) - -from zha.zigbee.cluster_handlers import ClientClusterHandler, ClusterHandler, registries -from zha.zigbee.cluster_handlers.const import CLUSTER_HANDLER_STATE_CHANGED - -if TYPE_CHECKING: - from zha.zigbee.endpoint import Endpoint - -SIGNAL_ARMED_STATE_CHANGED = "zha_armed_state_changed" -SIGNAL_ALARM_TRIGGERED = "zha_armed_triggered" - - -@dataclasses.dataclass(frozen=True, kw_only=True) -class ClusterHandlerStateChangedEvent: - """Event to signal that a cluster attribute has been updated.""" - - event_type: Final[str] = "cluster_handler_event" - event: Final[str] = "cluster_handler_state_changed" - - -@registries.CLIENT_CLUSTER_HANDLER_REGISTRY.register(AceCluster.cluster_id) -class IasAceClientClusterHandler(ClientClusterHandler): - """IAS Ancillary Control Equipment cluster handler.""" - - def __init__(self, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> None: - """Initialize IAS Ancillary Control Equipment cluster handler.""" - super().__init__(cluster, endpoint) - self.command_map: dict[int, Callable[..., Any]] = { - AceCluster.ServerCommandDefs.arm.id: self.arm, - AceCluster.ServerCommandDefs.bypass.id: self._bypass, - AceCluster.ServerCommandDefs.emergency.id: self._emergency, - AceCluster.ServerCommandDefs.fire.id: self._fire, - AceCluster.ServerCommandDefs.panic.id: self.panic, - AceCluster.ServerCommandDefs.get_zone_id_map.id: self._get_zone_id_map, - AceCluster.ServerCommandDefs.get_zone_info.id: self._get_zone_info, - AceCluster.ServerCommandDefs.get_panel_status.id: self._send_panel_status_response, - AceCluster.ServerCommandDefs.get_bypassed_zone_list.id: self._get_bypassed_zone_list, - AceCluster.ServerCommandDefs.get_zone_status.id: self._get_zone_status, - } - self.arm_map: dict[AceCluster.ArmMode, Callable[..., Any]] = { - AceCluster.ArmMode.Disarm: self._disarm, - AceCluster.ArmMode.Arm_All_Zones: self._arm_away, - AceCluster.ArmMode.Arm_Day_Home_Only: self._arm_day, - AceCluster.ArmMode.Arm_Night_Sleep_Only: self._arm_night, - } - self.armed_state: AceCluster.PanelStatus = AceCluster.PanelStatus.Panel_Disarmed - self.invalid_tries: int = 0 - - # These will all be setup by the entity from ZHA configuration - self.panel_code: str = "1234" - self.code_required_arm_actions = False - self.max_invalid_tries: int = 3 - - # where do we store this to handle restarts - self.alarm_status: AceCluster.AlarmStatus = AceCluster.AlarmStatus.No_Alarm - - def cluster_command(self, tsn, command_id, args) -> None: - """Handle commands received to this cluster.""" - self.debug( - "received command %s", self._cluster.server_commands[command_id].name - ) - self.command_map[command_id](*args) - - def arm(self, arm_mode: int, code: str | None, zone_id: int) -> None: - """Handle the IAS ACE arm command.""" - mode = AceCluster.ArmMode(arm_mode) - - self.emit_zha_event( - AceCluster.ServerCommandDefs.arm.name, - { - "arm_mode": mode.value, - "arm_mode_description": mode.name, - "code": code, - "zone_id": zone_id, - }, - ) - - zigbee_reply = self.arm_map[mode](code) - self._endpoint.device.gateway.async_create_task(zigbee_reply) - - if self.invalid_tries >= self.max_invalid_tries: - self.alarm_status = AceCluster.AlarmStatus.Emergency - self.armed_state = AceCluster.PanelStatus.In_Alarm - self.emit_zha_event(f"{self.unique_id}_{SIGNAL_ALARM_TRIGGERED}", []) - else: - self.emit_zha_event(f"{self.unique_id}_{SIGNAL_ARMED_STATE_CHANGED}", []) - self._emit_panel_status_changed() - - def _disarm(self, code: str): - """Test the code and disarm the panel if the code is correct.""" - if ( - code != self.panel_code - and self.armed_state != AceCluster.PanelStatus.Panel_Disarmed - ): - self.debug("Invalid code supplied to IAS ACE") - self.invalid_tries += 1 - zigbee_reply = self.arm_response( - AceCluster.ArmNotification.Invalid_Arm_Disarm_Code - ) - else: - self.invalid_tries = 0 - if ( - self.armed_state == AceCluster.PanelStatus.Panel_Disarmed - and self.alarm_status == AceCluster.AlarmStatus.No_Alarm - ): - self.debug("IAS ACE already disarmed") - zigbee_reply = self.arm_response( - AceCluster.ArmNotification.Already_Disarmed - ) - else: - self.debug("Disarming all IAS ACE zones") - zigbee_reply = self.arm_response( - AceCluster.ArmNotification.All_Zones_Disarmed - ) - - self.armed_state = AceCluster.PanelStatus.Panel_Disarmed - self.alarm_status = AceCluster.AlarmStatus.No_Alarm - return zigbee_reply - - def _arm_day(self, code: str) -> None: - """Arm the panel for day / home zones.""" - return self._handle_arm( - code, - AceCluster.PanelStatus.Armed_Stay, - AceCluster.ArmNotification.Only_Day_Home_Zones_Armed, - ) - - def _arm_night(self, code: str) -> None: - """Arm the panel for night / sleep zones.""" - return self._handle_arm( - code, - AceCluster.PanelStatus.Armed_Night, - AceCluster.ArmNotification.Only_Night_Sleep_Zones_Armed, - ) - - def _arm_away(self, code: str) -> None: - """Arm the panel for away mode.""" - return self._handle_arm( - code, - AceCluster.PanelStatus.Armed_Away, - AceCluster.ArmNotification.All_Zones_Armed, - ) - - def _handle_arm( - self, - code: str, - panel_status: AceCluster.PanelStatus, - armed_type: AceCluster.ArmNotification, - ) -> None: - """Arm the panel with the specified statuses.""" - if self.code_required_arm_actions and code != self.panel_code: - self.debug("Invalid code supplied to IAS ACE") - zigbee_reply = self.arm_response( - AceCluster.ArmNotification.Invalid_Arm_Disarm_Code - ) - else: - self.debug("Arming all IAS ACE zones") - self.armed_state = panel_status - zigbee_reply = self.arm_response(armed_type) - return zigbee_reply - - def _bypass(self, zone_list, code) -> None: - """Handle the IAS ACE bypass command.""" - self.emit_zha_event( - AceCluster.ServerCommandDefs.bypass.name, - {"zone_list": zone_list, "code": code}, - ) - - def _emergency(self) -> None: - """Handle the IAS ACE emergency command.""" - self._set_alarm(AceCluster.AlarmStatus.Emergency) - - def _fire(self) -> None: - """Handle the IAS ACE fire command.""" - self._set_alarm(AceCluster.AlarmStatus.Fire) - - def panic(self) -> None: - """Handle the IAS ACE panic command.""" - self._set_alarm(AceCluster.AlarmStatus.Emergency_Panic) - - def _set_alarm(self, status: AceCluster.AlarmStatus) -> None: - """Set the specified alarm status.""" - self.alarm_status = status - self.armed_state = AceCluster.PanelStatus.In_Alarm - self._emit_panel_status_changed() - - def _get_zone_id_map(self): - """Handle the IAS ACE zone id map command.""" - - def _get_zone_info(self, zone_id): - """Handle the IAS ACE zone info command.""" - - def _send_panel_status_response(self) -> None: - """Handle the IAS ACE panel status response command.""" - response = self.panel_status_response( - self.armed_state, - 0x00, - AceCluster.AudibleNotification.Default_Sound, - self.alarm_status, - ) - self._endpoint.device.gateway.async_create_task(response) - - def _emit_panel_status_changed(self) -> None: - """Handle the IAS ACE panel status changed command.""" - response = self.panel_status_changed( - self.armed_state, - 0x00, - AceCluster.AudibleNotification.Default_Sound, - self.alarm_status, - ) - self._endpoint.device.gateway.async_create_task(response) - self.emit( - CLUSTER_HANDLER_STATE_CHANGED, - ClusterHandlerStateChangedEvent(), - ) - - def _get_bypassed_zone_list(self): - """Handle the IAS ACE bypassed zone list command.""" - - def _get_zone_status( - self, starting_zone_id, max_zone_ids, zone_status_mask_flag, zone_status_mask - ): - """Handle the IAS ACE zone status command.""" - - -@registries.CLUSTER_HANDLER_ONLY_CLUSTERS.register(IasWd.cluster_id) -@registries.CLUSTER_HANDLER_REGISTRY.register(IasWd.cluster_id) -class IasWdClusterHandler(ClusterHandler): - """IAS Warning Device cluster handler.""" - - @staticmethod - def set_bit(destination_value, destination_bit, source_value, source_bit): - """Set the specified bit in the value.""" - - if IasWdClusterHandler.get_bit(source_value, source_bit): - return destination_value | (1 << destination_bit) - return destination_value - - @staticmethod - def get_bit(value, bit): - """Get the specified bit from the value.""" - return (value & (1 << bit)) != 0 - - async def issue_squawk( - self, - mode=Squawk.SquawkMode.Armed, - strobe=Strobe.Strobe, - squawk_level=Squawk.SquawkLevel.High_level_sound, - ): - """Issue a squawk command. - - This command uses the WD capabilities to emit a quick audible/visible - pulse called a "squawk". The squawk command has no effect if the WD - is currently active (warning in progress). - """ - value = 0 - value = IasWdClusterHandler.set_bit(value, 0, squawk_level, 0) - value = IasWdClusterHandler.set_bit(value, 1, squawk_level, 1) - - value = IasWdClusterHandler.set_bit(value, 3, strobe, 0) - - value = IasWdClusterHandler.set_bit(value, 4, mode, 0) - value = IasWdClusterHandler.set_bit(value, 5, mode, 1) - value = IasWdClusterHandler.set_bit(value, 6, mode, 2) - value = IasWdClusterHandler.set_bit(value, 7, mode, 3) - - await self.squawk(value) - - async def issue_start_warning( - self, - mode=WarningType.WarningMode.Emergency, - strobe=Strobe.Strobe, - siren_level=WarningType.SirenLevel.High_level_sound, - warning_duration=5, # seconds - strobe_duty_cycle=0x00, - strobe_intensity=StrobeLevel.High_level_strobe, - ): - """Issue a start warning command. - - This command starts the WD operation. The WD alerts the surrounding area - by audible (siren) and visual (strobe) signals. - - strobe_duty_cycle indicates the length of the flash cycle. This provides a means - of varying the flash duration for different alarm types (e.g., fire, police, - burglar). Valid range is 0-100 in increments of 10. All other values SHALL - be rounded to the nearest valid value. Strobe SHALL calculate duty cycle over - a duration of one second. - - The ON state SHALL precede the OFF state. For example, if Strobe Duty Cycle - Field specifies “40,” then the strobe SHALL flash ON for 4/10ths of a second - and then turn OFF for 6/10ths of a second. - """ - value = 0 - value = IasWdClusterHandler.set_bit(value, 0, siren_level, 0) - value = IasWdClusterHandler.set_bit(value, 1, siren_level, 1) - - value = IasWdClusterHandler.set_bit(value, 2, strobe, 0) - - value = IasWdClusterHandler.set_bit(value, 4, mode, 0) - value = IasWdClusterHandler.set_bit(value, 5, mode, 1) - value = IasWdClusterHandler.set_bit(value, 6, mode, 2) - value = IasWdClusterHandler.set_bit(value, 7, mode, 3) - - await self.start_warning( - value, warning_duration, strobe_duty_cycle, strobe_intensity - ) - - -@registries.CLUSTER_HANDLER_REGISTRY.register(IasZone.cluster_id) -class IASZoneClusterHandler(ClusterHandler): - """Cluster handler for the IASZone Zigbee cluster. - - Cluster-level work (CIE write, enroll handshake, status_change_notification - cache sync) lives on the `IasZoneEnrollment` virtual entity now. - """ - - _value_attribute: str = IasZone.AttributeDefs.zone_status.name - - ZCL_INIT_ATTRS = { - IasZone.AttributeDefs.zone_status.name: False, - IasZone.AttributeDefs.zone_state.name: True, - IasZone.AttributeDefs.zone_type.name: True, - } diff --git a/zha/zigbee/cluster_handlers/smartenergy.py b/zha/zigbee/cluster_handlers/smartenergy.py deleted file mode 100644 index 8be55da96..000000000 --- a/zha/zigbee/cluster_handlers/smartenergy.py +++ /dev/null @@ -1,255 +0,0 @@ -"""Smart energy cluster handlers module for Zigbee Home Automation.""" - -from __future__ import annotations - -import enum -from typing import TYPE_CHECKING - -import zigpy.zcl -from zigpy.zcl.clusters.smartenergy import Metering - -from zha.zigbee.cluster_handlers import AttrReportConfig, ClusterHandler, registries -from zha.zigbee.cluster_handlers.const import ( - REPORT_CONFIG_ASAP, - REPORT_CONFIG_DEFAULT, - REPORT_CONFIG_OP, -) - -if TYPE_CHECKING: - from zha.zigbee.endpoint import Endpoint - - -@registries.CLUSTER_HANDLER_REGISTRY.register(Metering.cluster_id) -class MeteringClusterHandler(ClusterHandler): - """Metering cluster handler.""" - - REPORT_CONFIG = ( - AttrReportConfig( - attr=Metering.AttributeDefs.instantaneous_demand.name, - config=REPORT_CONFIG_OP, - ), - AttrReportConfig( - attr=Metering.AttributeDefs.current_summ_delivered.name, - config=REPORT_CONFIG_DEFAULT, - ), - AttrReportConfig( - attr=Metering.AttributeDefs.current_tier1_summ_delivered.name, - config=REPORT_CONFIG_DEFAULT, - ), - AttrReportConfig( - attr=Metering.AttributeDefs.current_tier2_summ_delivered.name, - config=REPORT_CONFIG_DEFAULT, - ), - AttrReportConfig( - attr=Metering.AttributeDefs.current_tier3_summ_delivered.name, - config=REPORT_CONFIG_DEFAULT, - ), - AttrReportConfig( - attr=Metering.AttributeDefs.current_tier4_summ_delivered.name, - config=REPORT_CONFIG_DEFAULT, - ), - AttrReportConfig( - attr=Metering.AttributeDefs.current_tier5_summ_delivered.name, - config=REPORT_CONFIG_DEFAULT, - ), - AttrReportConfig( - attr=Metering.AttributeDefs.current_tier6_summ_delivered.name, - config=REPORT_CONFIG_DEFAULT, - ), - AttrReportConfig( - attr=Metering.AttributeDefs.current_summ_received.name, - config=REPORT_CONFIG_DEFAULT, - ), - AttrReportConfig( - attr=Metering.AttributeDefs.status.name, - config=REPORT_CONFIG_ASAP, - ), - ) - ZCL_INIT_ATTRS = { - Metering.AttributeDefs.demand_formatting.name: True, - Metering.AttributeDefs.divisor.name: True, - Metering.AttributeDefs.metering_device_type.name: True, - Metering.AttributeDefs.multiplier.name: True, - Metering.AttributeDefs.summation_formatting.name: True, - Metering.AttributeDefs.unit_of_measure.name: True, - } - - METERING_DEVICE_TYPES_ELECTRIC = { - 0, - 7, - 8, - 9, - 10, - 11, - 13, - 14, - 15, - 127, - 134, - 135, - 136, - 137, - 138, - 140, - 141, - 142, - } - METERING_DEVICE_TYPES_GAS = {1, 128} - METERING_DEVICE_TYPES_WATER = {2, 129} - METERING_DEVICE_TYPES_HEATING_COOLING = {3, 5, 6, 130, 132, 133} - - metering_device_type = { - 0: "Electric Metering", - 1: "Gas Metering", - 2: "Water Metering", - 3: "Thermal Metering", # deprecated - 4: "Pressure Metering", - 5: "Heat Metering", - 6: "Cooling Metering", - 7: "End Use Measurement Device (EUMD) for metering electric vehicle charging", - 8: "PV Generation Metering", - 9: "Wind Turbine Generation Metering", - 10: "Water Turbine Generation Metering", - 11: "Micro Generation Metering", - 12: "Solar Hot Water Generation Metering", - 13: "Electric Metering Element/Phase 1", - 14: "Electric Metering Element/Phase 2", - 15: "Electric Metering Element/Phase 3", - 127: "Mirrored Electric Metering", - 128: "Mirrored Gas Metering", - 129: "Mirrored Water Metering", - 130: "Mirrored Thermal Metering", # deprecated - 131: "Mirrored Pressure Metering", - 132: "Mirrored Heat Metering", - 133: "Mirrored Cooling Metering", - 134: "Mirrored End Use Measurement Device (EUMD) for metering electric vehicle charging", - 135: "Mirrored PV Generation Metering", - 136: "Mirrored Wind Turbine Generation Metering", - 137: "Mirrored Water Turbine Generation Metering", - 138: "Mirrored Micro Generation Metering", - 139: "Mirrored Solar Hot Water Generation Metering", - 140: "Mirrored Electric Metering Element/Phase 1", - 141: "Mirrored Electric Metering Element/Phase 2", - 142: "Mirrored Electric Metering Element/Phase 3", - } - - class DeviceStatusElectric(enum.IntFlag): - """Electric Metering Device Status.""" - - NO_ALARMS = 0 - CHECK_METER = 1 - LOW_BATTERY = 2 - TAMPER_DETECT = 4 - POWER_FAILURE = 8 - POWER_QUALITY = 16 - LEAK_DETECT = 32 # Really? - SERVICE_DISCONNECT = 64 - RESERVED = 128 - - class DeviceStatusGas(enum.IntFlag): - """Gas Metering Device Status.""" - - NO_ALARMS = 0 - CHECK_METER = 1 - LOW_BATTERY = 2 - TAMPER_DETECT = 4 - NOT_DEFINED = 8 - LOW_PRESSURE = 16 - LEAK_DETECT = 32 - SERVICE_DISCONNECT = 64 - REVERSE_FLOW = 128 - - class DeviceStatusWater(enum.IntFlag): - """Water Metering Device Status.""" - - NO_ALARMS = 0 - CHECK_METER = 1 - LOW_BATTERY = 2 - TAMPER_DETECT = 4 - PIPE_EMPTY = 8 - LOW_PRESSURE = 16 - LEAK_DETECT = 32 - SERVICE_DISCONNECT = 64 - REVERSE_FLOW = 128 - - class DeviceStatusHeatingCooling(enum.IntFlag): - """Heating and Cooling Metering Device Status.""" - - NO_ALARMS = 0 - CHECK_METER = 1 - LOW_BATTERY = 2 - TAMPER_DETECT = 4 - TEMPERATURE_SENSOR = 8 - BURST_DETECT = 16 - LEAK_DETECT = 32 - SERVICE_DISCONNECT = 64 - REVERSE_FLOW = 128 - - class DeviceStatusDefault(enum.IntFlag): - """Metering Device Status.""" - - NO_ALARMS = 0 - - class FormatSelector(enum.IntEnum): - """Format specified selector.""" - - DEMAND = 0 - SUMMATION = 1 - - def __init__(self, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> None: - """Initialize Metering.""" - super().__init__(cluster, endpoint) - self._format_spec: str | None = None - self._summa_format: str | None = None - - @property - def divisor(self) -> int: - """Return divisor for the value.""" - return self.cluster.get(Metering.AttributeDefs.divisor.name) or 1 - - @property - def device_type(self) -> str | int | None: - """Return metering device type.""" - dev_type = self.cluster.get(Metering.AttributeDefs.metering_device_type.name) - if dev_type is None: - return None - return self.metering_device_type.get(dev_type, dev_type) - - @property - def multiplier(self) -> int: - """Return multiplier for the value.""" - return self.cluster.get(Metering.AttributeDefs.multiplier.name) or 1 - - @property - def metering_status(self) -> int | None: - """Return metering device status.""" - if (status := self.cluster.get(Metering.AttributeDefs.status.name)) is None: - return None - - metering_device_type = self.cluster.get( - Metering.AttributeDefs.metering_device_type.name - ) - if metering_device_type in self.METERING_DEVICE_TYPES_ELECTRIC: - return self.DeviceStatusElectric(status) - if metering_device_type in self.METERING_DEVICE_TYPES_GAS: - return self.DeviceStatusGas(status) - if metering_device_type in self.METERING_DEVICE_TYPES_WATER: - return self.DeviceStatusWater(status) - if metering_device_type in self.METERING_DEVICE_TYPES_HEATING_COOLING: - return self.DeviceStatusHeatingCooling(status) - return self.DeviceStatusDefault(status) - - @property - def unit_of_measurement(self) -> int: - """Return unit of measurement.""" - return self.cluster.get(Metering.AttributeDefs.unit_of_measure.name) - - @property - def demand_formatting(self) -> int | None: - """Return demand formatting.""" - return self.cluster.get(Metering.AttributeDefs.demand_formatting.name) - - @property - def summation_formatting(self) -> int | None: - """Return summation formatting.""" - return self.cluster.get(Metering.AttributeDefs.summation_formatting.name) diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index 34255b35d..f1530321e 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -25,8 +25,9 @@ from zigpy.types import uint1_t, uint8_t, uint16_t from zigpy.types.named import EUI64, NWK, ExtendedPanId from zigpy.typing import UNDEFINED, UndefinedType +import zigpy.zcl from zigpy.zcl.clusters import Cluster -from zigpy.zcl.clusters.general import Groups, Identify, Ota +from zigpy.zcl.clusters.general import Basic, Groups, Identify, Ota from zigpy.zcl.foundation import ( Status as ZclStatus, WriteAttributesResponse, @@ -74,7 +75,7 @@ ZHA_DEVICE_UPDATED_EVENT, ZHA_EVENT, ) -from zha.application.helpers import convert_to_zcl_values, convert_zcl_value +from zha.application.helpers import convert_to_zcl_values, convert_zcl_value, safe_read from zha.application.platforms import ( BaseEntity, BaseEntityInfo, @@ -91,7 +92,6 @@ configure_cluster_configs, initialize_cluster_configs, ) -from zha.zigbee.cluster_handlers import ClusterHandler, ZDOClusterHandler from zha.zigbee.endpoint import Endpoint if TYPE_CHECKING: @@ -434,9 +434,6 @@ def _init_from_zigpy_device(self, zigpy_device: zigpy.device.Device) -> None: f.feature for f in self.quirk_metadata.exposes_features ) - self._power_config_ch: ClusterHandler | None = None - self._identify_ch: ClusterHandler | None = None - self._basic_ch: ClusterHandler | None = None self._firmware_version: str | None = None device_options = self._gateway.config.config.device_options @@ -453,10 +450,6 @@ def _init_from_zigpy_device(self, zigpy_device: zigpy.device.Device) -> None: self.status: DeviceStatus = DeviceStatus.CREATED - self._zdo_handler: ZDOClusterHandler = ZDOClusterHandler(self) - self._zdo_handler.on_add() - self._on_remove_callbacks.append(self._zdo_handler.on_remove) - for ep_id, endpoint in zigpy_device.endpoints.items(): if ep_id != 0: ep = Endpoint.new(endpoint, self) @@ -682,43 +675,25 @@ def on_network(self, new_on_network: bool) -> None: if not new_on_network: self.debug("Device is not on the network, marking unavailable") - @property - def power_configuration_ch(self) -> ClusterHandler | None: - """Return power configuration cluster handler.""" - return self._power_config_ch - - @power_configuration_ch.setter - def power_configuration_ch(self, cluster_handler: ClusterHandler) -> None: - """Power configuration cluster handler setter.""" - if self._power_config_ch is None: - self._power_config_ch = cluster_handler + def _first_in_cluster(self, cluster_id: int) -> zigpy.zcl.Cluster | None: + """Return the first in_cluster with the given cluster_id across endpoints.""" + for ep_id, ep in self._zigpy_device.endpoints.items(): + if ep_id == 0: + continue + cluster = ep.in_clusters.get(cluster_id) + if cluster is not None: + return cluster + return None @property - def basic_ch(self) -> ClusterHandler | None: - """Return basic cluster handler.""" - return self._basic_ch - - @basic_ch.setter - def basic_ch(self, cluster_handler: ClusterHandler) -> None: - """Set the basic cluster handler.""" - if self._basic_ch is None: - self._basic_ch = cluster_handler + def basic_cluster(self) -> zigpy.zcl.Cluster | None: + """Return the first Basic cluster across endpoints, if present.""" + return self._first_in_cluster(Basic.cluster_id) @property - def identify_ch(self) -> ClusterHandler | None: - """Return power configuration cluster handler.""" - return self._identify_ch - - @identify_ch.setter - def identify_ch(self, cluster_handler: ClusterHandler) -> None: - """Power configuration cluster handler setter.""" - if self._identify_ch is None: - self._identify_ch = cluster_handler - - @property - def zdo_cluster_handler(self) -> ZDOClusterHandler: - """Return ZDO cluster handler.""" - return self._zdo_handler + def identify_cluster(self) -> zigpy.zcl.Cluster | None: + """Return the first Identify cluster across endpoints, if present.""" + return self._first_in_cluster(Identify.cluster_id) @property def endpoints(self) -> dict[int, Endpoint]: @@ -821,14 +796,15 @@ async def _check_available(self, *_: Any) -> None: "Attempting to checkin with device - missed checkins: %s", self._checkins_missed_count, ) - if not self.basic_ch: + basic = self.basic_cluster + if basic is None: self.debug("does not have a mandatory basic cluster") self.update_available(False) return - res = await self.basic_ch.get_attribute_value( - ATTR_MANUFACTURER, from_cache=False + res = await safe_read( + basic, [ATTR_MANUFACTURER], allow_cache=False, only_cache=False ) - if res is not None: + if res.get(ATTR_MANUFACTURER) is not None: self._checkins_missed_count = 0 def update_available(self, available: bool) -> None: @@ -968,20 +944,13 @@ def extended_device_info(self) -> ExtendedDeviceInfo: async def async_configure(self) -> None: """Configure the device.""" self.debug("started configuration") - await self._zdo_handler.async_configure() - self._zdo_handler.debug("'async_configure' stage succeeded") if isinstance(self._zigpy_device, zigpy.quirks.BaseCustomDevice): self.debug("applying quirks custom device configuration") await self._zigpy_device.apply_custom_configuration() - # Try to add entities to claim the cluster handlers self._discover_new_entities() - await asyncio.gather( - *(endpoint.async_configure() for endpoint in self._endpoints.values()) - ) - # Configure binding and reporting from entity-level cluster configs aggregated = aggregate_cluster_configs(self._discovered_entities) if aggregated: @@ -991,13 +960,14 @@ async def async_configure(self) -> None: self.debug("completed configuration") + identify_cluster = self.identify_cluster if ( self.gateway.config.config.device_options.enable_identify_on_join - and self.identify_ch is not None + and identify_cluster is not None and not self.skip_configuration ): self._gateway.async_create_task( - self.identify_ch.trigger_effect( + identify_cluster.trigger_effect( effect_id=Identify.EffectIdentifier.Okay, effect_variant=Identify.EffectVariant.Default, ), @@ -1261,19 +1231,6 @@ async def async_initialize(self, from_cache: bool = False) -> None: # We discover prospective entities before initialization self._discover_new_entities() - await self._zdo_handler.async_initialize(from_cache) - self._zdo_handler.debug("'async_initialize' stage succeeded") - - # We intentionally do not use `gather` here! This is so that if, for example, - # three `device.async_initialize()`s are spawned, only three concurrent requests - # will ever be in flight at once. Startup concurrency is managed at the device - # level. - for endpoint in self._endpoints.values(): - try: - await endpoint.async_initialize(from_cache) - except Exception: # pylint: disable=broad-exception-caught - self.debug("Failed to initialize endpoint", exc_info=True) - # Read initial attributes from entity-level cluster configs aggregated = aggregate_cluster_configs(self._discovered_entities) if aggregated: diff --git a/zha/zigbee/endpoint.py b/zha/zigbee/endpoint.py index 750e37505..37f939dce 100644 --- a/zha/zigbee/endpoint.py +++ b/zha/zigbee/endpoint.py @@ -2,32 +2,20 @@ from __future__ import annotations -import asyncio -from collections.abc import Awaitable, Callable import functools import logging -from typing import TYPE_CHECKING, Any, Final, TypeVar +from typing import TYPE_CHECKING, Any, Final from zigpy.profiles.zha import PROFILE_ID as ZHA_PROFILE_ID from zigpy.profiles.zll import PROFILE_ID as ZLL_PROFILE_ID +import zigpy.zcl +from zigpy.zcl.foundation import CommandSchema from zha.application import const -from zha.async_ import gather_with_limited_concurrency -from zha.zigbee.cluster_handlers import ClusterHandler -from zha.zigbee.cluster_handlers.const import ( - CLUSTER_HANDLER_BASIC, - CLUSTER_HANDLER_IDENTIFY, - CLUSTER_HANDLER_POWER_CONFIGURATION, -) -from zha.zigbee.cluster_handlers.registries import ( - CLIENT_CLUSTER_HANDLER_REGISTRY, - CLUSTER_HANDLER_REGISTRY, -) if TYPE_CHECKING: from zigpy import Endpoint as ZigpyEndpoint - from zha.zigbee.cluster_handlers import ClientClusterHandler from zha.zigbee.device import Device ATTR_DEVICE_TYPE: Final[str] = "device_type" @@ -36,7 +24,51 @@ ATTR_OUT_CLUSTERS: Final[str] = "output_clusters" _LOGGER = logging.getLogger(__name__) -CALLABLE_T = TypeVar("CALLABLE_T", bound=Callable) + + +class _ClusterEventForwarder: + """Forwards quirk `zha_send_event` listener calls into device `zha_event`s. + + Replaces the runtime forwarding that ClusterHandler used to do. The + `unique_id` published on the event matches the legacy format + (`ieee:endpoint_id:0xCLUSTER` with `_CLIENT` suffix for client clusters) so + Home Assistant automations filtering on it keep working. + """ + + def __init__( + self, cluster: zigpy.zcl.Cluster, endpoint: Endpoint, is_client: bool + ) -> None: + self._cluster = cluster + self._endpoint = endpoint + ieee_with_colons = endpoint.unique_id.replace("-", ":") + suffix = "_CLIENT" if is_client else "" + self._unique_id = f"{ieee_with_colons}:0x{cluster.cluster_id:04x}{suffix}" + self._unsub = cluster.add_listener(self) + + def remove(self) -> None: + """Detach from the cluster.""" + self._cluster.remove_listener(self) + + def zha_send_event(self, command: str, arg: list | dict | CommandSchema) -> None: + """Relay events to listeners.""" + if isinstance(arg, CommandSchema): + args = [a for a in arg if a is not None] + params = arg.as_dict() + elif isinstance(arg, (list, dict)): + args = arg + params = {} + else: + raise TypeError(f"Unexpected zha_send_event {command!r} argument: {arg!r}") + + self._endpoint.emit_zha_event( + { + const.ATTR_UNIQUE_ID: self._unique_id, + const.ATTR_CLUSTER_ID: self._cluster.cluster_id, + const.ATTR_COMMAND: command, + const.ATTR_ARGS: args, + const.ATTR_PARAMS: params, + } + ) class Endpoint: @@ -48,43 +80,20 @@ def __init__(self, zigpy_endpoint: ZigpyEndpoint, device: Device) -> None: assert device is not None self._zigpy_endpoint: ZigpyEndpoint = zigpy_endpoint self._device: Device = device - self._all_cluster_handlers: dict[str, ClusterHandler] = {} - self._claimed_cluster_handlers: dict[str, ClusterHandler] = {} - self._client_cluster_handlers: dict[str, ClientClusterHandler] = {} self._unique_id: str = f"{device.unique_id}-{zigpy_endpoint.endpoint_id}" + self._forwarders: list[_ClusterEventForwarder] = [] def on_remove(self) -> None: """Run when endpoint is removed.""" - for handler in self.all_cluster_handlers.values(): - handler.on_remove() - - self.all_cluster_handlers.clear() - - for handler in self.client_cluster_handlers.values(): - handler.on_remove() - - self.client_cluster_handlers.clear() + for forwarder in self._forwarders: + forwarder.remove() + self._forwarders.clear() @functools.cached_property def device(self) -> Device: """Return the device this endpoint belongs to.""" return self._device - @property - def all_cluster_handlers(self) -> dict[str, ClusterHandler]: - """All server cluster handlers of an endpoint.""" - return self._all_cluster_handlers - - @property - def claimed_cluster_handlers(self) -> dict[str, ClusterHandler]: - """Cluster handlers in use.""" - return self._claimed_cluster_handlers - - @property - def client_cluster_handlers(self) -> dict[str, ClientClusterHandler]: - """Return a dict of client cluster handlers.""" - return self._client_cluster_handlers - @functools.cached_property def zigpy_endpoint(self) -> ZigpyEndpoint: """Return endpoint of zigpy device.""" @@ -95,16 +104,6 @@ def id(self) -> int: """Return endpoint id.""" return self._zigpy_endpoint.endpoint_id - @functools.cached_property - def cluster_handlers_by_name(self) -> dict[str, ClusterHandler]: - """Return cluster handlers indexed by name.""" - return {ch.name: ch for ch in self._all_cluster_handlers.values()} - - @functools.cached_property - def client_cluster_handlers_by_name(self) -> dict[str, ClientClusterHandler]: - """Return client cluster handlers indexed by name.""" - return {ch.name: ch for ch in self._client_cluster_handlers.values()} - @functools.cached_property def unique_id(self) -> str: """Return the unique id for this endpoint.""" @@ -135,128 +134,32 @@ def zigbee_signature(self) -> tuple[int, dict[str, Any]]: @classmethod def new(cls, zigpy_endpoint: ZigpyEndpoint, device: Device) -> Endpoint: - """Create new endpoint and populate cluster handlers.""" + """Create new endpoint and attach quirk-event forwarders to each cluster.""" endpoint = cls(zigpy_endpoint, device) - endpoint.add_all_cluster_handlers() - endpoint.add_client_cluster_handlers() - + endpoint._attach_forwarders() return endpoint - def add_all_cluster_handlers(self) -> None: - """Create and add cluster handlers for all input clusters.""" + def _attach_forwarders(self) -> None: + """Attach a quirk-event forwarder to every server and client cluster.""" profile_id = self._zigpy_endpoint.profile_id if profile_id is None: _LOGGER.debug("Skipping endpoint, profile is None") return - elif profile_id not in (ZLL_PROFILE_ID, ZHA_PROFILE_ID): + if profile_id not in (ZLL_PROFILE_ID, ZHA_PROFILE_ID): _LOGGER.debug( - "Skipping endpoint, profile is not ZLL or ZHA: 0x%04X", - profile_id, + "Skipping endpoint, profile is not ZLL or ZHA: 0x%04X", profile_id ) return - for cluster_id, cluster in self.zigpy_endpoint.in_clusters.items(): - cluster_handler_classes = CLUSTER_HANDLER_REGISTRY.get( - cluster_id, {None: ClusterHandler} + for cluster in self._zigpy_endpoint.in_clusters.values(): + self._forwarders.append( + _ClusterEventForwarder(cluster, self, is_client=False) ) - - # get first exposed feature from device - # that matches a registered cluster handler - cluster_exposed_features: str | None = None - for exposed_features in self.device.exposes_features: - if exposed_features in cluster_handler_classes: - cluster_exposed_features = exposed_features - break - - cluster_handler_class = cluster_handler_classes.get( - cluster_exposed_features, ClusterHandler + for cluster in self._zigpy_endpoint.out_clusters.values(): + self._forwarders.append( + _ClusterEventForwarder(cluster, self, is_client=True) ) - # Allow cluster handler to filter out bad matches - if not cluster_handler_class.matches(cluster, self): - cluster_handler_class = ClusterHandler - - _LOGGER.debug( - "Creating cluster handler for cluster id: %s class: %s", - cluster_id, - cluster_handler_class, - ) - - try: - cluster_handler = cluster_handler_class(cluster, self) - except KeyError as err: - _LOGGER.warning( - "Cluster handler %s for cluster %s on endpoint %s is invalid: %s", - cluster_handler_class, - cluster, - self, - err, - ) - continue - - if cluster_handler.name == CLUSTER_HANDLER_POWER_CONFIGURATION: - self._device.power_configuration_ch = cluster_handler - elif cluster_handler.name == CLUSTER_HANDLER_IDENTIFY: - self._device.identify_ch = cluster_handler - elif cluster_handler.name == CLUSTER_HANDLER_BASIC: - self._device.basic_ch = cluster_handler - - self._all_cluster_handlers[cluster_handler.id] = cluster_handler - cluster_handler.on_add() - - def add_client_cluster_handlers(self) -> None: - """Create client cluster handlers for all output clusters if in the registry.""" - for ( - cluster_id, - cluster_handler_class, - ) in CLIENT_CLUSTER_HANDLER_REGISTRY.items(): - cluster = self.zigpy_endpoint.out_clusters.get(cluster_id) - if cluster is not None: - _LOGGER.debug( - "Creating client cluster handler for cluster id: %s class: %s", - cluster_id, - cluster_handler_class, - ) - cluster_handler = cluster_handler_class(cluster, self) - self.client_cluster_handlers[cluster_handler.id] = cluster_handler - cluster_handler.on_add() - - async def async_initialize(self, from_cache: bool = False) -> None: - """Initialize claimed cluster handlers.""" - await self._execute_handler_tasks( - "async_initialize", from_cache, max_concurrency=1 - ) - - async def async_configure(self) -> None: - """Configure claimed cluster handlers.""" - await self._execute_handler_tasks("async_configure") - - async def _execute_handler_tasks( - self, func_name: str, *args: Any, max_concurrency: int | None = None - ) -> None: - """Add a throttled cluster handler task and swallow exceptions.""" - cluster_handlers = [ - *self.claimed_cluster_handlers.values(), - *self.client_cluster_handlers.values(), - ] - tasks = [getattr(ch, func_name)(*args) for ch in cluster_handlers] - - gather: Callable[..., Awaitable] - - if max_concurrency is None: - gather = asyncio.gather - else: - gather = functools.partial(gather_with_limited_concurrency, max_concurrency) - - results = await gather(*tasks, return_exceptions=True) - for cluster_handler, outcome in zip(cluster_handlers, results): - if isinstance(outcome, Exception): - cluster_handler.debug( - "'%s' stage failed: %s", func_name, str(outcome), exc_info=outcome - ) - else: - cluster_handler.debug("'%s' stage succeeded", func_name) - def emit_zha_event(self, event_data: dict[str, Any]) -> None: """Broadcast an event from this endpoint.""" self.device.emit_zha_event( @@ -266,7 +169,3 @@ def emit_zha_event(self, event_data: dict[str, Any]) -> None: **event_data, } ) - - def claim_cluster_handlers(self, cluster_handlers: list[ClusterHandler]) -> None: - """Claim cluster handlers.""" - self.claimed_cluster_handlers.update({ch.id: ch for ch in cluster_handlers}) From 2ebfb538108a30391d3b561c2be15626a60b2807 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 17 May 2026 04:43:46 -0400 Subject: [PATCH 31/85] WIP: Final renames --- tests/conftest.py | 22 +---- tests/test_device.py | 128 ++++++++++++--------------- tests/test_light.py | 28 +++--- zha/application/const.py | 11 +-- zha/application/platforms/siren.py | 23 ++++- zha/application/platforms/virtual.py | 24 ++--- zha/decorators.py | 25 +++--- zha/zigbee/cluster_config.py | 49 ++++++++-- zha/zigbee/device.py | 64 ++++++++++---- zha/zigbee/endpoint.py | 6 +- zha/zigbee/reporting.py | 55 ++++++++++++ 11 files changed, 265 insertions(+), 170 deletions(-) create mode 100644 zha/zigbee/reporting.py diff --git a/tests/conftest.py b/tests/conftest.py index d8f722a02..a059ca5d7 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,14 +1,14 @@ """Test configuration for the ZHA component.""" import asyncio -from collections.abc import Callable, Generator +from collections.abc import Generator from contextlib import contextmanager import logging import os import reprlib import threading from types import TracebackType -from unittest.mock import AsyncMock, MagicMock, patch +from unittest.mock import patch import looptime import pytest @@ -375,24 +375,6 @@ def globally_load_quirks(): yield -@pytest.fixture -def cluster_handler() -> Callable: - """Clueter handler mock factory fixture.""" - - def cluster_handler_factory( - name: str, cluster_id: int, endpoint_id: int = 1 - ) -> MagicMock: - ch = MagicMock() - ch.name = name - ch.generic_id = f"cluster_handler_0x{cluster_id:04x}" - ch.id = f"{endpoint_id}:0x{cluster_id:04x}" - ch.async_configure = AsyncMock() - ch.async_initialize = AsyncMock() - return ch - - return cluster_handler_factory - - def pytest_collection_modifyitems(config, items): """Add the looptime marker to all tests except the test_async.py file.""" for item in items: diff --git a/tests/test_device.py b/tests/test_device.py index b3ff87676..e2ac488ba 100644 --- a/tests/test_device.py +++ b/tests/test_device.py @@ -67,12 +67,10 @@ from zha.zigbee.group import Group, GroupMemberReference -def zigpy_device( - zha_gateway: Gateway, with_basic_cluster_handler: bool = True, **kwargs -): +def zigpy_device(zha_gateway: Gateway, with_basic_cluster: bool = True, **kwargs): """Return a ZigpyDevice with a switch cluster.""" in_clusters = [general.OnOff.cluster_id] - if with_basic_cluster_handler: + if with_basic_cluster: in_clusters.append(general.Basic.cluster_id) endpoints = { @@ -86,10 +84,10 @@ def zigpy_device( return create_mock_zigpy_device(zha_gateway, endpoints, **kwargs) -def zigpy_device_mains(zha_gateway: Gateway, with_basic_cluster_handler: bool = True): +def zigpy_device_mains(zha_gateway: Gateway, with_basic_cluster: bool = True): """Return a ZigpyDevice with a switch cluster.""" in_clusters = [general.OnOff.cluster_id] - if with_basic_cluster_handler: + if with_basic_cluster: in_clusters.append(general.Basic.cluster_id) endpoints = { @@ -135,32 +133,30 @@ async def test_check_available_success( caplog: pytest.LogCaptureFixture, ) -> None: """Check device availability success on 1st try.""" - device_with_basic_cluster_handler = zigpy_device_mains( - zha_gateway, with_basic_cluster_handler=True - ) - zha_device = await join_zigpy_device(zha_gateway, device_with_basic_cluster_handler) - basic_ch = device_with_basic_cluster_handler.endpoints[3].basic + device_with_basic_cluster = zigpy_device_mains(zha_gateway, with_basic_cluster=True) + zha_device = await join_zigpy_device(zha_gateway, device_with_basic_cluster) + basic_cluster = device_with_basic_cluster.endpoints[3].basic assert not zha_device.is_coordinator assert not zha_device.is_active_coordinator - basic_ch.read_attributes.reset_mock() - device_with_basic_cluster_handler.last_seen = None + basic_cluster.read_attributes.reset_mock() + device_with_basic_cluster.last_seen = None assert zha_device.available is True await _send_time_changed(zha_gateway, zha_device.consider_unavailable_time + 2) assert zha_device.available is False - assert basic_ch.read_attributes.await_count == 0 + assert basic_cluster.read_attributes.await_count == 0 - device_with_basic_cluster_handler.last_seen = ( + device_with_basic_cluster.last_seen = ( time.time() - zha_device.consider_unavailable_time - 100 ) - _seens = [time.time(), device_with_basic_cluster_handler.last_seen] + _seens = [time.time(), device_with_basic_cluster.last_seen] def _update_last_seen(*args, **kwargs): # pylint: disable=unused-argument new_last_seen = _seens.pop() - device_with_basic_cluster_handler.last_seen = new_last_seen + device_with_basic_cluster.last_seen = new_last_seen - basic_ch.read_attributes.side_effect = _update_last_seen + basic_cluster.read_attributes.side_effect = _update_last_seen for entity in zha_device.platform_entities.values(): entity.emit = mock.MagicMock(wraps=entity.emit) @@ -172,8 +168,8 @@ def _update_last_seen(*args, **kwargs): # pylint: disable=unused-argument await _send_time_changed( zha_gateway, zha_gateway._device_availability_checker.__polling_interval + 1 ) - assert basic_ch.read_attributes.await_count == 1 - assert basic_ch.read_attributes.await_args[0][0] == ["manufacturer"] + assert basic_cluster.read_attributes.await_count == 1 + assert basic_cluster.read_attributes.await_args[0][0] == ["manufacturer"] assert zha_device.available is False for entity in zha_device.platform_entities.values(): @@ -185,8 +181,8 @@ def _update_last_seen(*args, **kwargs): # pylint: disable=unused-argument await _send_time_changed( zha_gateway, zha_gateway._device_availability_checker.__polling_interval + 1 ) - assert basic_ch.read_attributes.await_count == 2 - assert basic_ch.read_attributes.await_args[0][0] == ["manufacturer"] + assert basic_cluster.read_attributes.await_count == 2 + assert basic_cluster.read_attributes.await_args[0][0] == ["manufacturer"] assert zha_device.available is False for entity in zha_device.platform_entities.values(): @@ -198,8 +194,8 @@ def _update_last_seen(*args, **kwargs): # pylint: disable=unused-argument await _send_time_changed( zha_gateway, zha_gateway._device_availability_checker.__polling_interval + 1 ) - assert basic_ch.read_attributes.await_count == 2 - assert basic_ch.read_attributes.await_args[0][0] == ["manufacturer"] + assert basic_cluster.read_attributes.await_count == 2 + assert basic_cluster.read_attributes.await_args[0][0] == ["manufacturer"] assert zha_device.available is True assert zha_device.on_network is True @@ -227,16 +223,14 @@ async def test_check_available_unsuccessful( ) -> None: """Check device availability all tries fail.""" - device_with_basic_cluster_handler = zigpy_device_mains( - zha_gateway, with_basic_cluster_handler=True - ) - zha_device = await join_zigpy_device(zha_gateway, device_with_basic_cluster_handler) - basic_ch = device_with_basic_cluster_handler.endpoints[3].basic + device_with_basic_cluster = zigpy_device_mains(zha_gateway, with_basic_cluster=True) + zha_device = await join_zigpy_device(zha_gateway, device_with_basic_cluster) + basic_cluster = device_with_basic_cluster.endpoints[3].basic assert zha_device.available is True - assert basic_ch.read_attributes.await_count == 0 + assert basic_cluster.read_attributes.await_count == 0 - device_with_basic_cluster_handler.last_seen = ( + device_with_basic_cluster.last_seen = ( time.time() - zha_device.consider_unavailable_time - 2 ) @@ -251,8 +245,8 @@ async def test_check_available_unsuccessful( zha_gateway, zha_gateway._device_availability_checker.__polling_interval + 1 ) - assert basic_ch.read_attributes.await_count == 1 - assert basic_ch.read_attributes.await_args[0][0] == ["manufacturer"] + assert basic_cluster.read_attributes.await_count == 1 + assert basic_cluster.read_attributes.await_args[0][0] == ["manufacturer"] assert zha_device.available is True for entity in zha_device.platform_entities.values(): @@ -265,8 +259,8 @@ async def test_check_available_unsuccessful( zha_gateway, zha_gateway._device_availability_checker.__polling_interval + 1 ) - assert basic_ch.read_attributes.await_count == 2 - assert basic_ch.read_attributes.await_args[0][0] == ["manufacturer"] + assert basic_cluster.read_attributes.await_count == 2 + assert basic_cluster.read_attributes.await_args[0][0] == ["manufacturer"] assert zha_device.available is True for entity in zha_device.platform_entities.values(): @@ -279,8 +273,8 @@ async def test_check_available_unsuccessful( zha_gateway, zha_gateway._device_availability_checker.__polling_interval + 1 ) - assert basic_ch.read_attributes.await_count == 2 - assert basic_ch.read_attributes.await_args[0][0] == ["manufacturer"] + assert basic_cluster.read_attributes.await_count == 2 + assert basic_cluster.read_attributes.await_args[0][0] == ["manufacturer"] assert zha_device.available is False for entity in zha_device.platform_entities.values(): @@ -289,23 +283,19 @@ async def test_check_available_unsuccessful( entity.emit.reset_mock() -async def test_check_available_no_basic_cluster_handler( +async def test_check_available_no_basic_cluster( zha_gateway: Gateway, caplog: pytest.LogCaptureFixture, ) -> None: """Check device availability for a device without basic cluster.""" - device_without_basic_cluster_handler = zigpy_device( - zha_gateway, with_basic_cluster_handler=False - ) + device_without_basic = zigpy_device(zha_gateway, with_basic_cluster=False) caplog.set_level(logging.DEBUG, logger="homeassistant.components.zha") - zha_device = await join_zigpy_device( - zha_gateway, device_without_basic_cluster_handler - ) + zha_device = await join_zigpy_device(zha_gateway, device_without_basic) assert zha_device.available is True - device_without_basic_cluster_handler.last_seen = ( + device_without_basic.last_seen = ( time.time() - zha_device.consider_unavailable_time - 2 ) @@ -415,7 +405,7 @@ async def test_async_get_clusters( zha_gateway: Gateway, ) -> None: """Test async_get_clusters method.""" - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) assert zha_device.async_get_clusters() == { @@ -437,7 +427,7 @@ async def test_async_get_groupable_endpoints( zha_gateway: Gateway, ) -> None: """Test async_get_groupable_endpoints method.""" - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zigpy_dev.endpoints[3].add_input_cluster(general.Groups.cluster_id) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) @@ -448,7 +438,7 @@ async def test_async_get_std_clusters( zha_gateway: Gateway, ) -> None: """Test async_get_std_clusters method.""" - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zigpy_dev.endpoints[3].profile_id = zigpy.profiles.zha.PROFILE_ID zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) @@ -471,7 +461,7 @@ async def test_async_get_cluster( zha_gateway: Gateway, ) -> None: """Test async_get_cluster method.""" - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) assert zha_device.async_get_cluster(3, general.OnOff.cluster_id) == ( @@ -483,7 +473,7 @@ async def test_async_get_cluster_attributes( zha_gateway: Gateway, ) -> None: """Test async_get_cluster_attributes method.""" - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) assert ( @@ -502,7 +492,7 @@ async def test_async_get_cluster_commands( zha_gateway: Gateway, ) -> None: """Test async_get_cluster_commands method.""" - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) assert zha_device.async_get_cluster_commands(3, general.OnOff.cluster_id) == { @@ -515,7 +505,7 @@ async def test_write_zigbee_attribute( zha_gateway: Gateway, ) -> None: """Test write_zigbee_attribute method.""" - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) with pytest.raises( @@ -575,7 +565,7 @@ async def test_issue_cluster_command( zha_gateway: Gateway, ) -> None: """Test issue_cluster_command method.""" - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) with pytest.raises( @@ -611,7 +601,7 @@ async def test_async_add_to_group_remove_from_group( caplog: pytest.LogCaptureFixture, ) -> None: """Test async_add_to_group and async_remove_from_group methods.""" - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zigpy_dev.endpoints[3].add_input_cluster(general.Groups.cluster_id) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) @@ -680,11 +670,11 @@ async def test_async_bind_to_group( caplog: pytest.LogCaptureFixture, ) -> None: """Test async_bind_to_group method.""" - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zigpy_dev.endpoints[3].add_input_cluster(general.Groups.cluster_id) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) - zigpy_dev_remote = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev_remote = zigpy_device(zha_gateway, with_basic_cluster=True) zigpy_dev_remote._ieee = zigpy.types.EUI64.convert("00:0d:7f:00:0a:90:69:e8") zigpy_dev_remote.endpoints[3].add_output_cluster(general.OnOff.cluster_id) zha_device_remote = await join_zigpy_device(zha_gateway, zigpy_dev_remote) @@ -719,7 +709,7 @@ async def test_device_automation_triggers( zha_gateway: Gateway, ) -> None: """Test device automation triggers.""" - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) assert get_device_automation_triggers(zha_device) == { @@ -736,7 +726,7 @@ async def test_device_properties( zha_gateway: Gateway, ) -> None: """Test device properties.""" - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) assert zha_device.is_mains_powered is False @@ -1185,7 +1175,7 @@ async def test_endpoint_none_profile( caplog: pytest.LogCaptureFixture, ) -> None: """Test endpoint with None profile id being skipped.""" - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zigpy_dev.endpoints[3].profile_id = None zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) @@ -1539,7 +1529,7 @@ async def test_gateway_reconfigure_with_swap( zha_gateway: Gateway, ) -> None: """Test gateway.async_reinterview_device rebuilds when reinterview swaps.""" - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) assert zha_device.status.name == "INITIALIZED" @@ -1617,7 +1607,7 @@ async def test_gateway_reconfigure_no_swap( zha_gateway: Gateway, ) -> None: """Test gateway.async_reinterview_device does normal configure when no swap.""" - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) old_zigpy_dev = zha_device.device @@ -1645,7 +1635,7 @@ async def test_remove_entity_drops_mapping_on_on_remove_failure( would silently drop the replacement and the stale entity would shadow it indefinitely. """ - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) entity = next(iter(zha_device.platform_entities.values())) @@ -1672,7 +1662,7 @@ async def test_gateway_reconfigure_with_swap_rebuild_failure( is suppressed because entities are partial — reporting CONFIGURED would mislead the frontend's pairing-status display. """ - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) new_zigpy_dev = create_mock_zigpy_device( @@ -1719,7 +1709,7 @@ async def test_gateway_reconfigure_with_swap_initialize_failure( `async_initialize()` then raises, the gateway must NOT emit a second `reconfigure_done`. """ - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) new_zigpy_dev = create_mock_zigpy_device( @@ -1768,7 +1758,7 @@ async def test_gateway_reconfigure_reinterview_raises_still_emits( Without the `finally`, an exception left the HA frontend stuck on "reconfiguring" indefinitely. """ - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) with ( @@ -1789,7 +1779,7 @@ async def test_gateway_device_reinterviewed_ota_path( zha_gateway: Gateway, ) -> None: """Test that the gateway handles device_reinterviewed from OTA/zigpy.""" - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) assert zha_device.status.name == "INITIALIZED" @@ -1827,7 +1817,7 @@ async def test_device_reinterviewed_cancels_pending_init_task( zha_gateway: Gateway, ) -> None: """Test that device_reinterviewed cancels an in-flight init task for the device.""" - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) pending_task = mock.MagicMock() @@ -1870,7 +1860,7 @@ async def test_device_reinterviewed_configure_failure( zha_gateway: Gateway, caplog: pytest.LogCaptureFixture ) -> None: """Test that a configure failure during reinterview is logged but not raised.""" - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) new_zigpy_dev = create_mock_zigpy_device( @@ -1918,7 +1908,7 @@ async def test_async_reinterview_device_active_coordinator( zha_gateway: Gateway, caplog: pytest.LogCaptureFixture ) -> None: """Test that async_reinterview_device skips the active coordinator.""" - zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster_handler=True) + zigpy_dev = zigpy_device(zha_gateway, with_basic_cluster=True) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) with ( diff --git a/tests/test_light.py b/tests/test_light.py index b59e452ce..a7dcc4419 100644 --- a/tests/test_light.py +++ b/tests/test_light.py @@ -1577,18 +1577,18 @@ async def test_transitions( await entity.async_turn_on(transition=1, brightness=25, color_temp=235) await zha_gateway.async_block_till_done() - group_on_off_cluster_handler = zha_group.endpoint[general.OnOff.cluster_id] - group_level_cluster_handler = zha_group.endpoint[general.LevelControl.cluster_id] - group_color_cluster_handler = zha_group.endpoint[lighting.Color.cluster_id] - assert group_on_off_cluster_handler.request.call_count == 0 - assert group_on_off_cluster_handler.request.await_count == 0 - assert group_color_cluster_handler.request.call_count == 1 - assert group_color_cluster_handler.request.await_count == 1 - assert group_level_cluster_handler.request.call_count == 1 - assert group_level_cluster_handler.request.await_count == 1 + group_on_off_cluster = zha_group.endpoint[general.OnOff.cluster_id] + group_level_cluster = zha_group.endpoint[general.LevelControl.cluster_id] + group_color_cluster = zha_group.endpoint[lighting.Color.cluster_id] + assert group_on_off_cluster.request.call_count == 0 + assert group_on_off_cluster.request.await_count == 0 + assert group_color_cluster.request.call_count == 1 + assert group_color_cluster.request.await_count == 1 + assert group_level_cluster.request.call_count == 1 + assert group_level_cluster.request.await_count == 1 # groups are omitted from the 3 call dance for new_color_provided_while_off - assert group_color_cluster_handler.request.call_args == call( + assert group_color_cluster.request.call_args == call( False, dev2_cluster_color.commands_by_name["move_to_color_temp"].id, dev2_cluster_color.commands_by_name["move_to_color_temp"].schema, @@ -1597,7 +1597,7 @@ async def test_transitions( expect_reply=True, manufacturer=None, ) - assert group_level_cluster_handler.request.call_args == call( + assert group_level_cluster.request.call_args == call( False, dev2_cluster_level.commands_by_name["move_to_level_with_on_off"].id, dev2_cluster_level.commands_by_name["move_to_level_with_on_off"].schema, @@ -1612,9 +1612,9 @@ async def test_transitions( assert entity.state["color_temp"] == 235 assert entity.state["color_mode"] == ColorMode.COLOR_TEMP - group_on_off_cluster_handler.request.reset_mock() - group_color_cluster_handler.request.reset_mock() - group_level_cluster_handler.request.reset_mock() + group_on_off_cluster.request.reset_mock() + group_color_cluster.request.reset_mock() + group_level_cluster.request.reset_mock() # turn the sengled light back on await device_2_light_entity.async_turn_on() diff --git a/zha/application/const.py b/zha/application/const.py index 149ec885a..67af4c88b 100644 --- a/zha/application/const.py +++ b/zha/application/const.py @@ -93,9 +93,6 @@ ENTITY_METADATA = "entity_metadata" -ZCL_INIT_ATTRS = "ZCL_INIT_ATTRS" -REPORT_CONFIG = "REPORT_CONFIG" - _ControllerClsType = type[zigpy.application.ControllerApplication] @@ -185,11 +182,9 @@ def pretty_name(self) -> str: WARNING_DEVICE_SQUAWK_MODE_ARMED = 0 WARNING_DEVICE_SQUAWK_MODE_DISARMED = 1 -ZHA_CLUSTER_HANDLER_MSG = "zha_channel_message" -ZHA_CLUSTER_HANDLER_MSG_BIND = "zha_channel_bind" -ZHA_CLUSTER_HANDLER_MSG_CFG_RPT = "zha_channel_configure_reporting" -ZHA_CLUSTER_HANDLER_MSG_DATA = "zha_channel_msg_data" -ZHA_CLUSTER_HANDLER_CFG_DONE = "zha_channel_cfg_done" +ZHA_CLUSTER_BIND_EVENT = "zha_cluster_bind" +ZHA_CLUSTER_CONFIGURE_REPORTING_EVENT = "zha_cluster_configure_reporting" +ZHA_DEVICE_CONFIGURED_EVENT = "zha_device_configured" CLUSTER_READS_PER_REQ = 5 ZHA_EVENT = "zha_event" ZHA_DEVICE_UPDATED_EVENT = "zha_device_updated_event" diff --git a/zha/application/platforms/siren.py b/zha/application/platforms/siren.py index 15fb47766..9e7aaa29d 100644 --- a/zha/application/platforms/siren.py +++ b/zha/application/platforms/siren.py @@ -50,7 +50,7 @@ def _set_bit(destination_value, destination_bit, source_value, source_bit): return destination_value -async def _issue_start_warning( +async def issue_start_warning( cluster, *, mode, @@ -74,6 +74,21 @@ async def _issue_start_warning( value, warning_duration, strobe_duty_cycle, strobe_intensity ) + +async def issue_squawk(cluster, *, mode, strobe, squawk_level) -> None: + """Issue an IAS WD squawk command with packed squawk byte.""" + value = 0 + value = _set_bit(value, 0, squawk_level, 0) + value = _set_bit(value, 1, squawk_level, 1) + value = _set_bit(value, 3, strobe, 0) + value = _set_bit(value, 4, mode, 0) + value = _set_bit(value, 5, mode, 1) + value = _set_bit(value, 6, mode, 2) + value = _set_bit(value, 7, mode, 3) + + await cluster.squawk(value) + + DEFAULT_DURATION = 5 # seconds ATTR_AVAILABLE_TONES: Final[str] = "available_tones" @@ -205,7 +220,7 @@ def _cancel_off_listener(self) -> None: async def async_turn_off(self) -> None: """Turn off siren.""" - await _issue_start_warning( + await issue_start_warning( self._cluster, mode=WARNING_DEVICE_MODE_STOP, strobe=WARNING_DEVICE_STROBE_NO, @@ -297,7 +312,7 @@ async def async_turn_on( siren_tone = tone if volume_level is not None: siren_level = int(volume_level) - await _issue_start_warning( + await issue_start_warning( self._cluster, mode=siren_tone, warning_duration=siren_duration, @@ -351,7 +366,7 @@ async def async_turn_on( """Turn on siren with fixed tone, level, and strobe.""" self._cancel_off_listener() siren_duration = duration if duration is not None else DEFAULT_DURATION - await _issue_start_warning( + await issue_start_warning( self._cluster, # some Frient sensors send INVALID_VALUE for EMERGENCY mode=WARNING_DEVICE_MODE_BURGLAR, diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py index dcd3931af..ebe5a1361 100644 --- a/zha/application/platforms/virtual.py +++ b/zha/application/platforms/virtual.py @@ -3,9 +3,8 @@ Virtual entities participate in cluster discovery and the cluster-config aggregation flow (so they drive bind, attribute reporting, and cluster-level setup work) but are filtered out before being registered as HA entities. They -exist to host per-cluster background work that used to live on ClusterHandler: -IAS Zone enrollment, LightLink coordinator group joining, client-cluster -attribute cache synchronization, etc. +host per-cluster background work like IAS Zone enrollment, LightLink +coordinator group joining, and client-cluster attribute cache synchronization. """ from __future__ import annotations @@ -273,8 +272,8 @@ def cluster_command(self, tsn: int, command_id: int, args: list[Any]) -> None: except KeyError: return - # Legacy ClientClusterHandler.cluster_command emitted a zha_event for - # every incoming server command; preserve that. + # Re-emit every incoming server command as a zha_event so HA + # automations can react to remote button presses. self.emit_cluster_zha_event(cmd, args) if cmd in ( @@ -331,11 +330,7 @@ def _set_to_off(self) -> None: class _ClientClusterZhaEventEmitter(VirtualEntity): - """Bind a client cluster and emit zha_events for incoming commands/updates. - - Replaces the legacy `ClientClusterHandler` auto-emit behavior (which fired - on every cluster_command from the device and every attribute update). - """ + """Bind a client cluster and emit zha_events for incoming commands/updates.""" def cluster_command(self, tsn: int, command_id: int, args: list[Any]) -> None: """Relay incoming client cluster commands as zha_events.""" @@ -579,11 +574,10 @@ def cluster_command(self, tsn: int, command_id: int, args: list[Any]) -> None: # === Aqara Opple cluster per-model attribute initialization === # -# These virtual entities replace the per-model `ZCL_INIT_ATTRS` swaps that -# previously lived in `OppleRemoteClusterHandler.__init__`. Each virtual entity -# claims the Aqara Opple cluster and declares the attributes it expects to be -# read on startup so they're populated in the attribute cache for the regular -# entities (select/switch/sensor/number) that read them. +# Each virtual entity below targets a specific Aqara model and declares the +# Opple attributes that should be populated in the attribute cache on startup +# so the regular entities (select/switch/sensor/number) reading them have a +# value to display. AQARA_OPPLE_CLUSTER = 0xFCC0 diff --git a/zha/decorators.py b/zha/decorators.py index bc5214393..7bc9bcbcb 100644 --- a/zha/decorators.py +++ b/zha/decorators.py @@ -16,12 +16,11 @@ class DictRegistry(dict[int | str, _TypeT]): """Dict Registry of items.""" def register(self, name: int | str) -> Callable[[_TypeT], _TypeT]: - """Return decorator to register item with a specific name.""" + """Return decorator to register an item with a specific name.""" - def decorator(cluster_handler: _TypeT) -> _TypeT: - """Register decorated cluster handler or item.""" - self[name] = cluster_handler - return cluster_handler + def decorator(cls: _TypeT) -> _TypeT: + self[name] = cls + return cls return decorator @@ -32,14 +31,13 @@ class NestedDictRegistry(dict[int | str, dict[int | str | None, _TypeT]]): def register( self, name: int | str, sub_name: int | str | None = None ) -> Callable[[_TypeT], _TypeT]: - """Return decorator to register item with a specific and a quirk name.""" + """Return decorator to register an item under (name, sub_name).""" - def decorator(cluster_handler: _TypeT) -> _TypeT: - """Register decorated cluster handler or item.""" + def decorator(cls: _TypeT) -> _TypeT: if name not in self: self[name] = {} - self[name][sub_name] = cluster_handler - return cluster_handler + self[name][sub_name] = cls + return cls return decorator @@ -48,12 +46,11 @@ class SetRegistry(set[int | str]): """Set Registry of items.""" def register(self, name: int | str) -> Callable[[_TypeT], _TypeT]: - """Return decorator to register item with a specific name.""" + """Return decorator to add a name to the set.""" - def decorator(cluster_handler: _TypeT) -> _TypeT: - """Register decorated cluster handler or item.""" + def decorator(cls: _TypeT) -> _TypeT: self.add(name) - return cluster_handler + return cls return decorator diff --git a/zha/zigbee/cluster_config.py b/zha/zigbee/cluster_config.py index 2028b670e..34e0bc781 100644 --- a/zha/zigbee/cluster_config.py +++ b/zha/zigbee/cluster_config.py @@ -13,13 +13,18 @@ from zigpy.zcl import ReportingConfig from zigpy.zcl.foundation import Status +from zha.application.const import ( + CLUSTER_READS_PER_REQ, + ZHA_CLUSTER_BIND_EVENT, + ZHA_CLUSTER_CONFIGURE_REPORTING_EVENT, +) from zha.application.platforms import AttrConfig -from zha.application.const import CLUSTER_READS_PER_REQ if TYPE_CHECKING: from collections.abc import Iterable from zha.application.platforms import BaseEntity + from zha.zigbee.device import Device _LOGGER = logging.getLogger(__name__) RETRYABLE_REQUEST_DECORATOR = zigpy.util.retryable_request(tries=3) @@ -115,23 +120,35 @@ def aggregate_cluster_configs( async def configure_cluster_configs( + device: Device, configs: dict[tuple[int, int, bool], AggregatedClusterConfig], manufacturer_code: int | None, ) -> None: - """Execute binding, reporting, and post-bind hooks from aggregated configs.""" - for agg in configs.values(): + """Execute binding, reporting, and post-bind hooks from aggregated configs. + + Emits `ClusterBindEvent` and `ClusterConfigureReportingEvent` on `device` + so listeners (HA Core diagnostics, reconfigure dialog) can observe the + per-cluster outcomes. + """ + # Imported lazily to avoid a circular import. + from zha.zigbee.device import ( # noqa: PLC0415 + ClusterBindEvent, + ClusterConfigureReportingEvent, + ) + + for (endpoint_id, _cluster_id, _is_server), agg in configs.items(): if agg.cluster.endpoint.device.skip_configuration: continue if agg.bind: try: res = await RETRYABLE_REQUEST_DECORATOR(agg.cluster.bind)() + success = res[0] == 0 _LOGGER.debug( "[%s] Bound cluster %s: %s", agg.cluster.endpoint.device.ieee, agg.cluster.ep_attribute, res[0], ) - agg.cluster._zha_last_bind_success = res[0] == 0 except (zigpy.exceptions.ZigbeeException, TimeoutError) as ex: _LOGGER.debug( "[%s] Failed to bind cluster %s: %s", @@ -139,7 +156,19 @@ async def configure_cluster_configs( agg.cluster.ep_attribute, ex, ) - agg.cluster._zha_last_bind_success = False + success = False + + agg.cluster._zha_last_bind_success = success + device.emit( + ZHA_CLUSTER_BIND_EVENT, + ClusterBindEvent( + device_ieee=device.ieee, + endpoint_id=endpoint_id, + cluster_id=agg.cluster.cluster_id, + cluster_name=agg.cluster.name, + success=success, + ), + ) reporting_attrs = {} for attr_name, attr_config in agg.attributes.items(): @@ -198,6 +227,16 @@ async def configure_cluster_configs( else: merged = event_data agg.cluster._zha_last_reporting_config = merged + device.emit( + ZHA_CLUSTER_CONFIGURE_REPORTING_EVENT, + ClusterConfigureReportingEvent( + device_ieee=device.ieee, + endpoint_id=endpoint_id, + cluster_id=agg.cluster.cluster_id, + cluster_name=agg.cluster.name, + attributes=event_data, + ), + ) for entity in agg.entities: try: diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index f1530321e..9c9fe26be 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -68,8 +68,9 @@ UNKNOWN, UNKNOWN_MANUFACTURER, UNKNOWN_MODEL, - ZHA_CLUSTER_HANDLER_CFG_DONE, - ZHA_CLUSTER_HANDLER_MSG, + ZHA_CLUSTER_BIND_EVENT, + ZHA_CLUSTER_CONFIGURE_REPORTING_EVENT, + ZHA_DEVICE_CONFIGURED_EVENT, ZHA_DEVICE_ENTITY_ADDED_EVENT, ZHA_DEVICE_ENTITY_REMOVED_EVENT, ZHA_DEVICE_UPDATED_EVENT, @@ -263,13 +264,46 @@ class DeviceEntityRemovedEvent: @dataclass(kw_only=True, frozen=True) -class ClusterHandlerConfigurationComplete: - """Event generated when all cluster handlers are configured.""" +class DeviceConfiguredEvent: + """Emitted when `device.async_configure()` completes.""" + + event_type: Final[str] = ZHA_DEVICE_CONFIGURED_EVENT + event: Final[str] = ZHA_DEVICE_CONFIGURED_EVENT device_ieee: EUI64 - unique_id: str - event_type: Final[str] = ZHA_CLUSTER_HANDLER_MSG - event: Final[str] = ZHA_CLUSTER_HANDLER_CFG_DONE + + +@dataclass(kw_only=True, frozen=True) +class ClusterBindEvent: + """Emitted after attempting to bind a cluster to the coordinator.""" + + event_type: Final[str] = ZHA_CLUSTER_BIND_EVENT + event: Final[str] = ZHA_CLUSTER_BIND_EVENT + + device_ieee: EUI64 + endpoint_id: int + cluster_id: int + cluster_name: str + success: bool + + +@dataclass(kw_only=True, frozen=True) +class ClusterConfigureReportingEvent: + """Emitted after configuring attribute reporting on a cluster. + + ``attributes`` is keyed by attribute name; each value is + ``{"id", "name", "min", "max", "change", "status"}`` where ``status`` is + the per-attribute ZCL status name or ``"FAILURE"`` on transport error. + """ + + event_type: Final[str] = ZHA_CLUSTER_CONFIGURE_REPORTING_EVENT + event: Final[str] = ZHA_CLUSTER_CONFIGURE_REPORTING_EVENT + + device_ieee: EUI64 + endpoint_id: int + cluster_id: int + cluster_name: str + attributes: dict[str, dict[str, Any]] @dataclass(kw_only=True, frozen=True) @@ -954,7 +988,7 @@ async def async_configure(self) -> None: # Configure binding and reporting from entity-level cluster configs aggregated = aggregate_cluster_configs(self._discovered_entities) if aggregated: - await configure_cluster_configs(aggregated, self.manufacturer_code) + await configure_cluster_configs(self, aggregated, self.manufacturer_code) self.emit_reconfigure_done() @@ -988,18 +1022,14 @@ async def async_rebuild_from_zigpy_device( self._init_from_zigpy_device(zigpy_device) def emit_reconfigure_done(self) -> None: - """Emit configuration-complete event. + """Emit `DeviceConfiguredEvent`. - Called by the gateway after a reconfigure (successful or not) so that - frontends listening for cluster handler messages know the operation - has finished. + Called by the gateway after a reconfigure (successful or not) so the + HA frontend's reconfigure dialog unsticks. """ self.emit( - ZHA_CLUSTER_HANDLER_CFG_DONE, - ClusterHandlerConfigurationComplete( - device_ieee=self.ieee, - unique_id=self.ieee, - ), + ZHA_DEVICE_CONFIGURED_EVENT, + DeviceConfiguredEvent(device_ieee=self.ieee), ) def _is_entity_removed_by_quirk(self, entity: PlatformEntity) -> bool: diff --git a/zha/zigbee/endpoint.py b/zha/zigbee/endpoint.py index 37f939dce..c360d25ca 100644 --- a/zha/zigbee/endpoint.py +++ b/zha/zigbee/endpoint.py @@ -29,10 +29,8 @@ class _ClusterEventForwarder: """Forwards quirk `zha_send_event` listener calls into device `zha_event`s. - Replaces the runtime forwarding that ClusterHandler used to do. The - `unique_id` published on the event matches the legacy format - (`ieee:endpoint_id:0xCLUSTER` with `_CLIENT` suffix for client clusters) so - Home Assistant automations filtering on it keep working. + The `unique_id` published on the event is `ieee:endpoint_id:0xCLUSTER` with + a `_CLIENT` suffix for client clusters; HA automations filter on it. """ def __init__( diff --git a/zha/zigbee/reporting.py b/zha/zigbee/reporting.py new file mode 100644 index 000000000..0f518f605 --- /dev/null +++ b/zha/zigbee/reporting.py @@ -0,0 +1,55 @@ +"""Default ZCL attribute reporting configurations.""" + +from typing import Final + +REPORT_CONFIG_MAX_INT: Final[int] = 900 +REPORT_CONFIG_MAX_INT_BATTERY_SAVE: Final[int] = 10800 +REPORT_CONFIG_MIN_INT: Final[int] = 30 +REPORT_CONFIG_MIN_INT_ASAP: Final[int] = 1 +REPORT_CONFIG_MIN_INT_IMMEDIATE: Final[int] = 0 +REPORT_CONFIG_MIN_INT_OP: Final[int] = 5 +REPORT_CONFIG_MIN_INT_BATTERY_SAVE: Final[int] = 3600 +REPORT_CONFIG_RPT_CHANGE: Final[int] = 1 + +REPORT_CONFIG_DEFAULT: tuple[int, int, int] = ( + REPORT_CONFIG_MIN_INT, + REPORT_CONFIG_MAX_INT, + REPORT_CONFIG_RPT_CHANGE, +) +REPORT_CONFIG_ASAP: tuple[int, int, int] = ( + REPORT_CONFIG_MIN_INT_ASAP, + REPORT_CONFIG_MAX_INT, + REPORT_CONFIG_RPT_CHANGE, +) +REPORT_CONFIG_BATTERY_SAVE: tuple[int, int, int] = ( + REPORT_CONFIG_MIN_INT_BATTERY_SAVE, + REPORT_CONFIG_MAX_INT_BATTERY_SAVE, + REPORT_CONFIG_RPT_CHANGE, +) +REPORT_CONFIG_IMMEDIATE: tuple[int, int, int] = ( + REPORT_CONFIG_MIN_INT_IMMEDIATE, + REPORT_CONFIG_MAX_INT, + REPORT_CONFIG_RPT_CHANGE, +) +REPORT_CONFIG_OP: tuple[int, int, int] = ( + REPORT_CONFIG_MIN_INT_OP, + REPORT_CONFIG_MAX_INT, + REPORT_CONFIG_RPT_CHANGE, +) + +# HVAC-specific reporting configs +REPORT_CONFIG_CLIMATE: tuple[int, int, float] = ( + REPORT_CONFIG_MIN_INT, + REPORT_CONFIG_MAX_INT, + 25, +) +REPORT_CONFIG_CLIMATE_DEMAND: tuple[int, int, float] = ( + REPORT_CONFIG_MIN_INT, + REPORT_CONFIG_MAX_INT, + 5, +) +REPORT_CONFIG_CLIMATE_DISCRETE: tuple[int, int, float] = ( + REPORT_CONFIG_MIN_INT, + REPORT_CONFIG_MAX_INT, + 1, +) From 2feb91bc376110108c7b3d6da4a5a470d836a170 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 17 May 2026 11:42:55 -0400 Subject: [PATCH 32/85] WIP: Maintain naming of `MeasurementType` extra state attribute --- zha/application/platforms/sensor/__init__.py | 9 ++++++++- zha/application/platforms/sensor/const.py | 15 +++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 5ed2c47c9..6b6d9c2bf 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -78,6 +78,7 @@ from zha.application.platforms.sensor.const import ( ANALOG_INPUT_APPTYPE_DEV_CLASS, ANALOG_INPUT_APPTYPE_UNITS, + LEGACY_MEASUREMENT_TYPE_REMAPPING, ZCL_EPOCH, SensorDeviceClass, SensorStateClass, @@ -1072,8 +1073,14 @@ def _measurement_type(self) -> str | None: ) if meas_type is None: return None + + # Iterating over the bits only yields named bits so the earlier version of this + # code omitted any measurement types that were not explicitly in the bitmap type. + # TODO: deprecate this return ", ".join( - m.name for m in ElectricalMeasurement.MeasurementType(meas_type) + LEGACY_MEASUREMENT_TYPE_REMAPPING[m] + for m in ElectricalMeasurement.MeasurementType(meas_type) + if m in LEGACY_MEASUREMENT_TYPE_REMAPPING ) @property diff --git a/zha/application/platforms/sensor/const.py b/zha/application/platforms/sensor/const.py index 093aaced9..4c895bb83 100644 --- a/zha/application/platforms/sensor/const.py +++ b/zha/application/platforms/sensor/const.py @@ -4,6 +4,7 @@ from zigpy.quirks.v2.homeassistant.sensor import SensorDeviceClass, SensorStateClass from zigpy.zcl.clusters.general_const import AnalogInputType +from zigpy.zcl.clusters.homeautomation import MeasurementType from zha.units import ( CONCENTRATION_PARTS_PER_MILLION, @@ -69,3 +70,17 @@ } ZCL_EPOCH = datetime(2000, 1, 1, tzinfo=UTC) + +# Remapping of `MeasurementType` members to legacy names, for extra state attributes. +# TODO: deprecate this. +LEGACY_MEASUREMENT_TYPE_REMAPPING = { + MeasurementType.Active_measurement_AC: "ACTIVE_MEASUREMENT", + MeasurementType.Reactive_measurement_AC: "REACTIVE_MEASUREMENT", + MeasurementType.Apparent_measurement_AC: "APPARENT_MEASUREMENT", + MeasurementType.Phase_A_measurement: "PHASE_A_MEASUREMENT", + MeasurementType.Phase_B_measurement: "PHASE_B_MEASUREMENT", + MeasurementType.Phase_C_measurement: "PHASE_C_MEASUREMENT", + MeasurementType.DC_measurement: "DC_MEASUREMENT", + MeasurementType.Harmonics_measurement: "HARMONICS_MEASUREMENT", + MeasurementType.Power_quality_measurement: "POWER_QUALITY_MEASUREMENT", +} From 2f01997dbfc6a986a32a5c562d03d11579287595 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 17 May 2026 11:59:49 -0400 Subject: [PATCH 33/85] WIP: re-add profile filtering for ZCL entity discovery --- zha/application/discovery.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/zha/application/discovery.py b/zha/application/discovery.py index 0592194f7..ec23ab806 100644 --- a/zha/application/discovery.py +++ b/zha/application/discovery.py @@ -9,6 +9,8 @@ import logging from typing import TYPE_CHECKING +from zigpy.profiles.zha import PROFILE_ID as ZHA_PROFILE_ID +from zigpy.profiles.zll import PROFILE_ID as ZLL_PROFILE_ID from zigpy.quirks.v2 import ( BinarySensorMetadata, CustomDeviceV2, @@ -134,6 +136,10 @@ def discover_device_entities(device: Device) -> Iterator[BaseEntity]: endpoint.id, ) + if endpoint.zigpy_endpoint.profile_id not in (ZLL_PROFILE_ID, ZHA_PROFILE_ID): + _LOGGER.debug("Endpoint: %s-%s has unsupported profile id: 0x%04x") + continue + yield from discover_entities_for_endpoint(endpoint) yield from discover_quirks_v2_entities(device) From 6025b9d57f86e969935355e0b417407b94e5b9be Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 17 May 2026 12:00:05 -0400 Subject: [PATCH 34/85] Remove unnecessary duplicate sensor --- zha/application/platforms/sensor/__init__.py | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 6b6d9c2bf..d3c82fcae 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -2420,24 +2420,6 @@ class VOCLevel(Sensor): ) -@register_entity(0x042E) -class GenericVOCLevel(Sensor): - """VOC Level sensor.""" - - _attribute_name = "measured_value" - _attr_device_class: SensorDeviceClass = SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS - _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT - _attr_suggested_display_precision = 0 - _multiplier = 1e6 - _attr_native_unit_of_measurement = CONCENTRATION_MICROGRAMS_PER_CUBIC_METER - _attr_primary_weight = 1 - _cluster_id = 0x042E - - _cluster_match = ClusterMatch( - server_clusters=frozenset({0x042E}), - ) - - @register_entity(0x042E) class PPBVOCLevel(Sensor): """VOC Level sensor.""" From 5c617d27a4d92c745e5bb815788eee71e2201a5b Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 17 May 2026 12:00:32 -0400 Subject: [PATCH 35/85] Clean up naming for legacy event forwarding --- zha/zigbee/endpoint.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/zha/zigbee/endpoint.py b/zha/zigbee/endpoint.py index c360d25ca..b7473bcb5 100644 --- a/zha/zigbee/endpoint.py +++ b/zha/zigbee/endpoint.py @@ -134,15 +134,12 @@ def zigbee_signature(self) -> tuple[int, dict[str, Any]]: def new(cls, zigpy_endpoint: ZigpyEndpoint, device: Device) -> Endpoint: """Create new endpoint and attach quirk-event forwarders to each cluster.""" endpoint = cls(zigpy_endpoint, device) - endpoint._attach_forwarders() + endpoint._attach_legacy_event_forwarders() return endpoint - def _attach_forwarders(self) -> None: - """Attach a quirk-event forwarder to every server and client cluster.""" + def _attach_legacy_event_forwarders(self) -> None: + """Attach legacy quirk-event forwarders to every server and client cluster.""" profile_id = self._zigpy_endpoint.profile_id - if profile_id is None: - _LOGGER.debug("Skipping endpoint, profile is None") - return if profile_id not in (ZLL_PROFILE_ID, ZHA_PROFILE_ID): _LOGGER.debug( "Skipping endpoint, profile is not ZLL or ZHA: 0x%04X", profile_id From 27222c0334b7a34c0d1393d441c2d26cfaecb292 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 17 May 2026 13:30:17 -0400 Subject: [PATCH 36/85] Clean up unique ID computation --- zha/application/discovery.py | 59 ++++++++++++------- zha/application/platforms/__init__.py | 45 +++++++++++--- .../platforms/alarm_control_panel/__init__.py | 10 +--- .../platforms/binary_sensor/__init__.py | 29 +++------ zha/application/platforms/button/__init__.py | 23 +------- zha/application/platforms/climate/__init__.py | 1 - zha/application/platforms/cover/__init__.py | 20 +++---- zha/application/platforms/device_tracker.py | 7 ++- zha/application/platforms/fan/__init__.py | 19 ++---- zha/application/platforms/light/__init__.py | 1 - zha/application/platforms/lock/__init__.py | 4 +- zha/application/platforms/number/__init__.py | 29 ++------- zha/application/platforms/select.py | 18 +++--- zha/application/platforms/sensor/__init__.py | 10 +--- zha/application/platforms/siren.py | 1 - zha/application/platforms/switch.py | 34 ++++------- zha/application/platforms/update.py | 12 +--- zha/application/platforms/virtual.py | 32 +--------- 18 files changed, 138 insertions(+), 216 deletions(-) diff --git a/zha/application/discovery.py b/zha/application/discovery.py index ec23ab806..2f971094c 100644 --- a/zha/application/discovery.py +++ b/zha/application/discovery.py @@ -7,7 +7,7 @@ import functools import itertools import logging -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, Any from zigpy.profiles.zha import PROFILE_ID as ZHA_PROFILE_ID from zigpy.profiles.zll import PROFILE_ID as ZLL_PROFILE_ID @@ -34,6 +34,7 @@ ClusterMatch, PlatformEntity, PlatformFeatureGroup, + ZCLClusterEntity, alarm_control_panel, binary_sensor, button, @@ -84,6 +85,30 @@ Platform.SWITCH, ) + +def _pick_primary_cluster(endpoint: Endpoint, match: ClusterMatch) -> Cluster | None: + """Pick the primary cluster for a ZCLClusterEntity from a ClusterMatch. + + Required server/client clusters win over optional. The "first" cluster id + from a frozenset is non-deterministic, but each entity that subclasses + `ZCLClusterEntity` is expected to declare exactly one required cluster, so + in practice the result is stable. + """ + if match.server_clusters: + cluster_id = next(iter(match.server_clusters)) + return endpoint.zigpy_endpoint.in_clusters.get(cluster_id) + if match.client_clusters: + cluster_id = next(iter(match.client_clusters)) + return endpoint.zigpy_endpoint.out_clusters.get(cluster_id) + for cluster_id in match.optional_server_clusters: + if cluster_id in endpoint.zigpy_endpoint.in_clusters: + return endpoint.zigpy_endpoint.in_clusters[cluster_id] + for cluster_id in match.optional_client_clusters: + if cluster_id in endpoint.zigpy_endpoint.out_clusters: + return endpoint.zigpy_endpoint.out_clusters[cluster_id] + return None + + QUIRKS_ENTITY_META_TO_ENTITY_CLASS = { (Platform.BUTTON, WriteAttributeButtonMetadata): button.WriteAttributeButton, (Platform.BUTTON, ZCLCommandButtonMetadata): button.Button, @@ -303,8 +328,8 @@ def discover_quirks_v2_entities(device: Device) -> Iterator[PlatformEntity]: entity = entity_class( endpoint=endpoint, device=device, + cluster=cluster, entity_metadata=entity_metadata, - legacy_discovery_unique_id=f"{device.ieee}-{endpoint.id}", ) # Translate quirks v2 reporting/attribute-init metadata into a @@ -544,34 +569,28 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit selected_matches = override_matches for match, entity_class in selected_matches: - primary_cluster_id = next( - iter( - match.server_clusters - | match.client_clusters - | match.optional_server_clusters - | match.optional_client_clusters - ), - None, - ) - if primary_cluster_id is None: - _LOGGER.error( - "ClusterMatch entity %s has no cluster ids declared", - entity_class.__name__, - ) - continue - legacy_unique_id = f"{device.ieee}-{endpoint.id}-{primary_cluster_id}" - _LOGGER.debug( "'%s' platform -> '%s'", entity_class.PLATFORM, entity_class.__name__, ) + kwargs: dict[str, Any] = {} + if issubclass(entity_class, ZCLClusterEntity): + cluster = _pick_primary_cluster(endpoint, match) + if cluster is None: + _LOGGER.error( + "ZCLClusterEntity %s could not resolve a primary cluster", + entity_class.__name__, + ) + continue + kwargs["cluster"] = cluster + try: entity = entity_class( endpoint=endpoint, device=device, - legacy_discovery_unique_id=legacy_unique_id, + **kwargs, ) except Exception: # pylint: disable=broad-except _LOGGER.exception("Failed to create %s entity", entity_class.__name__) diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index 5907f52bc..28c5d21cc 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -17,7 +17,7 @@ from zigpy.quirks.v2 import EntityMetadata, EntityType from zigpy.types import ClusterId from zigpy.types.named import EUI64 -from zigpy.zcl import ClusterType +import zigpy.zcl from zigpy.zcl.foundation import ZCLAttributeDef from zha.application import Platform @@ -501,13 +501,16 @@ def __init__( device: Device, *, entity_metadata: EntityMetadata | None = None, - legacy_discovery_unique_id: str, + legacy_discovery_unique_id: str | None = None, **kwargs: Any, ): """Initialize the platform entity.""" if entity_metadata is not None: self._init_from_quirks_metadata(entity_metadata) + if legacy_discovery_unique_id is None and entity_metadata is not None: + legacy_discovery_unique_id = f"{device.ieee}-{endpoint.id}" + if self._unique_id_suffix is not None: unique_id = f"{legacy_discovery_unique_id}-{self._unique_id_suffix}" else: @@ -558,12 +561,6 @@ def _init_from_quirks_metadata(self, entity_metadata: EntityMetadata) -> None: if entity_metadata.primary is not None: self._attr_primary = entity_metadata.primary - # Quirks v2 metadata supplies the target cluster; entity subclasses can - # then read `self._cluster_id` / `self._is_client_cluster` before doing - # their cluster lookup. - self._cluster_id = entity_metadata.cluster_id - self._is_client_cluster = entity_metadata.cluster_type == ClusterType.Client - @cached_property def identifiers(self) -> PlatformEntityIdentifiers: """Return a dict with the information necessary to identify this entity.""" @@ -619,6 +616,38 @@ async def async_update(self) -> None: """ +class ZCLClusterEntity(PlatformEntity): + """A platform entity scoped to a specific ZCL cluster on an endpoint. + + Multi-cluster entities (e.g. lights, covers, climate) extend `PlatformEntity` + directly and manage their cluster references themselves. + """ + + def __init__( + self, + endpoint: Endpoint, + device: Device, + *, + cluster: zigpy.zcl.Cluster, + entity_metadata: EntityMetadata | None = None, + legacy_discovery_unique_id: str | None = None, + **kwargs: Any, + ) -> None: + """Initialize the ZCL cluster entity.""" + self._cluster = cluster + if legacy_discovery_unique_id is None and entity_metadata is None: + legacy_discovery_unique_id = ( + f"{device.ieee}-{endpoint.id}-{cluster.cluster_id}" + ) + super().__init__( + endpoint=endpoint, + device=device, + entity_metadata=entity_metadata, + legacy_discovery_unique_id=legacy_discovery_unique_id, + **kwargs, + ) + + class GroupEntity(BaseEntity): """A base class for group entities.""" diff --git a/zha/application/platforms/alarm_control_panel/__init__.py b/zha/application/platforms/alarm_control_panel/__init__.py index 08cde493c..b346dd8bd 100644 --- a/zha/application/platforms/alarm_control_panel/__init__.py +++ b/zha/application/platforms/alarm_control_panel/__init__.py @@ -9,7 +9,6 @@ import logging from typing import TYPE_CHECKING, Any -from zigpy.profiles import zha from zigpy.zcl.clusters.security import IasAce as AceCluster from zha.application import Platform @@ -149,7 +148,6 @@ def __init__( legacy_discovery_unique_id = ( f"{endpoint.device.ieee}-{endpoint.id}-{int(AceCluster.cluster_id)}" ) - kwargs.pop("legacy_discovery_unique_id", None) super().__init__( endpoint=endpoint, device=device, @@ -164,9 +162,7 @@ def __init__( self.code_required_arm_actions: bool = alarm_options.arm_requires_code self.max_invalid_tries: int = alarm_options.failed_tries - self.armed_state: AceCluster.PanelStatus = ( - AceCluster.PanelStatus.Panel_Disarmed - ) + self.armed_state: AceCluster.PanelStatus = AceCluster.PanelStatus.Panel_Disarmed self.alarm_status: AceCluster.AlarmStatus = AceCluster.AlarmStatus.No_Alarm self.invalid_tries: int = 0 @@ -193,9 +189,7 @@ def on_add(self) -> None: """Run when entity is added.""" super().on_add() self._cluster.add_listener(self) - self._on_remove_callbacks.append( - lambda: self._cluster.remove_listener(self) - ) + self._on_remove_callbacks.append(lambda: self._cluster.remove_listener(self)) def cluster_command(self, tsn: int, command_id: int, args: list[Any]) -> None: """Handle commands received on the IAS ACE cluster.""" diff --git a/zha/application/platforms/binary_sensor/__init__.py b/zha/application/platforms/binary_sensor/__init__.py index 067aadcc5..2db7955f5 100644 --- a/zha/application/platforms/binary_sensor/__init__.py +++ b/zha/application/platforms/binary_sensor/__init__.py @@ -12,17 +12,16 @@ from zhaquirks.quirk_ids import DANFOSS_ALLY_THERMOSTAT from zigpy.profiles import zha, zll from zigpy.quirks.v2 import BinarySensorMetadata -from zigpy.zcl.clusters.general import BinaryInput as BinaryInputCluster, OnOff -from zigpy.zcl.clusters.hvac import Thermostat -from zigpy.zcl.clusters.measurement import OccupancySensing -from zigpy.zcl.clusters.security import IasZone - from zigpy.zcl import ( AttributeReadEvent, AttributeReportedEvent, AttributeUpdatedEvent, AttributeWrittenEvent, ) +from zigpy.zcl.clusters.general import BinaryInput as BinaryInputCluster, OnOff +from zigpy.zcl.clusters.hvac import Thermostat +from zigpy.zcl.clusters.measurement import OccupancySensing +from zigpy.zcl.clusters.security import IasZone from zha.application import Platform from zha.application.helpers import safe_read @@ -34,6 +33,7 @@ EntityCategory, PlatformEntity, PlatformFeatureGroup, + ZCLClusterEntity, register_entity, ) from zha.application.platforms.binary_sensor.const import ( @@ -82,14 +82,12 @@ def is_on(self) -> bool: """Return True if the binary sensor is on.""" -class BinarySensor(BaseBinarySensor): +class BinarySensor(BaseBinarySensor, ZCLClusterEntity): """ZHA BinarySensor.""" _attr_device_class: BinarySensorDeviceClass | None _attribute_name: str _attribute_converter: Callable[[Any], Any] | None = None - _cluster_id: int - _is_client_cluster: bool = False def __init__( self, @@ -99,10 +97,6 @@ def __init__( ) -> None: """Initialize the ZHA binary sensor.""" super().__init__(endpoint=endpoint, device=device, **kwargs) - if self._is_client_cluster: - self._cluster = endpoint.zigpy_endpoint.out_clusters[self._cluster_id] - else: - self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] self._state: bool = self.is_on self.recompute_capabilities() @@ -243,8 +237,6 @@ class Opening(BinarySensor): _attribute_name = "on_off" _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.OPENING _attr_primary_weight = 1 - _cluster_id = OnOff.cluster_id - _is_client_cluster = True _cluster_match = ClusterMatch( client_clusters=frozenset({OnOff.cluster_id}), @@ -306,10 +298,7 @@ def recompute_capabilities(self) -> None: ) def _is_supported(self) -> bool: - if ( - self._cluster.get(BinaryInputCluster.AttributeDefs.description.name) - is None - ): + if self._cluster.get(BinaryInputCluster.AttributeDefs.description.name) is None: return False return super()._is_supported() @@ -360,8 +349,6 @@ class IkeaMotion(BinarySensor): _attribute_name = "on_off" _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.MOTION _attr_primary_weight = 1 - _cluster_id = OnOff.cluster_id - _is_client_cluster = True _cluster_match = ClusterMatch( client_clusters=frozenset({OnOff.cluster_id}), @@ -378,8 +365,6 @@ class PhilipsMotion(BinarySensor): _attribute_name = "on_off" _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.MOTION _attr_primary_weight = 1 - _cluster_id = OnOff.cluster_id - _is_client_cluster = True _cluster_match = ClusterMatch( client_clusters=frozenset({OnOff.cluster_id}), diff --git a/zha/application/platforms/button/__init__.py b/zha/application/platforms/button/__init__.py index 543aa773b..1d8914635 100644 --- a/zha/application/platforms/button/__init__.py +++ b/zha/application/platforms/button/__init__.py @@ -12,7 +12,6 @@ from zigpy.zcl.clusters.general import Identify from zha.application import Platform -from zha.application.const import ENTITY_METADATA from zha.application.helpers import write_attributes_safe from zha.application.platforms import ( BaseEntity, @@ -20,6 +19,7 @@ ClusterMatch, EntityCategory, PlatformEntity, + ZCLClusterEntity, register_entity, ) from zha.application.platforms.button.const import DEFAULT_DURATION, ButtonDeviceClass @@ -69,25 +69,12 @@ async def async_press(self) -> None: """Send out a press command.""" -class Button(BaseButton): +class Button(BaseButton, ZCLClusterEntity): """Defines a ZHA button.""" _command_name: str _args: list[Any] _kwargs: dict[str, Any] - _cluster_id: int - - def __init__( - self, - endpoint: Endpoint, - device: Device, - **kwargs: Any, - ): - """Initialize button.""" - if ENTITY_METADATA in kwargs: - self._init_from_quirks_metadata(kwargs[ENTITY_METADATA]) - super().__init__(endpoint=endpoint, device=device, **kwargs) - self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] def _init_from_quirks_metadata( self, entity_metadata: ZCLCommandButtonMetadata @@ -147,12 +134,11 @@ def is_supported_in_list(self, entities: list[BaseEntity]) -> bool: return not any(type(entity) is cls for entity in entities if entity is not self) -class WriteAttributeButton(BaseButton): +class WriteAttributeButton(BaseButton, ZCLClusterEntity): """Defines a ZHA button, which writes a value to an attribute.""" _attribute_name: str _attribute_value: Any = None - _cluster_id: int def __init__( self, @@ -161,10 +147,7 @@ def __init__( **kwargs: Any, ) -> None: """Init this button.""" - if ENTITY_METADATA in kwargs: - self._init_from_quirks_metadata(kwargs[ENTITY_METADATA]) super().__init__(endpoint=endpoint, device=device, **kwargs) - self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] self.recompute_capabilities() def _init_from_quirks_metadata( diff --git a/zha/application/platforms/climate/__init__.py b/zha/application/platforms/climate/__init__.py index 90691af3c..b27b4ef6a 100644 --- a/zha/application/platforms/climate/__init__.py +++ b/zha/application/platforms/climate/__init__.py @@ -342,7 +342,6 @@ def __init__( if endpoint.zigpy_endpoint.device_type == zha.DeviceType.THERMOSTAT else f"{endpoint.device.ieee}-{endpoint.id}-{int(ThermostatCluster.cluster_id)}" ) - kwargs.pop("legacy_discovery_unique_id", None) super().__init__( endpoint=endpoint, device=device, diff --git a/zha/application/platforms/cover/__init__.py b/zha/application/platforms/cover/__init__.py index 5e7b7505e..70126285d 100644 --- a/zha/application/platforms/cover/__init__.py +++ b/zha/application/platforms/cover/__init__.py @@ -174,21 +174,18 @@ def __init__( **kwargs, ) -> None: """Init this cover.""" - kwargs.pop("legacy_discovery_unique_id", None) - legacy_discovery_unique_id = ( - f"{endpoint.device.ieee}-{endpoint.id}" - if ( - endpoint.zigpy_endpoint.device_type - == zha.DeviceType.LEVEL_CONTROLLABLE_OUTPUT - ) - else f"{endpoint.device.ieee}-{endpoint.id}-{int(WindowCovering.cluster_id)}" - ) - super().__init__( endpoint=endpoint, device=device, **kwargs, - legacy_discovery_unique_id=legacy_discovery_unique_id, + legacy_discovery_unique_id=( + f"{endpoint.device.ieee}-{endpoint.id}" + if ( + endpoint.zigpy_endpoint.device_type + == zha.DeviceType.LEVEL_CONTROLLABLE_OUTPUT + ) + else f"{endpoint.device.ieee}-{endpoint.id}-{int(WindowCovering.cluster_id)}" + ), ) self._cluster = endpoint.zigpy_endpoint.in_clusters[WindowCovering.cluster_id] if self._window_covering_type is not None: @@ -828,7 +825,6 @@ def __init__( **kwargs, ) -> None: """Initialize the ZHA shade.""" - kwargs.pop("legacy_discovery_unique_id", None) super().__init__( endpoint=endpoint, device=device, diff --git a/zha/application/platforms/device_tracker.py b/zha/application/platforms/device_tracker.py index 90932e7fb..2c12e182b 100644 --- a/zha/application/platforms/device_tracker.py +++ b/zha/application/platforms/device_tracker.py @@ -125,7 +125,12 @@ def __init__( **kwargs, ): """Initialize the ZHA device tracker.""" - super().__init__(endpoint=endpoint, device=device, **kwargs) + super().__init__( + endpoint=endpoint, + device=device, + legacy_discovery_unique_id=f"{endpoint.device.ieee}-{endpoint.id}", + **kwargs, + ) self._cluster = endpoint.zigpy_endpoint.in_clusters[ PowerConfiguration.cluster_id ] diff --git a/zha/application/platforms/fan/__init__.py b/zha/application/platforms/fan/__init__.py index 14416bc0d..4c6a33fd7 100644 --- a/zha/application/platforms/fan/__init__.py +++ b/zha/application/platforms/fan/__init__.py @@ -25,8 +25,8 @@ ClusterConfig, ClusterMatch, GroupEntity, - PlatformEntity, PlatformFeatureGroup, + ZCLClusterEntity, register_entity, register_group_entity, ) @@ -53,12 +53,12 @@ ) from zha.exceptions import wrap_zigpy_exceptions from zha.zigbee.cluster_ids import IKEA_AIR_PURIFIER_CLUSTER +from zha.zigbee.group import Group from zha.zigbee.reporting import ( REPORT_CONFIG_DEFAULT, REPORT_CONFIG_IMMEDIATE, REPORT_CONFIG_OP, ) -from zha.zigbee.group import Group if TYPE_CHECKING: from zha.zigbee.device import Device @@ -251,7 +251,7 @@ def percentage_to_speed(self, percentage: int) -> str: @register_entity(hvac.Fan.cluster_id) -class Fan(BaseFan, PlatformEntity): +class Fan(BaseFan, ZCLClusterEntity): """Representation of a ZHA fan.""" _cluster_match = ClusterMatch( @@ -283,7 +283,6 @@ def __init__( ) -> None: """Initialize the fan.""" super().__init__(endpoint=endpoint, device=device, **kwargs) - self._cluster = endpoint.zigpy_endpoint.in_clusters[hvac.Fan.cluster_id] self.recompute_capabilities() def on_add(self) -> None: @@ -402,7 +401,7 @@ def update(self, _: Any = None) -> None: @register_entity(IKEA_AIR_PURIFIER_CLUSTER) -class IkeaFan(BaseFan, PlatformEntity): +class IkeaFan(BaseFan, ZCLClusterEntity): """Representation of an Ikea fan.""" _attr_supported_features: FanEntityFeature = ( @@ -454,16 +453,6 @@ class IkeaFan(BaseFan, PlatformEntity): ), } - def __init__( - self, - endpoint: Endpoint, - device: Device, - **kwargs, - ): - """Initialize the fan.""" - super().__init__(endpoint=endpoint, device=device, **kwargs) - self._cluster = endpoint.zigpy_endpoint.in_clusters[IKEA_AIR_PURIFIER_CLUSTER] - def on_add(self) -> None: """Run when entity is added.""" super().on_add() diff --git a/zha/application/platforms/light/__init__.py b/zha/application/platforms/light/__init__.py index 7d4803f3b..0afc35e57 100644 --- a/zha/application/platforms/light/__init__.py +++ b/zha/application/platforms/light/__init__.py @@ -982,7 +982,6 @@ def __init__( **kwargs, ) -> None: """Initialize the light.""" - kwargs.pop("legacy_discovery_unique_id", None) super().__init__( endpoint=endpoint, device=device, diff --git a/zha/application/platforms/lock/__init__.py b/zha/application/platforms/lock/__init__.py index 07714f9ea..84051b444 100644 --- a/zha/application/platforms/lock/__init__.py +++ b/zha/application/platforms/lock/__init__.py @@ -21,6 +21,7 @@ ClusterConfig, ClusterMatch, PlatformEntity, + ZCLClusterEntity, register_entity, ) from zha.application.platforms.lock.const import ( @@ -62,7 +63,7 @@ async def async_unlock(self) -> None: @register_entity(DoorLockCluster.cluster_id) -class DoorLock(BaseLock): +class DoorLock(BaseLock, ZCLClusterEntity): """Representation of a ZHA lock.""" _attr_translation_key: str = "door_lock" @@ -92,7 +93,6 @@ def __init__( ) -> None: """Initialize the lock.""" super().__init__(endpoint=endpoint, device=device, **kwargs) - self._cluster = endpoint.zigpy_endpoint.in_clusters[DoorLockCluster.cluster_id] self._state: str | None = VALUE_TO_STATE.get( self._cluster.get(DoorLockCluster.AttributeDefs.lock_state.name), None ) diff --git a/zha/application/platforms/number/__init__.py b/zha/application/platforms/number/__init__.py index 72e14dc28..d660caa54 100644 --- a/zha/application/platforms/number/__init__.py +++ b/zha/application/platforms/number/__init__.py @@ -31,6 +31,7 @@ EntityCategory, PlatformEntity, PlatformFeatureGroup, + ZCLClusterEntity, register_entity, ) from zha.application.platforms.helpers import validate_device_class @@ -54,8 +55,7 @@ ) if TYPE_CHECKING: - from zha.zigbee.device import Device - from zha.zigbee.endpoint import Endpoint + pass _LOGGER = logging.getLogger(__name__) @@ -140,7 +140,7 @@ async def async_set_native_value(self, value: float) -> None: @register_entity(AnalogOutput.cluster_id) -class AnalogOutputNumber(BaseNumber): +class AnalogOutputNumber(BaseNumber, ZCLClusterEntity): """Representation of a ZHA Number entity.""" _cluster_match = ClusterMatch( @@ -180,16 +180,6 @@ class AnalogOutputNumber(BaseNumber): ), } - def __init__( - self, - endpoint: Endpoint, - device: Device, - **kwargs: Any, - ): - """Initialize the number.""" - super().__init__(endpoint=endpoint, device=device, **kwargs) - self._cluster = endpoint.zigpy_endpoint.in_clusters[AnalogOutput.cluster_id] - def recompute_capabilities(self) -> None: """Recompute capabilities.""" super().recompute_capabilities() @@ -266,7 +256,7 @@ def handle_attribute_updated( self.maybe_emit_state_changed_event() -class NumberConfigurationEntity(BaseNumber): +class NumberConfigurationEntity(BaseNumber, ZCLClusterEntity): """Representation of a ZHA number configuration entity.""" _attr_entity_category = EntityCategory.CONFIG @@ -275,17 +265,6 @@ class NumberConfigurationEntity(BaseNumber): _attr_native_step: float = 1.0 _multiplier: float = 1 _attribute_name: str - _cluster_id: int - - def __init__( - self, - endpoint: Endpoint, - device: Device, - **kwargs: Any, - ) -> None: - """Init this number configuration entity.""" - super().__init__(endpoint=endpoint, device=device, **kwargs) - self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] def _is_supported(self) -> bool: """Return if the entity is supported for the device, internal.""" diff --git a/zha/application/platforms/select.py b/zha/application/platforms/select.py index 97b49acf3..8960a472c 100644 --- a/zha/application/platforms/select.py +++ b/zha/application/platforms/select.py @@ -21,17 +21,16 @@ from zhaquirks.xiaomi.aqara.switch_acn047 import OppleCluster as T2RelayOppleCluster from zigpy import types from zigpy.quirks.v2 import ZCLEnumMetadata -from zigpy.zcl.clusters.general import LevelControl, OnOff -from zigpy.zcl.clusters.hvac import Thermostat, UserInterface -from zigpy.zcl.clusters.measurement import OccupancySensing -from zigpy.zcl.clusters.security import IasWd - from zigpy.zcl import ( AttributeReadEvent, AttributeReportedEvent, AttributeUpdatedEvent, AttributeWrittenEvent, ) +from zigpy.zcl.clusters.general import LevelControl, OnOff +from zigpy.zcl.clusters.hvac import Thermostat, UserInterface +from zigpy.zcl.clusters.measurement import OccupancySensing +from zigpy.zcl.clusters.security import IasWd from zha.application import Platform from zha.application.const import Strobe @@ -43,6 +42,7 @@ ClusterMatch, EntityCategory, PlatformEntity, + ZCLClusterEntity, register_entity, ) from zha.zigbee.cluster_ids import ( @@ -103,13 +103,12 @@ async def async_select_option(self, option: str) -> None: """Change the selected option.""" -class EnumSelectEntity(BaseSelectEntity): +class EnumSelectEntity(BaseSelectEntity, ZCLClusterEntity): """Representation of a ZHA select entity.""" _attr_entity_category = EntityCategory.CONFIG _attribute_name: str _enum: type[Enum] - _cluster_id: int def __init__( self, @@ -118,7 +117,6 @@ def __init__( **kwargs: Any, ) -> None: """Init this select entity.""" - self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] self._attribute_name = self._enum.__name__ self._attr_options = [entry.name.replace("_", " ") for entry in self._enum] super().__init__(endpoint=endpoint, device=device, **kwargs) @@ -229,13 +227,12 @@ class DefaultStrobeSelectEntity(NonZCLSelectEntity): ) -class ZCLEnumSelectEntity(BaseSelectEntity): +class ZCLEnumSelectEntity(BaseSelectEntity, ZCLClusterEntity): """Representation of a ZHA ZCL enum select entity.""" _attribute_name: str _attr_entity_category = EntityCategory.CONFIG _enum: type[Enum] - _cluster_id: int def __init__( self, @@ -245,7 +242,6 @@ def __init__( ) -> None: """Init this select entity.""" super().__init__(endpoint=endpoint, device=device, **kwargs) - self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] self._attr_options = [entry.name.replace("_", " ") for entry in self._enum] def on_add(self) -> None: diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index d3c82fcae..20e1cab95 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -70,6 +70,7 @@ EntityCategory, PlatformEntity, PlatformFeatureGroup, + ZCLClusterEntity, register_entity, ) from zha.application.platforms.climate.const import HVACAction @@ -244,7 +245,7 @@ def native_value(self) -> date | datetime | str | int | float | None: """Return the current sensor value.""" -class Sensor(BaseSensor): +class Sensor(BaseSensor, ZCLClusterEntity): """Base ZHA sensor.""" _attribute_name: int | str | None = None @@ -252,8 +253,6 @@ class Sensor(BaseSensor): _divisor: int | float | None = None _multiplier: int | float | None = None _skip_creation_if_no_attr_cache: bool = False - _cluster_id: int - _is_client_cluster: bool = False def __init__( self, @@ -266,11 +265,6 @@ def __init__( super().__init__(endpoint=endpoint, device=device, **kwargs) - if self._is_client_cluster: - self._cluster = endpoint.zigpy_endpoint.out_clusters[self._cluster_id] - else: - self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] - # After super() for quirks v2 entities if self._attribute_name is not None: # Invalid attribute names filtered by is_supported diff --git a/zha/application/platforms/siren.py b/zha/application/platforms/siren.py index 9e7aaa29d..29590c854 100644 --- a/zha/application/platforms/siren.py +++ b/zha/application/platforms/siren.py @@ -199,7 +199,6 @@ def __init__( ) else f"{endpoint.device.ieee}-{endpoint.id}-{int(IasWd.cluster_id)}" ) - kwargs.pop("legacy_discovery_unique_id", None) super().__init__( endpoint=endpoint, diff --git a/zha/application/platforms/switch.py b/zha/application/platforms/switch.py index c89828aa6..1e54dca8e 100644 --- a/zha/application/platforms/switch.py +++ b/zha/application/platforms/switch.py @@ -11,7 +11,8 @@ from zhaquirks.quirk_ids import DANFOSS_ALLY_THERMOSTAT, TUYA_PLUG_ONOFF from zigpy import types as t from zigpy.profiles import zha, zll -from zigpy.quirks.v2 import SwitchMetadata +from zigpy.quirks.v2 import EntityMetadata, SwitchMetadata +import zigpy.zcl from zigpy.zcl import ( AttributeReadEvent, AttributeReportedEvent, @@ -35,6 +36,7 @@ GroupEntity, PlatformEntity, PlatformFeatureGroup, + ZCLClusterEntity, register_entity, register_group_entity, ) @@ -47,6 +49,7 @@ SINOPE_MANUFACTURER_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) +from zha.zigbee.group import Group from zha.zigbee.reporting import ( REPORT_CONFIG_ASAP, REPORT_CONFIG_CLIMATE, @@ -55,7 +58,6 @@ REPORT_CONFIG_DEFAULT, REPORT_CONFIG_IMMEDIATE, ) -from zha.zigbee.group import Group if TYPE_CHECKING: from zha.zigbee.device import Device @@ -158,7 +160,6 @@ def __init__( ) else f"{endpoint.device.ieee}-{endpoint.id}-{int(OnOff.cluster_id)}" ) - kwargs.pop("legacy_discovery_unique_id", None) super().__init__( endpoint=endpoint, @@ -242,7 +243,7 @@ async def async_update(self) -> None: @register_entity(BinaryOutput.cluster_id) -class BinaryOutputSwitch(PlatformEntity, BaseSwitch): +class BinaryOutputSwitch(ZCLClusterEntity, BaseSwitch): """BinaryOutputCluster switch.""" _attr_primary_weight = 10 @@ -265,16 +266,6 @@ class BinaryOutputSwitch(PlatformEntity, BaseSwitch): ), } - def __init__( - self, - endpoint: Endpoint, - device: Device, - **kwargs: Any, - ) -> None: - """Initialize the switch.""" - super().__init__(endpoint=endpoint, device=device, **kwargs) - self._cluster = endpoint.zigpy_endpoint.in_clusters[BinaryOutput.cluster_id] - def _is_supported(self) -> bool: if self._cluster.get(BinaryOutput.AttributeDefs.description.name) is None: return False @@ -399,7 +390,7 @@ def update(self, _: Any | None = None) -> None: self.maybe_emit_state_changed_event() -class ConfigurableAttributeSwitch(PlatformEntity): +class ConfigurableAttributeSwitch(ZCLClusterEntity): """Representation of a ZHA switch configuration entity.""" PLATFORM = Platform.SWITCH @@ -410,18 +401,19 @@ class ConfigurableAttributeSwitch(PlatformEntity): _force_inverted: bool = False _off_value: int = 0 _on_value: int = 1 - _cluster_id: int def __init__( self, endpoint: Endpoint, device: Device, *, + cluster: zigpy.zcl.Cluster, + entity_metadata: EntityMetadata | None = None, legacy_discovery_unique_id: str | None = None, **kwargs: Any, ) -> None: """Init this number configuration entity.""" - if legacy_discovery_unique_id is None: + if legacy_discovery_unique_id is None and entity_metadata is None: legacy_discovery_unique_id = ( f"{endpoint.device.ieee}-{endpoint.id}" if ( @@ -434,17 +426,17 @@ def __init__( (zha.PROFILE_ID, zha.DeviceType.SMART_PLUG), (zll.PROFILE_ID, zll.DeviceType.ON_OFF_PLUGIN_UNIT), } - else f"{endpoint.device.ieee}-{endpoint.id}-{int(self._cluster_id)}" + else f"{endpoint.device.ieee}-{endpoint.id}-{int(cluster.cluster_id)}" ) - kwargs.pop("legacy_discovery_unique_id", None) super().__init__( endpoint=endpoint, device=device, - **kwargs, + cluster=cluster, + entity_metadata=entity_metadata, legacy_discovery_unique_id=legacy_discovery_unique_id, + **kwargs, ) - self._cluster = endpoint.zigpy_endpoint.in_clusters[self._cluster_id] def on_add(self) -> None: """Run when entity is added.""" diff --git a/zha/application/platforms/update.py b/zha/application/platforms/update.py index b170b4b69..71723267b 100644 --- a/zha/application/platforms/update.py +++ b/zha/application/platforms/update.py @@ -30,6 +30,7 @@ EntityCategory, PlatformEntity, PlatformFeatureGroup, + ZCLClusterEntity, register_entity, ) from zha.exceptions import ZHAException @@ -288,7 +289,7 @@ async def on_remove(self) -> None: @register_entity(Ota.cluster_id) -class FirmwareUpdateEntity(BaseFirmwareUpdateEntity): +class FirmwareUpdateEntity(BaseFirmwareUpdateEntity, ZCLClusterEntity): """Representation of a ZHA firmware update entity.""" _unique_id_suffix = "firmware_update" @@ -316,16 +317,11 @@ def __init__( ) -> None: """Initialize the ZHA update entity.""" super().__init__(endpoint=endpoint, device=device, **kwargs) - self._cluster = self._get_ota_cluster() self._attr_installed_version: str | None = self._get_cluster_version() self._compatible_images: OtaImagesResult = OtaImagesResult( upgrades=(), downgrades=() ) - def _get_ota_cluster(self): - """Return the OTA cluster to use.""" - return self._endpoint.zigpy_endpoint.out_clusters[Ota.cluster_id] - def on_add(self) -> None: """Call when entity is added.""" super().on_add() @@ -381,7 +377,3 @@ class FirmwareUpdateServerEntity(FirmwareUpdateEntity): ), } _client_cluster_config = {} - - def _get_ota_cluster(self): - """Return the OTA cluster to use.""" - return self._endpoint.zigpy_endpoint.in_clusters[Ota.cluster_id] diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py index ebe5a1361..5530a2d0f 100644 --- a/zha/application/platforms/virtual.py +++ b/zha/application/platforms/virtual.py @@ -32,7 +32,7 @@ AttrConfig, ClusterConfig, ClusterMatch, - PlatformEntity, + ZCLClusterEntity, register_entity, ) from zha.exceptions import ZHAException @@ -51,42 +51,16 @@ from zha.zigbee.endpoint import Endpoint -class VirtualEntity(PlatformEntity): +class VirtualEntity(ZCLClusterEntity): """Cluster-level background driver that isn't registered as a HA entity.""" _virtual = True PLATFORM = Platform.UNKNOWN _attr_always_supported = True - def __init__( - self, - endpoint: Endpoint, - device: Device, - **kwargs: Any, - ) -> None: - """Initialize the virtual entity.""" - super().__init__(endpoint=endpoint, device=device, **kwargs) - # Cache the (single) cluster this virtual entity drives, for the - # cluster_command listener hook. - self._cluster: zigpy.zcl.Cluster | None = None - for cluster_id in self._server_cluster_config: - cluster = endpoint.zigpy_endpoint.in_clusters.get(cluster_id) - if cluster is not None: - self._cluster = cluster - break - if self._cluster is None: - for cluster_id in self._client_cluster_config: - cluster = endpoint.zigpy_endpoint.out_clusters.get(cluster_id) - if cluster is not None: - self._cluster = cluster - break - def on_add(self) -> None: """Subscribe to incoming cluster commands and attribute events.""" super().on_add() - if self._cluster is None: - return - if hasattr(self, "cluster_command"): self._cluster.add_listener(self) self._on_remove_callbacks.append( @@ -109,8 +83,6 @@ def emit_cluster_zha_event( self, command: str, args: list | dict | None = None ) -> None: """Relay a cluster-level zha_event via the endpoint.""" - if self._cluster is None: - return self._endpoint.emit_zha_event( { "unique_id": self.unique_id, From dd95c1f4270e781d8658cc72736bdf39ad068010 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 17 May 2026 13:58:00 -0400 Subject: [PATCH 37/85] Fix all diagnostics regeneration differences --- zha/application/discovery.py | 12 +++---- zha/application/platforms/__init__.py | 9 ++++++ .../platforms/binary_sensor/__init__.py | 28 ++++++++++++++-- zha/application/platforms/sensor/__init__.py | 10 ++++-- zha/application/platforms/virtual.py | 32 +++++++++++++++++++ 5 files changed, 81 insertions(+), 10 deletions(-) diff --git a/zha/application/discovery.py b/zha/application/discovery.py index 2f971094c..0f0179ae9 100644 --- a/zha/application/discovery.py +++ b/zha/application/discovery.py @@ -9,8 +9,6 @@ import logging from typing import TYPE_CHECKING, Any -from zigpy.profiles.zha import PROFILE_ID as ZHA_PROFILE_ID -from zigpy.profiles.zll import PROFILE_ID as ZLL_PROFILE_ID from zigpy.quirks.v2 import ( BinarySensorMetadata, CustomDeviceV2, @@ -161,10 +159,6 @@ def discover_device_entities(device: Device) -> Iterator[BaseEntity]: endpoint.id, ) - if endpoint.zigpy_endpoint.profile_id not in (ZLL_PROFILE_ID, ZHA_PROFILE_ID): - _LOGGER.debug("Endpoint: %s-%s has unsupported profile id: 0x%04x") - continue - yield from discover_entities_for_endpoint(endpoint) yield from discover_quirks_v2_entities(device) @@ -460,6 +454,12 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit if not match.client_clusters.issubset(available_out): continue + if ( + match.profile_ids is not None + and endpoint.zigpy_endpoint.profile_id not in match.profile_ids + ): + continue + if ( match.exposed_features is not None and not match.exposed_features & device.exposes_features diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index 28c5d21cc..11d171368 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -14,6 +14,8 @@ import logging from typing import TYPE_CHECKING, Any, Final, final +from zigpy.profiles.zha import PROFILE_ID as ZHA_PROFILE_ID +from zigpy.profiles.zll import PROFILE_ID as ZLL_PROFILE_ID from zigpy.quirks.v2 import EntityMetadata, EntityType from zigpy.types import ClusterId from zigpy.types.named import EUI64 @@ -116,6 +118,13 @@ class ClusterMatch: exposed_features: frozenset[str] | None = None not_exposed_features: frozenset[str] | None = None + # Endpoint profile filter. Defaults to ZHA + ZLL — the only profiles whose + # standard device types/clusters this entity layer understands. Bind-only + # entities that target manufacturer-specific clusters on proprietary + # profiles (e.g. Digi XBee's `0xC105` serial-data endpoints) override this + # with `None` to match any profile. + profile_ids: frozenset[int] | None = frozenset({ZHA_PROFILE_ID, ZLL_PROFILE_ID}) + # Profile and device type filters profile_device_types: frozenset[tuple[int, int]] | None = None not_profile_device_types: frozenset[tuple[int, int]] | None = None diff --git a/zha/application/platforms/binary_sensor/__init__.py b/zha/application/platforms/binary_sensor/__init__.py index 2db7955f5..f35007301 100644 --- a/zha/application/platforms/binary_sensor/__init__.py +++ b/zha/application/platforms/binary_sensor/__init__.py @@ -47,7 +47,7 @@ SMARTTHINGS_ACCELERATION_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) -from zha.zigbee.reporting import REPORT_CONFIG_IMMEDIATE +from zha.zigbee.reporting import REPORT_CONFIG_ASAP, REPORT_CONFIG_IMMEDIATE if TYPE_CHECKING: from zha.zigbee.device import Device @@ -100,6 +100,11 @@ def __init__( self._state: bool = self.is_on self.recompute_capabilities() + def _is_supported(self) -> bool: + if self._attribute_name not in self._cluster.attributes_by_name: + return False + return super()._is_supported() + def on_add(self) -> None: """Run when entity is added.""" super().on_add() @@ -190,13 +195,32 @@ class Accelerometer(BinarySensor): _attribute_name = "acceleration" _attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.MOVING _attr_translation_key: str = "accelerometer" - _cluster_id = SMARTTHINGS_ACCELERATION_CLUSTER _cluster_match = ClusterMatch( server_clusters=frozenset({SMARTTHINGS_ACCELERATION_CLUSTER}), manufacturers=frozenset({"CentraLite", "Samjin", "SmartThings"}), ) + _server_cluster_config = { + SMARTTHINGS_ACCELERATION_CLUSTER: ClusterConfig( + bind=True, + attributes={ + "acceleration": AttrConfig( + read_on_startup=False, reporting=REPORT_CONFIG_ASAP + ), + "x_axis": AttrConfig( + read_on_startup=False, reporting=REPORT_CONFIG_ASAP + ), + "y_axis": AttrConfig( + read_on_startup=False, reporting=REPORT_CONFIG_ASAP + ), + "z_axis": AttrConfig( + read_on_startup=False, reporting=REPORT_CONFIG_ASAP + ), + }, + ), + } + @register_entity(OccupancySensing.cluster_id) class Occupancy(BinarySensor): diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 20e1cab95..da4c9af87 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -2406,13 +2406,16 @@ class VOCLevel(Sensor): _multiplier = 1e6 _attr_native_unit_of_measurement = CONCENTRATION_MICROGRAMS_PER_CUBIC_METER _attr_primary_weight = 1 - _cluster_id = 0x042E _cluster_match = ClusterMatch( server_clusters=frozenset({0x042E}), feature_priority=(PlatformFeatureGroup.VOC_LEVEL, 0), ) + _server_cluster_config = { + 0x042E: ClusterConfig(bind=True), + } + @register_entity(0x042E) class PPBVOCLevel(Sensor): @@ -2427,7 +2430,6 @@ class PPBVOCLevel(Sensor): _multiplier = 1 _attr_native_unit_of_measurement = CONCENTRATION_PARTS_PER_BILLION _attr_primary_weight = 1 - _cluster_id = 0x042E _cluster_match = ClusterMatch( server_clusters=frozenset({0x042E}), @@ -2435,6 +2437,10 @@ class PPBVOCLevel(Sensor): feature_priority=(PlatformFeatureGroup.VOC_LEVEL, 1), ) + _server_cluster_config = { + 0x042E: ClusterConfig(bind=True), + } + @register_entity(PM25Cluster.cluster_id) class PM25(Sensor): diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py index 5530a2d0f..8b7b8c4fa 100644 --- a/zha/application/platforms/virtual.py +++ b/zha/application/platforms/virtual.py @@ -357,6 +357,9 @@ class LevelControlClientBind(_ClientClusterZhaEventEmitter): _cluster_match = ClusterMatch( client_clusters=frozenset({LevelControl.cluster_id}), match_renamed_clusters=True, + # Match on proprietary profiles too (e.g. Digi XBee's serial profile) + # so the level cluster gets bound on those endpoints. + profile_ids=None, ) _client_cluster_config = { LevelControl.cluster_id: ClusterConfig(bind=True), @@ -985,6 +988,21 @@ class IkeaRemoteClientBind(VirtualEntity): } +@register_entity(IKEA_REMOTE_CLUSTER) +class IkeaRemoteServerBind(VirtualEntity): + """Bind the IKEA remote server cluster on every device that exposes it.""" + + _unique_id_suffix = "ikea_remote_server_bind" + + _cluster_match = ClusterMatch( + server_clusters=frozenset({IKEA_REMOTE_CLUSTER}), + match_renamed_clusters=True, + ) + _server_cluster_config = { + IKEA_REMOTE_CLUSTER: ClusterConfig(bind=True), + } + + @register_entity(IKEA_SHORTCUT_V1_CLUSTER) class IkeaSymfoniskRemoteClientBind(VirtualEntity): """Bind the IKEA Symfonisk shortcut v1 client cluster.""" @@ -1014,6 +1032,20 @@ class InovelliBind(VirtualEntity): } +@register_entity(INOVELLI_CLUSTER) +class InovelliClientBind(VirtualEntity): + """Bind the Inovelli manufacturer client cluster on every device that exposes it.""" + + _unique_id_suffix = "inovelli_client_bind" + + _cluster_match = ClusterMatch( + client_clusters=frozenset({INOVELLI_CLUSTER}), + ) + _client_cluster_config = { + INOVELLI_CLUSTER: ClusterConfig(bind=True), + } + + @register_entity(INOVELLI_CLUSTER) class InovelliVzm30Init(VirtualEntity): """Inovelli VZM30-SN switch attribute init.""" From 9e84dc54c1891855faeb4fd8d0b6e83e469a7ac2 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 17 May 2026 13:58:15 -0400 Subject: [PATCH 38/85] Don't hammer the filesystem when regenerating diagnostics --- tools/regenerate_diagnostics.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/tools/regenerate_diagnostics.py b/tools/regenerate_diagnostics.py index cc49816ea..6aa07b7ce 100644 --- a/tools/regenerate_diagnostics.py +++ b/tools/regenerate_diagnostics.py @@ -11,7 +11,11 @@ import pathlib from unittest.mock import patch -from tests.common import ZhaJsonEncoder, join_zigpy_device, zigpy_device_from_json +from tests.common import ( + ZhaJsonEncoder, + join_zigpy_device, + zigpy_device_from_device_data, +) from tests.conftest import TestGateway, make_zha_data, make_zigpy_app_controller REPO_ROOT = pathlib.Path(__file__).parent.parent @@ -40,9 +44,12 @@ async def main(files: list[str] | None = None) -> None: async with create_zha_gateway() as zha_gateway: for device_json in paths: _LOGGER.info("Migrating %s", device_json) - zigpy_device = await zigpy_device_from_json( + device_data_text = device_json.read_text() + device_data = json.loads(device_data_text) + + zigpy_device = zigpy_device_from_device_data( zha_gateway.application_controller, - device_json, + device_data, ) with patch("zigpy.zcl.Cluster._update_attribute"): @@ -51,7 +58,9 @@ async def main(files: list[str] | None = None) -> None: new_json = json.dumps( zha_device.get_diagnostics_json(), indent=2, cls=ZhaJsonEncoder ) - device_json.write_text(new_json) + + if new_json != device_data_text: + device_json.write_text(new_json) await zha_device.on_remove() From 17a4f88e5e4279d6049b5a1f9bd5a26a50f418b1 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 17 May 2026 14:03:21 -0400 Subject: [PATCH 39/85] All tests pass --- tests/test_sensor.py | 8 ++++---- zha/zigbee/endpoint.py | 3 +++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/tests/test_sensor.py b/tests/test_sensor.py index f1acc64a9..c3a3d6631 100644 --- a/tests/test_sensor.py +++ b/tests/test_sensor.py @@ -1262,12 +1262,12 @@ async def test_se_summation_uom( @pytest.mark.parametrize( "raw_measurement_type, expected_type", ( - (1, "Active_measurement_AC"), - (8, "Phase_A_measurement"), - (9, "Active_measurement_AC, Phase_A_measurement"), + (1, "ACTIVE_MEASUREMENT"), + (8, "PHASE_A_MEASUREMENT"), + (9, "ACTIVE_MEASUREMENT, PHASE_A_MEASUREMENT"), ( 15, - "Active_measurement_AC, Reactive_measurement_AC, Apparent_measurement_AC, Phase_A_measurement", + "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT", ), ), ) diff --git a/zha/zigbee/endpoint.py b/zha/zigbee/endpoint.py index b7473bcb5..2085aab87 100644 --- a/zha/zigbee/endpoint.py +++ b/zha/zigbee/endpoint.py @@ -140,6 +140,9 @@ def new(cls, zigpy_endpoint: ZigpyEndpoint, device: Device) -> Endpoint: def _attach_legacy_event_forwarders(self) -> None: """Attach legacy quirk-event forwarders to every server and client cluster.""" profile_id = self._zigpy_endpoint.profile_id + if profile_id is None: + _LOGGER.debug("Skipping endpoint, profile is None") + return if profile_id not in (ZLL_PROFILE_ID, ZHA_PROFILE_ID): _LOGGER.debug( "Skipping endpoint, profile is not ZLL or ZHA: 0x%04X", profile_id From f197fbd337f2ed53b3d6e913a6ed5875adbe2c1f Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 17 May 2026 14:10:21 -0400 Subject: [PATCH 40/85] Fix pre-commit --- tests/test_binary_sensor.py | 3 ++- tests/test_sensor.py | 2 +- zha/application/platforms/__init__.py | 6 ++++-- zha/application/platforms/light/__init__.py | 1 + zha/application/platforms/virtual.py | 3 +-- zha/zigbee/cluster_config.py | 12 +++--------- zha/zigbee/device.py | 13 +++++++++---- zha/zigbee/endpoint.py | 7 ++++++- 8 files changed, 27 insertions(+), 20 deletions(-) diff --git a/tests/test_binary_sensor.py b/tests/test_binary_sensor.py index 2b3159be5..8bfc397c1 100644 --- a/tests/test_binary_sensor.py +++ b/tests/test_binary_sensor.py @@ -2,6 +2,7 @@ import asyncio from collections.abc import Awaitable, Callable +from typing import Any from unittest.mock import call import pytest @@ -235,7 +236,7 @@ async def test_smarttthings_multi( accel_cluster = zigpy_device.endpoints[1].in_clusters[ SMARTTHINGS_ACCELERATION_CLUSTER ] - events = [] + events: list[Any] = [] zha_device.on_event("zha_event", events.append) await send_attributes_report(zha_gateway, accel_cluster, {"x_axis": 120}) diff --git a/tests/test_sensor.py b/tests/test_sensor.py index c3a3d6631..0c6ce2475 100644 --- a/tests/test_sensor.py +++ b/tests/test_sensor.py @@ -20,7 +20,7 @@ SensorDeviceClass as SensorDeviceClassV2, ) import zigpy.types as t -from zigpy.zcl import Cluster, ReportingConfig +from zigpy.zcl import Cluster from zigpy.zcl.clusters import general, homeautomation, hvac, measurement, smartenergy from zigpy.zcl.clusters.general import AnalogInput, PowerConfiguration from zigpy.zcl.clusters.general_const import AnalogInputType, ApplicationType diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index 11d171368..93ccf0093 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -243,7 +243,7 @@ class BaseEntity(LogMixin, EventBase): _virtual: bool = False async def async_configure_cluster(self, cluster: Any) -> None: - """Optional post-bind cluster-level setup hook. + """Run optional post-bind cluster-level setup. Called after bind/configure_reporting for each cluster declared in `_server_cluster_config`/`_client_cluster_config`. Override to perform @@ -252,7 +252,7 @@ async def async_configure_cluster(self, cluster: Any) -> None: """ async def async_initialize_cluster(self, cluster: Any) -> None: - """Optional post-initialize cluster-level hook. + """Run optional post-initialize cluster-level work. Called after the attribute cache has been populated. Override to act on freshly-read attribute values (e.g. propagate one cluster's setting to a @@ -520,6 +520,8 @@ def __init__( if legacy_discovery_unique_id is None and entity_metadata is not None: legacy_discovery_unique_id = f"{device.ieee}-{endpoint.id}" + assert legacy_discovery_unique_id is not None + if self._unique_id_suffix is not None: unique_id = f"{legacy_discovery_unique_id}-{self._unique_id_suffix}" else: diff --git a/zha/application/platforms/light/__init__.py b/zha/application/platforms/light/__init__.py index 0afc35e57..a6c0ae54e 100644 --- a/zha/application/platforms/light/__init__.py +++ b/zha/application/platforms/light/__init__.py @@ -1009,6 +1009,7 @@ def _gateway(self) -> Gateway: def on_add(self) -> None: """Run when entity is added.""" super().on_add() + assert self._on_off_cluster is not None for event_type in ( AttributeReadEvent, AttributeReportedEvent, diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py index 8b7b8c4fa..ec2d40c18 100644 --- a/zha/application/platforms/virtual.py +++ b/zha/application/platforms/virtual.py @@ -12,6 +12,7 @@ import asyncio from typing import TYPE_CHECKING, Any +import zigpy.exceptions import zigpy.types as t import zigpy.zcl from zigpy.zcl import ( @@ -174,8 +175,6 @@ class LightLinkGroupJoin(VirtualEntity): async def async_configure_cluster(self, cluster: zigpy.zcl.Cluster) -> None: """Query the device's groups and add the coordinator to each.""" - import zigpy.exceptions - application = cluster.endpoint.device.application try: coordinator = application.get_device(application.state.node_info.ieee) diff --git a/zha/zigbee/cluster_config.py b/zha/zigbee/cluster_config.py index 34e0bc781..8666eea87 100644 --- a/zha/zigbee/cluster_config.py +++ b/zha/zigbee/cluster_config.py @@ -23,7 +23,7 @@ if TYPE_CHECKING: from collections.abc import Iterable - from zha.application.platforms import BaseEntity + from zha.application.platforms import BaseEntity, PlatformEntity from zha.zigbee.device import Device _LOGGER = logging.getLogger(__name__) @@ -63,7 +63,7 @@ class AggregatedClusterConfig: def aggregate_cluster_configs( - entities: Iterable[BaseEntity], + entities: Iterable[PlatformEntity], ) -> dict[tuple[int, int, bool], AggregatedClusterConfig]: """Aggregate cluster configurations from entities. @@ -72,9 +72,6 @@ def aggregate_cluster_configs( result: dict[tuple[int, int, bool], AggregatedClusterConfig] = {} for entity in entities: - if not hasattr(entity, "_server_cluster_config"): - continue - if not entity._server_cluster_config and not entity._client_cluster_config: continue @@ -222,10 +219,7 @@ async def configure_cluster_configs( event_data[attr_def.name]["status"] = Status.FAILURE.name existing = getattr(agg.cluster, "_zha_last_reporting_config", None) - if existing is not None: - merged = {**existing, **event_data} - else: - merged = event_data + merged = {**existing, **event_data} if existing is not None else event_data agg.cluster._zha_last_reporting_config = merged device.emit( ZHA_CLUSTER_CONFIGURE_REPORTING_EVENT, diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index 9c9fe26be..fad2da292 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -114,13 +114,18 @@ def _entity_targets_cluster( return False if cluster_type is None or cluster_type == zigpy.zcl.ClusterType.Server: - if cluster_id in (match.server_clusters | match.optional_server_clusters): + if ( + cluster_id in match.server_clusters + or cluster_id in match.optional_server_clusters + ): return True if cluster_type is not None: return False - if cluster_type is None or cluster_type == zigpy.zcl.ClusterType.Client: - if cluster_id in (match.client_clusters | match.optional_client_clusters): - return True + if (cluster_type is None or cluster_type == zigpy.zcl.ClusterType.Client) and ( + cluster_id in match.client_clusters + or cluster_id in match.optional_client_clusters + ): + return True return False diff --git a/zha/zigbee/endpoint.py b/zha/zigbee/endpoint.py index 2085aab87..e1018508a 100644 --- a/zha/zigbee/endpoint.py +++ b/zha/zigbee/endpoint.py @@ -49,12 +49,17 @@ def remove(self) -> None: def zha_send_event(self, command: str, arg: list | dict | CommandSchema) -> None: """Relay events to listeners.""" + args: list[Any] + params: dict[Any, Any] if isinstance(arg, CommandSchema): args = [a for a in arg if a is not None] params = arg.as_dict() - elif isinstance(arg, (list, dict)): + elif isinstance(arg, list): args = arg params = {} + elif isinstance(arg, dict): + args = [] + params = arg else: raise TypeError(f"Unexpected zha_send_event {command!r} argument: {arg!r}") From 4caba415ed439f475648f71aae04acc167c9f9b3 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 17 May 2026 14:23:58 -0400 Subject: [PATCH 41/85] Clean up --- tests/test_sensor.py | 10 +- zha/application/discovery.py | 18 +- zha/application/platforms/__init__.py | 33 +- .../platforms/binary_sensor/__init__.py | 34 +- zha/application/platforms/climate/__init__.py | 55 ++-- zha/application/platforms/cover/__init__.py | 18 +- zha/application/platforms/device_tracker.py | 10 +- zha/application/platforms/fan/__init__.py | 55 +++- zha/application/platforms/light/__init__.py | 26 +- zha/application/platforms/lock/__init__.py | 6 +- zha/application/platforms/number/__init__.py | 77 +++-- zha/application/platforms/select.py | 64 ++-- zha/application/platforms/sensor/__init__.py | 305 +++++++++++++----- zha/application/platforms/switch.py | 101 ++++-- zha/application/platforms/virtual.py | 7 +- zha/zigbee/cluster_config.py | 32 +- zha/zigbee/reporting.py | 55 ---- 17 files changed, 570 insertions(+), 336 deletions(-) delete mode 100644 zha/zigbee/reporting.py diff --git a/tests/test_sensor.py b/tests/test_sensor.py index 0c6ce2475..b369e9c81 100644 --- a/tests/test_sensor.py +++ b/tests/test_sensor.py @@ -14,13 +14,17 @@ from zigpy.profiles import zha import zigpy.profiles.zha from zigpy.quirks import CustomCluster, DeviceRegistry, get_device -from zigpy.quirks.v2 import CustomDeviceV2, QuirkBuilder, ReportingConfig +from zigpy.quirks.v2 import ( + CustomDeviceV2, + QuirkBuilder, + ReportingConfig as QuirksReportingConfig, +) from zigpy.quirks.v2.homeassistant import EntityPlatform, EntityType, UnitOfMass from zigpy.quirks.v2.homeassistant.sensor import ( SensorDeviceClass as SensorDeviceClassV2, ) import zigpy.types as t -from zigpy.zcl import Cluster +from zigpy.zcl import Cluster, ReportingConfig from zigpy.zcl.clusters import general, homeautomation, hvac, measurement, smartenergy from zigpy.zcl.clusters.general import AnalogInput, PowerConfiguration from zigpy.zcl.clusters.general_const import AnalogInputType, ApplicationType @@ -1562,7 +1566,7 @@ def __init__(self, *args, **kwargs) -> None: unit=UnitOfMass.GRAMS, translation_key="last_feeding_size", fallback_name="Last feeding size", - reporting_config=ReportingConfig( + reporting_config=QuirksReportingConfig( min_interval=0, max_interval=60, reportable_change=1 ), ) diff --git a/zha/application/discovery.py b/zha/application/discovery.py index 0f0179ae9..b3faac8c4 100644 --- a/zha/application/discovery.py +++ b/zha/application/discovery.py @@ -20,7 +20,7 @@ ZCLSensorMetadata, ) from zigpy.state import State -from zigpy.zcl import Cluster, ClusterType +from zigpy.zcl import Cluster, ClusterType, ReportingConfig from zha.application import Platform, const as zha_const from zha.application.platforms import ( # noqa: F401 pylint: disable=unused-import @@ -85,13 +85,7 @@ def _pick_primary_cluster(endpoint: Endpoint, match: ClusterMatch) -> Cluster | None: - """Pick the primary cluster for a ZCLClusterEntity from a ClusterMatch. - - Required server/client clusters win over optional. The "first" cluster id - from a frozenset is non-deterministic, but each entity that subclasses - `ZCLClusterEntity` is expected to declare exactly one required cluster, so - in practice the result is stable. - """ + """Pick the primary cluster for a ZCLClusterEntity from a ClusterMatch.""" if match.server_clusters: cluster_id = next(iter(match.server_clusters)) return endpoint.zigpy_endpoint.in_clusters.get(cluster_id) @@ -334,10 +328,10 @@ def discover_quirks_v2_entities(device: Device) -> Iterator[PlatformEntity]: if rep_conf is not None: attr_config = AttrConfig( read_on_startup=False, - reporting=( - rep_conf.min_interval, - rep_conf.max_interval, - rep_conf.reportable_change, + reporting=ReportingConfig( + min_interval=rep_conf.min_interval, + max_interval=rep_conf.max_interval, + reportable_change=rep_conf.reportable_change, ), ) bind = True diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index 93ccf0093..1ca15bd37 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -20,6 +20,7 @@ from zigpy.types import ClusterId from zigpy.types.named import EUI64 import zigpy.zcl +from zigpy.zcl import ReportingConfig from zigpy.zcl.foundation import ZCLAttributeDef from zha.application import Platform @@ -86,10 +87,7 @@ class AttrConfig: """Per-attribute configuration for cluster setup.""" read_on_startup: bool - """Whether to force a fresh read on startup (True) or use cache (False).""" - - reporting: tuple[int, int, int | float] | None = None - """Reporting config: (min_interval, max_interval, reportable_change) or None.""" + reporting: ReportingConfig | None = None @dataclass(frozen=True) @@ -118,11 +116,7 @@ class ClusterMatch: exposed_features: frozenset[str] | None = None not_exposed_features: frozenset[str] | None = None - # Endpoint profile filter. Defaults to ZHA + ZLL — the only profiles whose - # standard device types/clusters this entity layer understands. Bind-only - # entities that target manufacturer-specific clusters on proprietary - # profiles (e.g. Digi XBee's `0xC105` serial-data endpoints) override this - # with `None` to match any profile. + # `None` matches any profile. profile_ids: frozenset[int] | None = frozenset({ZHA_PROFILE_ID, ZLL_PROFILE_ID}) # Profile and device type filters @@ -243,21 +237,10 @@ class BaseEntity(LogMixin, EventBase): _virtual: bool = False async def async_configure_cluster(self, cluster: Any) -> None: - """Run optional post-bind cluster-level setup. - - Called after bind/configure_reporting for each cluster declared in - `_server_cluster_config`/`_client_cluster_config`. Override to perform - cluster-level setup beyond binding (e.g. IAS Zone CIE write, LightLink - coordinator group join). - """ + """Run post-bind cluster-level setup (override in subclasses).""" async def async_initialize_cluster(self, cluster: Any) -> None: - """Run optional post-initialize cluster-level work. - - Called after the attribute cache has been populated. Override to act on - freshly-read attribute values (e.g. propagate one cluster's setting to a - sibling cluster's state). - """ + """Run post-initialize cluster-level work (override in subclasses).""" _attr_fallback_name: str | None = None _attr_icon: str | None = None @@ -628,11 +611,7 @@ async def async_update(self) -> None: class ZCLClusterEntity(PlatformEntity): - """A platform entity scoped to a specific ZCL cluster on an endpoint. - - Multi-cluster entities (e.g. lights, covers, climate) extend `PlatformEntity` - directly and manage their cluster references themselves. - """ + """A platform entity scoped to a specific ZCL cluster on an endpoint.""" def __init__( self, diff --git a/zha/application/platforms/binary_sensor/__init__.py b/zha/application/platforms/binary_sensor/__init__.py index f35007301..a7688da6b 100644 --- a/zha/application/platforms/binary_sensor/__init__.py +++ b/zha/application/platforms/binary_sensor/__init__.py @@ -17,6 +17,7 @@ AttributeReportedEvent, AttributeUpdatedEvent, AttributeWrittenEvent, + ReportingConfig, ) from zigpy.zcl.clusters.general import BinaryInput as BinaryInputCluster, OnOff from zigpy.zcl.clusters.hvac import Thermostat @@ -47,7 +48,6 @@ SMARTTHINGS_ACCELERATION_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) -from zha.zigbee.reporting import REPORT_CONFIG_ASAP, REPORT_CONFIG_IMMEDIATE if TYPE_CHECKING: from zha.zigbee.device import Device @@ -206,16 +206,28 @@ class Accelerometer(BinarySensor): bind=True, attributes={ "acceleration": AttrConfig( - read_on_startup=False, reporting=REPORT_CONFIG_ASAP + read_on_startup=False, + reporting=ReportingConfig( + min_interval=1, max_interval=900, reportable_change=1 + ), ), "x_axis": AttrConfig( - read_on_startup=False, reporting=REPORT_CONFIG_ASAP + read_on_startup=False, + reporting=ReportingConfig( + min_interval=1, max_interval=900, reportable_change=1 + ), ), "y_axis": AttrConfig( - read_on_startup=False, reporting=REPORT_CONFIG_ASAP + read_on_startup=False, + reporting=ReportingConfig( + min_interval=1, max_interval=900, reportable_change=1 + ), ), "z_axis": AttrConfig( - read_on_startup=False, reporting=REPORT_CONFIG_ASAP + read_on_startup=False, + reporting=ReportingConfig( + min_interval=1, max_interval=900, reportable_change=1 + ), ), }, ), @@ -241,7 +253,9 @@ class Occupancy(BinarySensor): attributes={ OccupancySensing.AttributeDefs.occupancy: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), OccupancySensing.AttributeDefs.pir_o_to_u_delay: AttrConfig( read_on_startup=False, @@ -305,7 +319,9 @@ class BinaryInputWithDescription(BinarySensor): attributes={ BinaryInputCluster.AttributeDefs.present_value: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), BinaryInputCluster.AttributeDefs.description: AttrConfig( read_on_startup=False, @@ -346,7 +362,9 @@ class BinaryInput(BinarySensor): attributes={ BinaryInputCluster.AttributeDefs.present_value: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), BinaryInputCluster.AttributeDefs.description: AttrConfig( read_on_startup=False, diff --git a/zha/application/platforms/climate/__init__.py b/zha/application/platforms/climate/__init__.py index b27b4ef6a..6e5d9a27a 100644 --- a/zha/application/platforms/climate/__init__.py +++ b/zha/application/platforms/climate/__init__.py @@ -15,6 +15,7 @@ AttributeReportedEvent, AttributeUpdatedEvent, AttributeWrittenEvent, + ReportingConfig, ) from zigpy.zcl.clusters.hvac import ( Fan as FanCluster, @@ -58,12 +59,6 @@ ) from zha.decorators import periodic from zha.units import UnitOfTemperature -from zha.zigbee.reporting import ( - REPORT_CONFIG_CLIMATE, - REPORT_CONFIG_CLIMATE_DEMAND, - REPORT_CONFIG_CLIMATE_DISCRETE, - REPORT_CONFIG_OP, -) if TYPE_CHECKING: from zha.zigbee.device import Device @@ -236,47 +231,69 @@ class Thermostat(BaseThermostat): attributes={ ThermostatCluster.AttributeDefs.local_temperature: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), ThermostatCluster.AttributeDefs.occupied_cooling_setpoint: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), ThermostatCluster.AttributeDefs.occupied_heating_setpoint: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), ThermostatCluster.AttributeDefs.unoccupied_cooling_setpoint: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), ThermostatCluster.AttributeDefs.unoccupied_heating_setpoint: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), ThermostatCluster.AttributeDefs.running_mode: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), ThermostatCluster.AttributeDefs.running_state: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), ThermostatCluster.AttributeDefs.system_mode: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), ThermostatCluster.AttributeDefs.occupancy: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), ThermostatCluster.AttributeDefs.pi_cooling_demand: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DEMAND, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=5 + ), ), ThermostatCluster.AttributeDefs.pi_heating_demand: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DEMAND, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=5 + ), ), ThermostatCluster.AttributeDefs.abs_min_heat_setpoint_limit: AttrConfig( read_on_startup=False, @@ -321,7 +338,9 @@ class Thermostat(BaseThermostat): attributes={ FanCluster.AttributeDefs.fan_mode: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_OP, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), ), FanCluster.AttributeDefs.fan_mode_sequence: AttrConfig( read_on_startup=False, diff --git a/zha/application/platforms/cover/__init__.py b/zha/application/platforms/cover/__init__.py index 70126285d..d6dd13e98 100644 --- a/zha/application/platforms/cover/__init__.py +++ b/zha/application/platforms/cover/__init__.py @@ -15,6 +15,7 @@ AttributeReportedEvent, AttributeUpdatedEvent, AttributeWrittenEvent, + ReportingConfig, ) from zigpy.zcl.clusters.closures import Shade as ShadeCluster, WindowCovering from zigpy.zcl.clusters.general import LevelControl, OnOff, OnOff as OnOffCluster @@ -43,7 +44,6 @@ WCAttrs, ) from zha.exceptions import ZHAException, wrap_zigpy_exceptions -from zha.zigbee.reporting import REPORT_CONFIG_ASAP, REPORT_CONFIG_IMMEDIATE if TYPE_CHECKING: from zha.zigbee.device import Device @@ -136,11 +136,15 @@ class Cover(BaseCover): attributes={ WindowCovering.AttributeDefs.current_position_lift_percentage: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), WindowCovering.AttributeDefs.current_position_tilt_percentage: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), WindowCovering.AttributeDefs.window_covering_type: AttrConfig( read_on_startup=False, @@ -781,7 +785,9 @@ class Shade(BaseCover): attributes={ OnOff.AttributeDefs.on_off: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), OnOff.AttributeDefs.start_up_on_off: AttrConfig( read_on_startup=False, @@ -793,7 +799,9 @@ class Shade(BaseCover): attributes={ LevelControl.AttributeDefs.current_level: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_ASAP, + reporting=ReportingConfig( + min_interval=1, max_interval=900, reportable_change=1 + ), ), LevelControl.AttributeDefs.on_off_transition_time: AttrConfig( read_on_startup=False, diff --git a/zha/application/platforms/device_tracker.py b/zha/application/platforms/device_tracker.py index 2c12e182b..0328195e0 100644 --- a/zha/application/platforms/device_tracker.py +++ b/zha/application/platforms/device_tracker.py @@ -14,6 +14,7 @@ AttributeReportedEvent, AttributeUpdatedEvent, AttributeWrittenEvent, + ReportingConfig, ) from zigpy.zcl.clusters.general import PowerConfiguration @@ -27,7 +28,6 @@ ) from zha.application.platforms.sensor import Battery from zha.decorators import periodic -from zha.zigbee.reporting import REPORT_CONFIG_BATTERY_SAVE if TYPE_CHECKING: from zha.zigbee.device import Device @@ -102,11 +102,15 @@ class DeviceScannerEntity(BaseDeviceTracker): attributes={ PowerConfiguration.AttributeDefs.battery_voltage: AttrConfig( read_on_startup=False, - reporting=REPORT_CONFIG_BATTERY_SAVE, + reporting=ReportingConfig( + min_interval=3600, max_interval=10800, reportable_change=1 + ), ), PowerConfiguration.AttributeDefs.battery_percentage_remaining: AttrConfig( read_on_startup=False, - reporting=REPORT_CONFIG_BATTERY_SAVE, + reporting=ReportingConfig( + min_interval=3600, max_interval=10800, reportable_change=1 + ), ), PowerConfiguration.AttributeDefs.battery_size: AttrConfig( read_on_startup=True, diff --git a/zha/application/platforms/fan/__init__.py b/zha/application/platforms/fan/__init__.py index 4c6a33fd7..e3bde1652 100644 --- a/zha/application/platforms/fan/__init__.py +++ b/zha/application/platforms/fan/__init__.py @@ -13,6 +13,7 @@ AttributeReportedEvent, AttributeUpdatedEvent, AttributeWrittenEvent, + ReportingConfig, ) from zigpy.zcl.clusters import hvac @@ -54,11 +55,6 @@ from zha.exceptions import wrap_zigpy_exceptions from zha.zigbee.cluster_ids import IKEA_AIR_PURIFIER_CLUSTER from zha.zigbee.group import Group -from zha.zigbee.reporting import ( - REPORT_CONFIG_DEFAULT, - REPORT_CONFIG_IMMEDIATE, - REPORT_CONFIG_OP, -) if TYPE_CHECKING: from zha.zigbee.device import Device @@ -266,7 +262,9 @@ class Fan(BaseFan, ZCLClusterEntity): attributes={ hvac.Fan.AttributeDefs.fan_mode: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_OP, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), ), hvac.Fan.AttributeDefs.fan_mode_sequence: AttrConfig( read_on_startup=False, @@ -423,31 +421,58 @@ class IkeaFan(BaseFan, ZCLClusterEntity): bind=True, attributes={ "filter_run_time": AttrConfig( - read_on_startup=False, reporting=REPORT_CONFIG_DEFAULT + read_on_startup=False, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), "replace_filter": AttrConfig( - read_on_startup=False, reporting=REPORT_CONFIG_IMMEDIATE + read_on_startup=False, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), "filter_life_time": AttrConfig( - read_on_startup=False, reporting=REPORT_CONFIG_DEFAULT + read_on_startup=False, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), "disable_led": AttrConfig( - read_on_startup=False, reporting=REPORT_CONFIG_IMMEDIATE + read_on_startup=False, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), "air_quality_25pm": AttrConfig( - read_on_startup=False, reporting=REPORT_CONFIG_IMMEDIATE + read_on_startup=False, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), "child_lock": AttrConfig( - read_on_startup=False, reporting=REPORT_CONFIG_IMMEDIATE + read_on_startup=False, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), "fan_mode": AttrConfig( - read_on_startup=False, reporting=REPORT_CONFIG_IMMEDIATE + read_on_startup=False, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), "fan_speed": AttrConfig( - read_on_startup=False, reporting=REPORT_CONFIG_IMMEDIATE + read_on_startup=False, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), "device_run_time": AttrConfig( - read_on_startup=False, reporting=REPORT_CONFIG_DEFAULT + read_on_startup=False, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), }, ), diff --git a/zha/application/platforms/light/__init__.py b/zha/application/platforms/light/__init__.py index a6c0ae54e..2c17d0888 100644 --- a/zha/application/platforms/light/__init__.py +++ b/zha/application/platforms/light/__init__.py @@ -20,6 +20,7 @@ AttributeReportedEvent, AttributeUpdatedEvent, AttributeWrittenEvent, + ReportingConfig, ) from zigpy.zcl.clusters.general import Identify, LevelControl, OnOff from zigpy.zcl.clusters.lighting import Color @@ -77,11 +78,6 @@ ) from zha.debounce import Debouncer from zha.decorators import periodic -from zha.zigbee.reporting import ( - REPORT_CONFIG_ASAP, - REPORT_CONFIG_DEFAULT, - REPORT_CONFIG_IMMEDIATE, -) if TYPE_CHECKING: from zha.application.gateway import Gateway @@ -901,7 +897,9 @@ class Light(BaseSharedLight, PlatformEntity): attributes={ OnOff.AttributeDefs.on_off: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), OnOff.AttributeDefs.start_up_on_off: AttrConfig( read_on_startup=False, @@ -913,7 +911,9 @@ class Light(BaseSharedLight, PlatformEntity): attributes={ LevelControl.AttributeDefs.current_level: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_ASAP, + reporting=ReportingConfig( + min_interval=1, max_interval=900, reportable_change=1 + ), ), LevelControl.AttributeDefs.on_off_transition_time: AttrConfig( read_on_startup=False, @@ -940,15 +940,21 @@ class Light(BaseSharedLight, PlatformEntity): attributes={ Color.AttributeDefs.current_x: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Color.AttributeDefs.current_y: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Color.AttributeDefs.color_temperature: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Color.AttributeDefs.color_mode: AttrConfig( read_on_startup=True, diff --git a/zha/application/platforms/lock/__init__.py b/zha/application/platforms/lock/__init__.py index 84051b444..d75cb765a 100644 --- a/zha/application/platforms/lock/__init__.py +++ b/zha/application/platforms/lock/__init__.py @@ -10,6 +10,7 @@ AttributeReportedEvent, AttributeUpdatedEvent, AttributeWrittenEvent, + ReportingConfig, ) from zigpy.zcl.clusters.closures import DoorLock as DoorLockCluster from zigpy.zcl.foundation import Status @@ -29,7 +30,6 @@ STATE_UNLOCKED, VALUE_TO_STATE, ) -from zha.zigbee.reporting import REPORT_CONFIG_IMMEDIATE if TYPE_CHECKING: from zha.zigbee.device import Device @@ -79,7 +79,9 @@ class DoorLock(BaseLock, ZCLClusterEntity): attributes={ DoorLockCluster.AttributeDefs.lock_state: AttrConfig( read_on_startup=False, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), }, ), diff --git a/zha/application/platforms/number/__init__.py b/zha/application/platforms/number/__init__.py index d660caa54..7ef6d6367 100644 --- a/zha/application/platforms/number/__init__.py +++ b/zha/application/platforms/number/__init__.py @@ -15,6 +15,7 @@ AttributeReportedEvent, AttributeUpdatedEvent, AttributeWrittenEvent, + ReportingConfig, ) from zigpy.zcl.clusters.general import AnalogOutput, Basic, LevelControl from zigpy.zcl.clusters.hvac import Thermostat @@ -45,14 +46,6 @@ SINOPE_MANUFACTURER_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) -from zha.zigbee.reporting import ( - REPORT_CONFIG_ASAP, - REPORT_CONFIG_CLIMATE, - REPORT_CONFIG_CLIMATE_DEMAND, - REPORT_CONFIG_CLIMATE_DISCRETE, - REPORT_CONFIG_DEFAULT, - REPORT_CONFIG_IMMEDIATE, -) if TYPE_CHECKING: pass @@ -153,7 +146,9 @@ class AnalogOutputNumber(BaseNumber, ZCLClusterEntity): attributes={ AnalogOutput.AttributeDefs.present_value: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), AnalogOutput.AttributeDefs.min_present_value: AttrConfig( read_on_startup=False, @@ -406,7 +401,9 @@ class OnOffTransitionTimeConfigurationEntity(NumberConfigurationEntity): attributes={ LevelControl.AttributeDefs.current_level: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_ASAP, + reporting=ReportingConfig( + min_interval=1, max_interval=900, reportable_change=1 + ), ), LevelControl.AttributeDefs.on_off_transition_time: AttrConfig( read_on_startup=False, @@ -533,15 +530,21 @@ class StartUpColorTemperatureConfigurationEntity(NumberConfigurationEntity): attributes={ Color.AttributeDefs.current_x: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Color.AttributeDefs.current_y: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Color.AttributeDefs.color_temperature: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Color.AttributeDefs.color_mode: AttrConfig( read_on_startup=True, @@ -656,7 +659,9 @@ class PIROccupiedToUnoccupiedDelayConfigurationEntity(NumberConfigurationEntity) attributes={ OccupancySensing.AttributeDefs.occupancy: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), OccupancySensing.AttributeDefs.pir_o_to_u_delay: AttrConfig( read_on_startup=False, @@ -1276,47 +1281,69 @@ class ThermostatLocalTempCalibration(NumberConfigurationEntity): attributes={ Thermostat.AttributeDefs.local_temperature: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), Thermostat.AttributeDefs.occupied_cooling_setpoint: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), Thermostat.AttributeDefs.occupied_heating_setpoint: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), Thermostat.AttributeDefs.unoccupied_cooling_setpoint: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), Thermostat.AttributeDefs.unoccupied_heating_setpoint: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), Thermostat.AttributeDefs.running_mode: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Thermostat.AttributeDefs.running_state: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Thermostat.AttributeDefs.system_mode: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Thermostat.AttributeDefs.occupancy: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Thermostat.AttributeDefs.pi_cooling_demand: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DEMAND, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=5 + ), ), Thermostat.AttributeDefs.pi_heating_demand: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DEMAND, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=5 + ), ), Thermostat.AttributeDefs.abs_min_heat_setpoint_limit: AttrConfig( read_on_startup=False, diff --git a/zha/application/platforms/select.py b/zha/application/platforms/select.py index 8960a472c..e4881b026 100644 --- a/zha/application/platforms/select.py +++ b/zha/application/platforms/select.py @@ -26,6 +26,7 @@ AttributeReportedEvent, AttributeUpdatedEvent, AttributeWrittenEvent, + ReportingConfig, ) from zigpy.zcl.clusters.general import LevelControl, OnOff from zigpy.zcl.clusters.hvac import Thermostat, UserInterface @@ -51,13 +52,6 @@ SINOPE_MANUFACTURER_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) -from zha.zigbee.reporting import ( - REPORT_CONFIG_ASAP, - REPORT_CONFIG_CLIMATE, - REPORT_CONFIG_CLIMATE_DEMAND, - REPORT_CONFIG_CLIMATE_DISCRETE, - REPORT_CONFIG_IMMEDIATE, -) if TYPE_CHECKING: from zha.zigbee.device import Device @@ -346,7 +340,9 @@ class StartupOnOffSelectEntity(ZCLEnumSelectEntity): attributes={ OnOff.AttributeDefs.on_off: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), OnOff.AttributeDefs.start_up_on_off: AttrConfig( read_on_startup=False, @@ -515,7 +511,9 @@ class HueV1MotionSensitivity(ZCLEnumSelectEntity): attributes={ OccupancySensing.AttributeDefs.occupancy: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), OccupancySensing.AttributeDefs.pir_o_to_u_delay: AttrConfig( read_on_startup=False, @@ -983,47 +981,69 @@ class DanfossExerciseDayOfTheWeek(ZCLEnumSelectEntity): attributes={ Thermostat.AttributeDefs.local_temperature: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), Thermostat.AttributeDefs.occupied_cooling_setpoint: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), Thermostat.AttributeDefs.occupied_heating_setpoint: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), Thermostat.AttributeDefs.unoccupied_cooling_setpoint: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), Thermostat.AttributeDefs.unoccupied_heating_setpoint: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), Thermostat.AttributeDefs.running_mode: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Thermostat.AttributeDefs.running_state: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Thermostat.AttributeDefs.system_mode: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Thermostat.AttributeDefs.occupancy: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Thermostat.AttributeDefs.pi_cooling_demand: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DEMAND, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=5 + ), ), Thermostat.AttributeDefs.pi_heating_demand: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DEMAND, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=5 + ), ), Thermostat.AttributeDefs.abs_min_heat_setpoint_limit: AttrConfig( read_on_startup=False, @@ -1257,7 +1277,9 @@ class BegaColorTemperatureChannelSelect(ZCLEnumSelectEntity): attributes={ LevelControl.AttributeDefs.current_level: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_ASAP, + reporting=ReportingConfig( + min_interval=1, max_interval=900, reportable_change=1 + ), ), LevelControl.AttributeDefs.on_off_transition_time: AttrConfig( read_on_startup=False, diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index da4c9af87..fb6d6bbcb 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -25,6 +25,7 @@ AttributeReportedEvent, AttributeUpdatedEvent, AttributeWrittenEvent, + ReportingConfig, foundation, ) from zigpy.zcl.clusters.closures import WindowCovering @@ -131,18 +132,6 @@ DeviceStatusWater, metering_device_type, ) -from zha.zigbee.reporting import ( - REPORT_CONFIG_ASAP, - REPORT_CONFIG_BATTERY_SAVE, - REPORT_CONFIG_CLIMATE, - REPORT_CONFIG_CLIMATE_DEMAND, - REPORT_CONFIG_CLIMATE_DISCRETE, - REPORT_CONFIG_DEFAULT, - REPORT_CONFIG_IMMEDIATE, - REPORT_CONFIG_MAX_INT, - REPORT_CONFIG_MIN_INT, - REPORT_CONFIG_OP, -) if TYPE_CHECKING: from zha.zigbee.device import Device @@ -655,7 +644,9 @@ class DigiAnalogInput(Sensor): attributes={ AnalogInput.AttributeDefs.present_value: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), AnalogInput.AttributeDefs.description: AttrConfig( read_on_startup=False, @@ -708,7 +699,9 @@ class AnalogInputSensor(Sensor): attributes={ AnalogInput.AttributeDefs.present_value: AttrConfig( read_on_startup=False, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), AnalogInput.AttributeDefs.description: AttrConfig( read_on_startup=False @@ -820,11 +813,15 @@ class Battery(Sensor): attributes={ PowerConfiguration.AttributeDefs.battery_voltage: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_BATTERY_SAVE, + reporting=ReportingConfig( + min_interval=3600, max_interval=10800, reportable_change=1 + ), ), PowerConfiguration.AttributeDefs.battery_percentage_remaining: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_BATTERY_SAVE, + reporting=ReportingConfig( + min_interval=3600, max_interval=10800, reportable_change=1 + ), ), PowerConfiguration.AttributeDefs.battery_size: AttrConfig( read_on_startup=False, @@ -881,119 +878,177 @@ class BaseElectricalMeasurement(PollableSensor): attributes={ ElectricalMeasurement.AttributeDefs.ac_voltage_multiplier: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.ac_voltage_divisor: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.ac_current_multiplier: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.ac_current_divisor: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.ac_power_multiplier: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.ac_power_divisor: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.power_multiplier: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.power_divisor: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.active_power: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_OP, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.active_power_ph_b: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_OP, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.active_power_ph_c: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_OP, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.total_active_power: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_OP, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.apparent_power: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_OP, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.rms_current: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_OP, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.rms_current_ph_b: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_OP, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.rms_current_ph_c: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_OP, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.rms_voltage: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_OP, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.rms_voltage_ph_b: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_OP, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.rms_voltage_ph_c: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_OP, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.ac_frequency: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_OP, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.dc_voltage_multiplier: AttrConfig( read_on_startup=False, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.dc_voltage_divisor: AttrConfig( read_on_startup=False, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.dc_current_multiplier: AttrConfig( read_on_startup=False, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.dc_current_divisor: AttrConfig( read_on_startup=False, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.dc_power_multiplier: AttrConfig( read_on_startup=False, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.dc_power_divisor: AttrConfig( read_on_startup=False, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.dc_voltage: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_OP, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.dc_current: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_OP, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.dc_power: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_OP, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), ), ElectricalMeasurement.AttributeDefs.ac_frequency_divisor: AttrConfig( read_on_startup=False, @@ -1523,7 +1578,9 @@ class Humidity(Sensor): attributes={ RelativeHumidity.AttributeDefs.measured_value: AttrConfig( read_on_startup=True, - reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 100), + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=100 + ), ), }, ), @@ -1552,7 +1609,9 @@ class SmartThingsHumidity(Sensor): attributes={ "measured_value": AttrConfig( read_on_startup=True, - reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 50), + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=50 + ), ), }, ), @@ -1582,7 +1641,9 @@ class SoilMoisture(Sensor): attributes={ SoilMoistureCluster.AttributeDefs.measured_value: AttrConfig( read_on_startup=True, - reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 100), + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=100 + ), ), }, ), @@ -1612,7 +1673,9 @@ class LeafWetness(Sensor): attributes={ LeafWetnessCluster.AttributeDefs.measured_value: AttrConfig( read_on_startup=True, - reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 100), + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=100 + ), ), }, ), @@ -1640,7 +1703,9 @@ class Illuminance(Sensor): attributes={ IlluminanceMeasurement.AttributeDefs.measured_value: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), }, ), @@ -1693,43 +1758,63 @@ class SmartEnergyMetering(PollableSensor): attributes={ Metering.AttributeDefs.instantaneous_demand: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_OP, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), ), Metering.AttributeDefs.current_summ_delivered: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Metering.AttributeDefs.current_tier1_summ_delivered: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Metering.AttributeDefs.current_tier2_summ_delivered: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Metering.AttributeDefs.current_tier3_summ_delivered: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Metering.AttributeDefs.current_tier4_summ_delivered: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Metering.AttributeDefs.current_tier5_summ_delivered: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Metering.AttributeDefs.current_tier6_summ_delivered: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Metering.AttributeDefs.current_summ_received: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Metering.AttributeDefs.status: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_ASAP, + reporting=ReportingConfig( + min_interval=1, max_interval=900, reportable_change=1 + ), ), Metering.AttributeDefs.demand_formatting: AttrConfig( read_on_startup=False, @@ -2199,7 +2284,9 @@ class Pressure(Sensor): attributes={ PressureMeasurement.AttributeDefs.measured_value: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), }, ), @@ -2228,7 +2315,9 @@ class Flow(Sensor): attributes={ FlowMeasurement.AttributeDefs.measured_value: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), }, ), @@ -2257,7 +2346,9 @@ class Temperature(Sensor): attributes={ TemperatureMeasurement.AttributeDefs.measured_value: AttrConfig( read_on_startup=True, - reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 50), + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=50 + ), ), }, ), @@ -2288,7 +2379,9 @@ class DeviceTemperature(Sensor): attributes={ DeviceTemperatureCluster.AttributeDefs.current_temperature: AttrConfig( read_on_startup=True, - reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 50), + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=50 + ), ), }, ), @@ -2358,7 +2451,9 @@ class CarbonDioxideConcentration(Sensor): attributes={ CarbonDioxideConcentrationCluster.AttributeDefs.measured_value: AttrConfig( read_on_startup=True, - reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 0.000001), + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=0.000001 + ), ), }, ), @@ -2388,7 +2483,9 @@ class CarbonMonoxideConcentration(Sensor): attributes={ CarbonMonoxideConcentrationCluster.AttributeDefs.measured_value: AttrConfig( read_on_startup=True, - reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 0.000001), + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=0.000001 + ), ), }, ), @@ -2464,7 +2561,9 @@ class PM25(Sensor): attributes={ PM25Cluster.AttributeDefs.measured_value: AttrConfig( read_on_startup=True, - reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 0.1), + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=0.1 + ), ), }, ), @@ -2491,7 +2590,9 @@ class ElectricalConductivity(Sensor): attributes={ ElectricalConductivityCluster.AttributeDefs.measured_value: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), }, ), @@ -2521,7 +2622,9 @@ class FormaldehydeConcentration(Sensor): attributes={ FormaldehydeConcentrationCluster.AttributeDefs.measured_value: AttrConfig( read_on_startup=True, - reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 0.000001), + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=0.000001 + ), ), }, ), @@ -2547,47 +2650,69 @@ class ThermostatHVACAction(Sensor): attributes={ Thermostat.AttributeDefs.local_temperature: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), Thermostat.AttributeDefs.occupied_cooling_setpoint: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), Thermostat.AttributeDefs.occupied_heating_setpoint: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), Thermostat.AttributeDefs.unoccupied_cooling_setpoint: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), Thermostat.AttributeDefs.unoccupied_heating_setpoint: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), Thermostat.AttributeDefs.running_mode: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Thermostat.AttributeDefs.running_state: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Thermostat.AttributeDefs.system_mode: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Thermostat.AttributeDefs.occupancy: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Thermostat.AttributeDefs.pi_cooling_demand: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DEMAND, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=5 + ), ), Thermostat.AttributeDefs.pi_heating_demand: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DEMAND, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=5 + ), ), Thermostat.AttributeDefs.abs_min_heat_setpoint_limit: AttrConfig( read_on_startup=False, @@ -3121,11 +3246,15 @@ class WindowCoveringTypeSensor(EnumSensor): attributes={ WindowCovering.AttributeDefs.current_position_lift_percentage: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), WindowCovering.AttributeDefs.current_position_tilt_percentage: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), WindowCovering.AttributeDefs.window_covering_type: AttrConfig( read_on_startup=False, @@ -3347,7 +3476,9 @@ class DanfossSoftwareErrorCode(BitMapSensor): attributes={ "sw_error_code": AttrConfig( read_on_startup=False, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), }, ), @@ -3375,7 +3506,9 @@ class DanfossMotorStepCounter(Sensor): attributes={ "motor_step_counter": AttrConfig( read_on_startup=False, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), }, ), @@ -3400,7 +3533,9 @@ class WindSpeed(Sensor): attributes={ WindSpeedCluster.AttributeDefs.measured_value: AttrConfig( read_on_startup=True, - reporting=(REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 0.01), + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=0.01 + ), ), }, ), diff --git a/zha/application/platforms/switch.py b/zha/application/platforms/switch.py index 1e54dca8e..1c9683f0d 100644 --- a/zha/application/platforms/switch.py +++ b/zha/application/platforms/switch.py @@ -18,6 +18,7 @@ AttributeReportedEvent, AttributeUpdatedEvent, AttributeWrittenEvent, + ReportingConfig, ) from zigpy.zcl.clusters.closures import ConfigStatus, WindowCovering, WindowCoveringMode from zigpy.zcl.clusters.general import Basic, BinaryOutput, OnOff @@ -50,14 +51,6 @@ TUYA_MANUFACTURER_CLUSTER, ) from zha.zigbee.group import Group -from zha.zigbee.reporting import ( - REPORT_CONFIG_ASAP, - REPORT_CONFIG_CLIMATE, - REPORT_CONFIG_CLIMATE_DEMAND, - REPORT_CONFIG_CLIMATE_DISCRETE, - REPORT_CONFIG_DEFAULT, - REPORT_CONFIG_IMMEDIATE, -) if TYPE_CHECKING: from zha.zigbee.device import Device @@ -123,7 +116,9 @@ class Switch(PlatformEntity, BaseSwitch): attributes={ OnOff.AttributeDefs.on_off: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), OnOff.AttributeDefs.start_up_on_off: AttrConfig( read_on_startup=False, @@ -257,7 +252,9 @@ class BinaryOutputSwitch(ZCLClusterEntity, BaseSwitch): attributes={ BinaryOutput.AttributeDefs.present_value: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), BinaryOutput.AttributeDefs.description: AttrConfig( read_on_startup=False, @@ -897,7 +894,9 @@ class TuyaChildLockSwitch(ConfigurableAttributeSwitch): attributes={ OnOff.AttributeDefs.on_off: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), OnOff.AttributeDefs.start_up_on_off: AttrConfig( read_on_startup=False, @@ -1035,11 +1034,15 @@ class WindowCoveringInversionSwitch(ConfigurableAttributeSwitch): attributes={ WindowCovering.AttributeDefs.current_position_lift_percentage: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), WindowCovering.AttributeDefs.current_position_tilt_percentage: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_IMMEDIATE, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), ), WindowCovering.AttributeDefs.window_covering_type: AttrConfig( read_on_startup=False, @@ -1151,47 +1154,69 @@ class AqaraE1CurtainMotorHooksLockedSwitch(ConfigurableAttributeSwitch): attributes={ Thermostat.AttributeDefs.local_temperature: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), Thermostat.AttributeDefs.occupied_cooling_setpoint: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), Thermostat.AttributeDefs.occupied_heating_setpoint: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), Thermostat.AttributeDefs.unoccupied_cooling_setpoint: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), Thermostat.AttributeDefs.unoccupied_heating_setpoint: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=25 + ), ), Thermostat.AttributeDefs.running_mode: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Thermostat.AttributeDefs.running_state: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Thermostat.AttributeDefs.system_mode: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Thermostat.AttributeDefs.occupancy: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DISCRETE, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), Thermostat.AttributeDefs.pi_cooling_demand: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DEMAND, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=5 + ), ), Thermostat.AttributeDefs.pi_heating_demand: AttrConfig( read_on_startup=True, - reporting=REPORT_CONFIG_CLIMATE_DEMAND, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=5 + ), ), Thermostat.AttributeDefs.abs_min_heat_setpoint_limit: AttrConfig( read_on_startup=False, @@ -1231,31 +1256,45 @@ class AqaraE1CurtainMotorHooksLockedSwitch(ConfigurableAttributeSwitch): ), "open_window_detection": AttrConfig( read_on_startup=False, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), "heat_required": AttrConfig( read_on_startup=False, - reporting=REPORT_CONFIG_ASAP, + reporting=ReportingConfig( + min_interval=1, max_interval=900, reportable_change=1 + ), ), "mounting_mode_active": AttrConfig( read_on_startup=False, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), "load_estimate": AttrConfig( read_on_startup=False, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), "adaptation_run_status": AttrConfig( read_on_startup=False, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), "preheat_status": AttrConfig( read_on_startup=False, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), "preheat_time": AttrConfig( read_on_startup=False, - reporting=REPORT_CONFIG_DEFAULT, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), ), }, ), diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py index ec2d40c18..1f45845b5 100644 --- a/zha/application/platforms/virtual.py +++ b/zha/application/platforms/virtual.py @@ -20,6 +20,7 @@ AttributeReportedEvent, AttributeUpdatedEvent, AttributeWrittenEvent, + ReportingConfig, ) from zigpy.zcl.clusters.closures import DoorLock, WindowCovering from zigpy.zcl.clusters.general import Identify, LevelControl, OnOff, Ota, Scenes @@ -356,8 +357,6 @@ class LevelControlClientBind(_ClientClusterZhaEventEmitter): _cluster_match = ClusterMatch( client_clusters=frozenset({LevelControl.cluster_id}), match_renamed_clusters=True, - # Match on proprietary profiles too (e.g. Digi XBee's serial profile) - # so the level cluster gets bound on those endpoints. profile_ids=None, ) _client_cluster_config = { @@ -937,7 +936,9 @@ class SinopeSwitchInit(VirtualEntity): "on_led_intensity": AttrConfig(read_on_startup=False), "action_report": AttrConfig( read_on_startup=False, - reporting=(0, 0, 1), + reporting=ReportingConfig( + min_interval=0, max_interval=0, reportable_change=1 + ), ), }, ), diff --git a/zha/zigbee/cluster_config.py b/zha/zigbee/cluster_config.py index 8666eea87..5d3316dab 100644 --- a/zha/zigbee/cluster_config.py +++ b/zha/zigbee/cluster_config.py @@ -18,12 +18,12 @@ ZHA_CLUSTER_BIND_EVENT, ZHA_CLUSTER_CONFIGURE_REPORTING_EVENT, ) -from zha.application.platforms import AttrConfig +from zha.application.platforms import AttrConfig, PlatformEntity if TYPE_CHECKING: from collections.abc import Iterable - from zha.application.platforms import BaseEntity, PlatformEntity + from zha.application.platforms import BaseEntity from zha.zigbee.device import Device _LOGGER = logging.getLogger(__name__) @@ -35,7 +35,7 @@ class AggregatedAttrConfig: """Aggregated attribute configuration from multiple entities.""" read_on_startup: bool = False - reporting: tuple[int, int, int | float] | None = None + reporting: ReportingConfig | None = None def merge(self, config: AttrConfig) -> None: """Merge another attribute config (fresh read and tightest reporting win).""" @@ -45,10 +45,17 @@ def merge(self, config: AttrConfig) -> None: if self.reporting is None: self.reporting = config.reporting else: - self.reporting = ( - min(self.reporting[0], config.reporting[0]), - min(self.reporting[1], config.reporting[1]), - min(self.reporting[2], config.reporting[2]), + self.reporting = ReportingConfig( + min_interval=min( + self.reporting.min_interval, config.reporting.min_interval + ), + max_interval=min( + self.reporting.max_interval, config.reporting.max_interval + ), + reportable_change=min( + self.reporting.reportable_change, + config.reporting.reportable_change, + ), ) @@ -63,7 +70,7 @@ class AggregatedClusterConfig: def aggregate_cluster_configs( - entities: Iterable[PlatformEntity], + entities: Iterable[BaseEntity], ) -> dict[tuple[int, int, bool], AggregatedClusterConfig]: """Aggregate cluster configurations from entities. @@ -72,6 +79,9 @@ def aggregate_cluster_configs( result: dict[tuple[int, int, bool], AggregatedClusterConfig] = {} for entity in entities: + if not isinstance(entity, PlatformEntity): + continue + if not entity._server_cluster_config and not entity._client_cluster_config: continue @@ -172,11 +182,7 @@ async def configure_cluster_configs( if attr_config.reporting is None: continue attr_def = agg.cluster.find_attribute(attr_name) - reporting_attrs[attr_def] = ReportingConfig( - min_interval=attr_config.reporting[0], - max_interval=attr_config.reporting[1], - reportable_change=attr_config.reporting[2], - ) + reporting_attrs[attr_def] = attr_config.reporting if reporting_attrs: event_data = { diff --git a/zha/zigbee/reporting.py b/zha/zigbee/reporting.py deleted file mode 100644 index 0f518f605..000000000 --- a/zha/zigbee/reporting.py +++ /dev/null @@ -1,55 +0,0 @@ -"""Default ZCL attribute reporting configurations.""" - -from typing import Final - -REPORT_CONFIG_MAX_INT: Final[int] = 900 -REPORT_CONFIG_MAX_INT_BATTERY_SAVE: Final[int] = 10800 -REPORT_CONFIG_MIN_INT: Final[int] = 30 -REPORT_CONFIG_MIN_INT_ASAP: Final[int] = 1 -REPORT_CONFIG_MIN_INT_IMMEDIATE: Final[int] = 0 -REPORT_CONFIG_MIN_INT_OP: Final[int] = 5 -REPORT_CONFIG_MIN_INT_BATTERY_SAVE: Final[int] = 3600 -REPORT_CONFIG_RPT_CHANGE: Final[int] = 1 - -REPORT_CONFIG_DEFAULT: tuple[int, int, int] = ( - REPORT_CONFIG_MIN_INT, - REPORT_CONFIG_MAX_INT, - REPORT_CONFIG_RPT_CHANGE, -) -REPORT_CONFIG_ASAP: tuple[int, int, int] = ( - REPORT_CONFIG_MIN_INT_ASAP, - REPORT_CONFIG_MAX_INT, - REPORT_CONFIG_RPT_CHANGE, -) -REPORT_CONFIG_BATTERY_SAVE: tuple[int, int, int] = ( - REPORT_CONFIG_MIN_INT_BATTERY_SAVE, - REPORT_CONFIG_MAX_INT_BATTERY_SAVE, - REPORT_CONFIG_RPT_CHANGE, -) -REPORT_CONFIG_IMMEDIATE: tuple[int, int, int] = ( - REPORT_CONFIG_MIN_INT_IMMEDIATE, - REPORT_CONFIG_MAX_INT, - REPORT_CONFIG_RPT_CHANGE, -) -REPORT_CONFIG_OP: tuple[int, int, int] = ( - REPORT_CONFIG_MIN_INT_OP, - REPORT_CONFIG_MAX_INT, - REPORT_CONFIG_RPT_CHANGE, -) - -# HVAC-specific reporting configs -REPORT_CONFIG_CLIMATE: tuple[int, int, float] = ( - REPORT_CONFIG_MIN_INT, - REPORT_CONFIG_MAX_INT, - 25, -) -REPORT_CONFIG_CLIMATE_DEMAND: tuple[int, int, float] = ( - REPORT_CONFIG_MIN_INT, - REPORT_CONFIG_MAX_INT, - 5, -) -REPORT_CONFIG_CLIMATE_DISCRETE: tuple[int, int, float] = ( - REPORT_CONFIG_MIN_INT, - REPORT_CONFIG_MAX_INT, - 1, -) From 2cf626666c1a8252eaaba5932a39dc56e8511757 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 17 May 2026 14:33:36 -0400 Subject: [PATCH 42/85] Rename unknown to virtual --- zha/application/__init__.py | 2 +- zha/application/platforms/__init__.py | 2 +- zha/application/platforms/virtual.py | 2 +- zha/zigbee/device.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/zha/application/__init__.py b/zha/application/__init__.py index 385cc9697..c3d9c5c23 100644 --- a/zha/application/__init__.py +++ b/zha/application/__init__.py @@ -22,5 +22,5 @@ class Platform(StrEnum): SIREN = "siren" SWITCH = "switch" VALVE = "valve" - UNKNOWN = "unknown" + VIRTUAL = "virtual" UPDATE = "update" diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index 1ca15bd37..ad6ad6c7a 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -227,7 +227,7 @@ class EntityStateChangedEvent: class BaseEntity(LogMixin, EventBase): """Base class for entities.""" - PLATFORM: Platform = Platform.UNKNOWN + PLATFORM: Platform = Platform.VIRTUAL # Virtual entities participate in discovery and cluster-config aggregation # (so they bind, configure reporting, and run cluster-level setup work like diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py index 1f45845b5..7167e6513 100644 --- a/zha/application/platforms/virtual.py +++ b/zha/application/platforms/virtual.py @@ -57,7 +57,7 @@ class VirtualEntity(ZCLClusterEntity): """Cluster-level background driver that isn't registered as a HA entity.""" _virtual = True - PLATFORM = Platform.UNKNOWN + PLATFORM = Platform.VIRTUAL _attr_always_supported = True def on_add(self) -> None: diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index fad2da292..d70d46a0d 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -1820,7 +1820,7 @@ def get_diagnostics_json(self): for (platform, _unique_id), platform_entity in sorted( self.platform_entities.items() ): - if platform is Platform.UNKNOWN: + if platform is Platform.VIRTUAL: continue info_object = dataclasses.asdict(platform_entity.info_object) From 6bf2d777ef247b7e8ed430330c764ddd054cc03a Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 17 May 2026 15:00:09 -0400 Subject: [PATCH 43/85] Clean up constants --- tests/test_binary_sensor.py | 2 +- tests/test_discover.py | 4 +- .../platforms/binary_sensor/__init__.py | 4 +- zha/application/platforms/button/__init__.py | 5 +- zha/application/platforms/const.py | 18 +++ zha/application/platforms/fan/__init__.py | 2 +- zha/application/platforms/number/__init__.py | 10 +- zha/application/platforms/select.py | 2 +- zha/application/platforms/sensor/__init__.py | 53 ++++---- zha/application/platforms/sensor/const.py | 116 ++++++++++++++++++ zha/application/platforms/switch.py | 6 +- zha/application/platforms/virtual.py | 33 ++--- 12 files changed, 192 insertions(+), 63 deletions(-) create mode 100644 zha/application/platforms/const.py diff --git a/tests/test_binary_sensor.py b/tests/test_binary_sensor.py index 8bfc397c1..3f019c5e0 100644 --- a/tests/test_binary_sensor.py +++ b/tests/test_binary_sensor.py @@ -37,7 +37,7 @@ IASZone, Occupancy, ) -from zha.zigbee.cluster_ids import SMARTTHINGS_ACCELERATION_CLUSTER +from zha.application.platforms.const import SMARTTHINGS_ACCELERATION_CLUSTER DEVICE_IAS = { 1: { diff --git a/tests/test_discover.py b/tests/test_discover.py index c60b3dae9..c9d1e6431 100644 --- a/tests/test_discover.py +++ b/tests/test_discover.py @@ -59,9 +59,9 @@ from zha.application.gateway import Gateway from zha.application.helpers import DeviceOverridesConfiguration from zha.application.platforms import PlatformEntity, binary_sensor, sensor +from zha.application.platforms.const import PHILIPS_REMOTE_CLUSTER from zha.application.platforms.light import HueLight from zha.application.platforms.number import BaseNumber, NumberMode -from zha.zigbee.cluster_ids import PHILLIPS_REMOTE_CLUSTER def _get_identify_cluster(zigpy_device): @@ -846,7 +846,7 @@ async def test_entityless_cluster_binds_via_virtual_entity( # The Philips remote cluster (0xFC00) has no HA entity but `PhilipsRemoteBind` # virtual entity binds it so the device can send commands to the coordinator. - philips_cluster = zigpy_device.endpoints[1].in_clusters[PHILLIPS_REMOTE_CLUSTER] + philips_cluster = zigpy_device.endpoints[1].in_clusters[PHILIPS_REMOTE_CLUSTER] await join_zigpy_device(zha_gateway, zigpy_device) await zha_gateway.async_block_till_done(wait_background_tasks=True) diff --git a/zha/application/platforms/binary_sensor/__init__.py b/zha/application/platforms/binary_sensor/__init__.py index a7688da6b..ca56bc8c3 100644 --- a/zha/application/platforms/binary_sensor/__init__.py +++ b/zha/application/platforms/binary_sensor/__init__.py @@ -41,13 +41,13 @@ IAS_ZONE_CLASS_MAPPING, BinarySensorDeviceClass, ) -from zha.application.platforms.helpers import validate_device_class -from zha.zigbee.cluster_ids import ( +from zha.application.platforms.const import ( AQARA_OPPLE_CLUSTER, IKEA_AIR_PURIFIER_CLUSTER, SMARTTHINGS_ACCELERATION_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) +from zha.application.platforms.helpers import validate_device_class if TYPE_CHECKING: from zha.zigbee.device import Device diff --git a/zha/application/platforms/button/__init__.py b/zha/application/platforms/button/__init__.py index 1d8914635..902c26297 100644 --- a/zha/application/platforms/button/__init__.py +++ b/zha/application/platforms/button/__init__.py @@ -23,7 +23,10 @@ register_entity, ) from zha.application.platforms.button.const import DEFAULT_DURATION, ButtonDeviceClass -from zha.zigbee.cluster_ids import AQARA_OPPLE_CLUSTER, TUYA_MANUFACTURER_CLUSTER +from zha.application.platforms.const import ( + AQARA_OPPLE_CLUSTER, + TUYA_MANUFACTURER_CLUSTER, +) if TYPE_CHECKING: from zha.zigbee.device import Device diff --git a/zha/application/platforms/const.py b/zha/application/platforms/const.py new file mode 100644 index 000000000..6a60cec05 --- /dev/null +++ b/zha/application/platforms/const.py @@ -0,0 +1,18 @@ +"""Manufacturer-specific ZCL cluster IDs used across the platform layer.""" + +from typing import Final + +AQARA_OPPLE_CLUSTER: Final[int] = 0xFCC0 +IKEA_AIR_PURIFIER_CLUSTER: Final[int] = 0xFC7D +IKEA_REMOTE_CLUSTER: Final[int] = 0xFC80 +IKEA_SHORTCUT_V1_CLUSTER: Final[int] = 0xFC7F +INOVELLI_CLUSTER: Final[int] = 0xFC31 +OSRAM_CLUSTER: Final[int] = 0xFD00 +OSRAM_BUTTON_CLUSTER: Final[int] = 0xFD51 +PHILIPS_REMOTE_CLUSTER: Final[int] = 0xFC00 +SINOPE_MANUFACTURER_CLUSTER: Final[int] = 0xFF01 +SMARTTHINGS_ACCELERATION_CLUSTER: Final[int] = 0xFC02 +SMARTTHINGS_HUMIDITY_CLUSTER: Final[int] = 0xFC45 +SONOFF_CLUSTER: Final[int] = 0xFC11 +TUYA_MANUFACTURER_CLUSTER: Final[int] = 0xEF00 +VOC_LEVEL_CLUSTER: Final[int] = 0x042E diff --git a/zha/application/platforms/fan/__init__.py b/zha/application/platforms/fan/__init__.py index e3bde1652..3923b822e 100644 --- a/zha/application/platforms/fan/__init__.py +++ b/zha/application/platforms/fan/__init__.py @@ -31,6 +31,7 @@ register_entity, register_group_entity, ) +from zha.application.platforms.const import IKEA_AIR_PURIFIER_CLUSTER from zha.application.platforms.fan.const import ( ATTR_PERCENTAGE, ATTR_PRESET_MODE, @@ -53,7 +54,6 @@ ranged_value_to_percentage, ) from zha.exceptions import wrap_zigpy_exceptions -from zha.zigbee.cluster_ids import IKEA_AIR_PURIFIER_CLUSTER from zha.zigbee.group import Group if TYPE_CHECKING: diff --git a/zha/application/platforms/number/__init__.py b/zha/application/platforms/number/__init__.py index 7ef6d6367..8a8a2a76d 100644 --- a/zha/application/platforms/number/__init__.py +++ b/zha/application/platforms/number/__init__.py @@ -35,17 +35,17 @@ ZCLClusterEntity, register_entity, ) -from zha.application.platforms.helpers import validate_device_class -from zha.application.platforms.number.bacnet import BACNET_UNITS_TO_HA_UNITS -from zha.application.platforms.number.const import ICONS, NumberDeviceClass, NumberMode -from zha.units import UnitOfMass, UnitOfTemperature, UnitOfTime -from zha.zigbee.cluster_ids import ( +from zha.application.platforms.const import ( AQARA_OPPLE_CLUSTER, IKEA_AIR_PURIFIER_CLUSTER, INOVELLI_CLUSTER, SINOPE_MANUFACTURER_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) +from zha.application.platforms.helpers import validate_device_class +from zha.application.platforms.number.bacnet import BACNET_UNITS_TO_HA_UNITS +from zha.application.platforms.number.const import ICONS, NumberDeviceClass, NumberMode +from zha.units import UnitOfMass, UnitOfTemperature, UnitOfTime if TYPE_CHECKING: pass diff --git a/zha/application/platforms/select.py b/zha/application/platforms/select.py index e4881b026..aa45c2003 100644 --- a/zha/application/platforms/select.py +++ b/zha/application/platforms/select.py @@ -46,7 +46,7 @@ ZCLClusterEntity, register_entity, ) -from zha.zigbee.cluster_ids import ( +from zha.application.platforms.const import ( AQARA_OPPLE_CLUSTER, INOVELLI_CLUSTER, SINOPE_MANUFACTURER_CLUSTER, diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index fb6d6bbcb..2892d2086 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -75,15 +75,34 @@ register_entity, ) from zha.application.platforms.climate.const import HVACAction +from zha.application.platforms.const import ( + AQARA_OPPLE_CLUSTER, + IKEA_AIR_PURIFIER_CLUSTER, + INOVELLI_CLUSTER, + SMARTTHINGS_HUMIDITY_CLUSTER, + SONOFF_CLUSTER, + TUYA_MANUFACTURER_CLUSTER, + VOC_LEVEL_CLUSTER, +) from zha.application.platforms.helpers import validate_device_class from zha.application.platforms.number.bacnet import BACNET_UNITS_TO_HA_UNITS from zha.application.platforms.sensor.const import ( ANALOG_INPUT_APPTYPE_DEV_CLASS, ANALOG_INPUT_APPTYPE_UNITS, LEGACY_MEASUREMENT_TYPE_REMAPPING, + METERING_DEVICE_TYPES_ELECTRIC, + METERING_DEVICE_TYPES_GAS, + METERING_DEVICE_TYPES_HEATING_COOLING, + METERING_DEVICE_TYPES_WATER, ZCL_EPOCH, + DeviceStatusDefault, + DeviceStatusElectric, + DeviceStatusGas, + DeviceStatusHeatingCooling, + DeviceStatusWater, SensorDeviceClass, SensorStateClass, + metering_device_type_name, ) from zha.application.platforms.sensor.helpers import ( create_number_formatter, @@ -112,26 +131,6 @@ UnitOfVolume, UnitOfVolumeFlowRate, ) -from zha.zigbee.cluster_ids import ( - AQARA_OPPLE_CLUSTER, - IKEA_AIR_PURIFIER_CLUSTER, - INOVELLI_CLUSTER, - SMARTTHINGS_HUMIDITY_CLUSTER, - SONOFF_CLUSTER, - TUYA_MANUFACTURER_CLUSTER, -) -from zha.zigbee.metering import ( - METERING_DEVICE_TYPES_ELECTRIC, - METERING_DEVICE_TYPES_GAS, - METERING_DEVICE_TYPES_HEATING_COOLING, - METERING_DEVICE_TYPES_WATER, - DeviceStatusDefault, - DeviceStatusElectric, - DeviceStatusGas, - DeviceStatusHeatingCooling, - DeviceStatusWater, - metering_device_type, -) if TYPE_CHECKING: from zha.zigbee.device import Device @@ -1904,7 +1903,7 @@ def _device_type(self) -> str | int | None: dev_type = self._cluster.get(Metering.AttributeDefs.metering_device_type.name) if dev_type is None: return None - return metering_device_type.get(dev_type, dev_type) + return metering_device_type_name(dev_type) @property def _metering_status(self) -> int | None: @@ -2492,7 +2491,7 @@ class CarbonMonoxideConcentration(Sensor): } -@register_entity(0x042E) +@register_entity(VOC_LEVEL_CLUSTER) class VOCLevel(Sensor): """VOC Level sensor.""" @@ -2505,16 +2504,16 @@ class VOCLevel(Sensor): _attr_primary_weight = 1 _cluster_match = ClusterMatch( - server_clusters=frozenset({0x042E}), + server_clusters=frozenset({VOC_LEVEL_CLUSTER}), feature_priority=(PlatformFeatureGroup.VOC_LEVEL, 0), ) _server_cluster_config = { - 0x042E: ClusterConfig(bind=True), + VOC_LEVEL_CLUSTER: ClusterConfig(bind=True), } -@register_entity(0x042E) +@register_entity(VOC_LEVEL_CLUSTER) class PPBVOCLevel(Sensor): """VOC Level sensor.""" @@ -2529,13 +2528,13 @@ class PPBVOCLevel(Sensor): _attr_primary_weight = 1 _cluster_match = ClusterMatch( - server_clusters=frozenset({0x042E}), + server_clusters=frozenset({VOC_LEVEL_CLUSTER}), models=frozenset({"lumi.airmonitor.acn01"}), feature_priority=(PlatformFeatureGroup.VOC_LEVEL, 1), ) _server_cluster_config = { - 0x042E: ClusterConfig(bind=True), + VOC_LEVEL_CLUSTER: ClusterConfig(bind=True), } diff --git a/zha/application/platforms/sensor/const.py b/zha/application/platforms/sensor/const.py index 4c895bb83..82420a5d9 100644 --- a/zha/application/platforms/sensor/const.py +++ b/zha/application/platforms/sensor/const.py @@ -1,10 +1,12 @@ """Constants for the sensor platform.""" from datetime import UTC, datetime +import enum from zigpy.quirks.v2.homeassistant.sensor import SensorDeviceClass, SensorStateClass from zigpy.zcl.clusters.general_const import AnalogInputType from zigpy.zcl.clusters.homeautomation import MeasurementType +from zigpy.zcl.clusters.smartenergy import MeteringDeviceType from zha.units import ( CONCENTRATION_PARTS_PER_MILLION, @@ -84,3 +86,117 @@ MeasurementType.Harmonics_measurement: "HARMONICS_MEASUREMENT", MeasurementType.Power_quality_measurement: "POWER_QUALITY_MEASUREMENT", } + +# SmartEnergy Metering device-type categorization. zigpy's `MeteringDeviceType` +# defines the values; ZHA groups them by physical metering type to pick the +# right device-status flag interpretation below. +METERING_DEVICE_TYPES_ELECTRIC: frozenset[int] = frozenset( + { + MeteringDeviceType.Electric_Metering, + MeteringDeviceType.EUMD_for_metering_electric_vehicle_charging, + MeteringDeviceType.PV_Generation_Metering, + MeteringDeviceType.Wind_Turbine_Generation_Metering, + MeteringDeviceType.Water_Turbine_Generation_Metering, + MeteringDeviceType.Micro_Generation_Metering, + MeteringDeviceType.Electric_Metering_Element_Phase_1, + MeteringDeviceType.Electric_Metering_Element_Phase_2, + MeteringDeviceType.Electric_Metering_Element_Phase_3, + MeteringDeviceType.Mirrored_Electric_Metering, + MeteringDeviceType.Mirrored_EUMD_for_metering_electric_vehicle_charging, + MeteringDeviceType.Mirrored_PV_Generation_Metering, + MeteringDeviceType.Mirrored_Wind_Turbine_Generation_Metering, + MeteringDeviceType.Mirrored_Water_Turbine_Generation_Metering, + MeteringDeviceType.Mirrored_Micro_Generation_Metering, + MeteringDeviceType.Mirrored_Electric_Metering_Element_Phase_1, + MeteringDeviceType.Mirrored_Electric_Metering_Element_Phase_2, + MeteringDeviceType.Mirrored_Electric_Metering_Element_Phase_3, + } +) +METERING_DEVICE_TYPES_GAS: frozenset[int] = frozenset( + {MeteringDeviceType.Gas_Metering, MeteringDeviceType.Mirrored_Gas_Metering} +) +METERING_DEVICE_TYPES_WATER: frozenset[int] = frozenset( + {MeteringDeviceType.Water_Metering, MeteringDeviceType.Mirrored_Water_Metering} +) +METERING_DEVICE_TYPES_HEATING_COOLING: frozenset[int] = frozenset( + { + MeteringDeviceType.Thermal_Metering, + MeteringDeviceType.Heat_Metering, + MeteringDeviceType.Cooling_Metering, + MeteringDeviceType.Mirrored_Thermal_Metering, + MeteringDeviceType.Mirrored_Heat_Metering, + MeteringDeviceType.Mirrored_Cooling_Metering, + } +) + + +def metering_device_type_name(dev_type: int) -> str | int: + """Return a human-readable label for a `MeteringDeviceType` value.""" + member = MeteringDeviceType._value2member_map_.get(dev_type) + return member.name.replace("_", " ") if member is not None else dev_type + + +# Per-metering-type interpretations of the `status` attribute. The ZCL spec +# reuses the same 8 status bits with different meanings depending on +# `metering_device_type`; zigpy's `MeteringStatus` covers only the Electric +# variant, so the rest are defined here. +class DeviceStatusElectric(enum.IntFlag): + """Electric Metering Device Status.""" + + NO_ALARMS = 0 + CHECK_METER = 1 + LOW_BATTERY = 2 + TAMPER_DETECT = 4 + POWER_FAILURE = 8 + POWER_QUALITY = 16 + LEAK_DETECT = 32 # Really? + SERVICE_DISCONNECT = 64 + RESERVED = 128 + + +class DeviceStatusGas(enum.IntFlag): + """Gas Metering Device Status.""" + + NO_ALARMS = 0 + CHECK_METER = 1 + LOW_BATTERY = 2 + TAMPER_DETECT = 4 + NOT_DEFINED = 8 + LOW_PRESSURE = 16 + LEAK_DETECT = 32 + SERVICE_DISCONNECT = 64 + REVERSE_FLOW = 128 + + +class DeviceStatusWater(enum.IntFlag): + """Water Metering Device Status.""" + + NO_ALARMS = 0 + CHECK_METER = 1 + LOW_BATTERY = 2 + TAMPER_DETECT = 4 + PIPE_EMPTY = 8 + LOW_PRESSURE = 16 + LEAK_DETECT = 32 + SERVICE_DISCONNECT = 64 + REVERSE_FLOW = 128 + + +class DeviceStatusHeatingCooling(enum.IntFlag): + """Heating and Cooling Metering Device Status.""" + + NO_ALARMS = 0 + CHECK_METER = 1 + LOW_BATTERY = 2 + TAMPER_DETECT = 4 + TEMPERATURE_SENSOR = 8 + BURST_DETECT = 16 + LEAK_DETECT = 32 + SERVICE_DISCONNECT = 64 + REVERSE_FLOW = 128 + + +class DeviceStatusDefault(enum.IntFlag): + """Metering Device Status.""" + + NO_ALARMS = 0 diff --git a/zha/application/platforms/switch.py b/zha/application/platforms/switch.py index 1c9683f0d..ddd835982 100644 --- a/zha/application/platforms/switch.py +++ b/zha/application/platforms/switch.py @@ -41,15 +41,15 @@ register_entity, register_group_entity, ) -from zha.application.platforms.light.const import LIGHT_PROFILE_DEVICE_TYPES -from zha.exceptions import ZHAException -from zha.zigbee.cluster_ids import ( +from zha.application.platforms.const import ( AQARA_OPPLE_CLUSTER, IKEA_AIR_PURIFIER_CLUSTER, INOVELLI_CLUSTER, SINOPE_MANUFACTURER_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) +from zha.application.platforms.light.const import LIGHT_PROFILE_DEVICE_TYPES +from zha.exceptions import ZHAException from zha.zigbee.group import Group if TYPE_CHECKING: diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py index 7167e6513..95446eecf 100644 --- a/zha/application/platforms/virtual.py +++ b/zha/application/platforms/virtual.py @@ -12,6 +12,7 @@ import asyncio from typing import TYPE_CHECKING, Any +from zhaquirks.quirk_ids import TUYA_PLUG_MANUFACTURER import zigpy.exceptions import zigpy.types as t import zigpy.zcl @@ -37,6 +38,18 @@ ZCLClusterEntity, register_entity, ) +from zha.application.platforms.const import ( + AQARA_OPPLE_CLUSTER, + IKEA_REMOTE_CLUSTER, + IKEA_SHORTCUT_V1_CLUSTER, + INOVELLI_CLUSTER, + OSRAM_CLUSTER, + PHILIPS_REMOTE_CLUSTER, + SINOPE_MANUFACTURER_CLUSTER, + SMARTTHINGS_ACCELERATION_CLUSTER, + SONOFF_CLUSTER, + TUYA_MANUFACTURER_CLUSTER, +) from zha.exceptions import ZHAException ATTRIBUTE_ID = "attribute_id" @@ -45,7 +58,6 @@ SIGNAL_ATTR_UPDATED = "attribute_updated" VALUE = "value" -SMARTTHINGS_ACCELERATION_CLUSTER = 0xFC02 UNKNOWN = "Unknown" if TYPE_CHECKING: @@ -394,11 +406,6 @@ class WindowCoveringClientBind(_ClientClusterZhaEventEmitter): } -PHILIPS_REMOTE_CLUSTER = 0xFC00 -OSRAM_BUTTON_CLUSTER = 0xFD51 -OSRAM_CLUSTER = 0xFD00 - - @register_entity(PHILIPS_REMOTE_CLUSTER) class PhilipsRemoteBind(VirtualEntity): """Bind the Philips remote cluster on every device that exposes it.""" @@ -552,8 +559,6 @@ def cluster_command(self, tsn: int, command_id: int, args: list[Any]) -> None: # so the regular entities (select/switch/sensor/number) reading them have a # value to display. -AQARA_OPPLE_CLUSTER = 0xFCC0 - class _AqaraOppleInitBase(VirtualEntity): """Base for per-model Aqara Opple cluster attribute initialization.""" @@ -817,10 +822,6 @@ async def async_initialize_cluster(self, cluster: zigpy.zcl.Cluster) -> None: # === Other manufacturer-specific clusters === -SONOFF_CLUSTER = 0xFC11 -TUYA_MANUFACTURER_CLUSTER = 0xEF00 -TUYA_PLUG_MANUFACTURER = "tuya.plug_manufacturer_attributes" - @register_entity(SONOFF_CLUSTER) class SonoffManufacturerBind(VirtualEntity): @@ -889,9 +890,6 @@ class TuyaPlugManufacturerInit(VirtualEntity): } -SINOPE_MANUFACTURER_CLUSTER = 0xFF01 - - @register_entity(SINOPE_MANUFACTURER_CLUSTER) class SinopeManufacturerBind(VirtualEntity): """Bind the Sinope manufacturer cluster on every device that exposes it.""" @@ -964,11 +962,6 @@ class SinopeDimmerInit(VirtualEntity): } -INOVELLI_CLUSTER = 0xFC31 -IKEA_REMOTE_CLUSTER = 0xFC80 -IKEA_SHORTCUT_V1_CLUSTER = 0xFC7F - - @register_entity(IKEA_REMOTE_CLUSTER) class IkeaRemoteClientBind(VirtualEntity): """Bind the IKEA remote client cluster on every device that exposes it. From 8e857dc8209fcfe0234cfb3992337d51a8fecce4 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Mon, 18 May 2026 16:38:06 -0400 Subject: [PATCH 44/85] Reduce indirect inheritance for `PolledElectricalMeasurement` --- zha/application/platforms/sensor/__init__.py | 41 +++++++++++++------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 2892d2086..139d31696 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -1180,24 +1180,17 @@ def _divisor(self, value: int | float | None) -> None: raise AttributeError("Cannot set divisor directly") -# this entity will be created by ReportingEM or PolledEM class below -class ElectricalMeasurementActivePower(BaseElectricalMeasurement): - """Active power phase measurement.""" +@register_entity(ElectricalMeasurement.cluster_id) +class ReportingElectricalMeasurement(BaseElectricalMeasurement): + """Unpolled active power measurement.""" _attribute_name = "active_power" - # no unique id suffix for backwards compatibility - # no translation key due to device class _attr_max_attribute_name = "active_power_max" _divisor_attribute_name = "ac_power_divisor" _multiplier_attribute_name = "ac_power_multiplier" _attr_device_class: SensorDeviceClass = SensorDeviceClass.POWER _attr_native_unit_of_measurement: str = UnitOfPower.WATT - -@register_entity(ElectricalMeasurement.cluster_id) -class ReportingElectricalMeasurement(ElectricalMeasurementActivePower): - """Unpolled active power measurement.""" - _cluster_match = ClusterMatch( server_clusters=frozenset({ElectricalMeasurement.cluster_id}), models=frozenset({"VZM31-SN", "SP 234", "outletv4", "INSPELNING Smart plug"}), @@ -1238,11 +1231,18 @@ class ReportingElectricalMeasurement(ElectricalMeasurementActivePower): @register_entity(ElectricalMeasurement.cluster_id) -class PolledElectricalMeasurement(ElectricalMeasurementActivePower): +class PolledElectricalMeasurement(BaseElectricalMeasurement): """Polled active power measurement that polls all relevant EM attributes.""" _use_custom_polling: bool = True + _attribute_name = "active_power" + _attr_max_attribute_name = "active_power_max" + _divisor_attribute_name = "ac_power_divisor" + _multiplier_attribute_name = "ac_power_multiplier" + _attr_device_class: SensorDeviceClass = SensorDeviceClass.POWER + _attr_native_unit_of_measurement: str = UnitOfPower.WATT + _cluster_match = ClusterMatch( server_clusters=frozenset({ElectricalMeasurement.cluster_id}), feature_priority=(PlatformFeatureGroup.EM_ACTIVE_POWER, 0), @@ -1287,13 +1287,17 @@ def enable(self) -> None: @register_entity(ElectricalMeasurement.cluster_id) -class ElectricalMeasurementActivePowerPhB(ElectricalMeasurementActivePower): +class ElectricalMeasurementActivePowerPhB(BaseElectricalMeasurement): """Active power phase B measurement.""" _attribute_name = "active_power_ph_b" _unique_id_suffix = "active_power_ph_b" _attr_translation_key: str = "active_power_ph_b" _attr_max_attribute_name = "active_power_max_ph_b" + _divisor_attribute_name = "ac_power_divisor" + _multiplier_attribute_name = "ac_power_multiplier" + _attr_device_class: SensorDeviceClass = SensorDeviceClass.POWER + _attr_native_unit_of_measurement: str = UnitOfPower.WATT _skip_creation_if_no_attr_cache = True _cluster_match = ClusterMatch( @@ -1302,13 +1306,17 @@ class ElectricalMeasurementActivePowerPhB(ElectricalMeasurementActivePower): @register_entity(ElectricalMeasurement.cluster_id) -class ElectricalMeasurementActivePowerPhC(ElectricalMeasurementActivePower): +class ElectricalMeasurementActivePowerPhC(BaseElectricalMeasurement): """Active power phase C measurement.""" _attribute_name = "active_power_ph_c" _unique_id_suffix = "active_power_ph_c" _attr_translation_key: str = "active_power_ph_c" _attr_max_attribute_name = "active_power_max_ph_c" + _divisor_attribute_name = "ac_power_divisor" + _multiplier_attribute_name = "ac_power_multiplier" + _attr_device_class: SensorDeviceClass = SensorDeviceClass.POWER + _attr_native_unit_of_measurement: str = UnitOfPower.WATT _skip_creation_if_no_attr_cache = True _cluster_match = ClusterMatch( @@ -1317,12 +1325,17 @@ class ElectricalMeasurementActivePowerPhC(ElectricalMeasurementActivePower): @register_entity(ElectricalMeasurement.cluster_id) -class ElectricalMeasurementTotalActivePower(ElectricalMeasurementActivePower): +class ElectricalMeasurementTotalActivePower(BaseElectricalMeasurement): """Total active power measurement.""" _attribute_name = "total_active_power" _unique_id_suffix = "total_active_power" _attr_translation_key: str = "total_active_power" + _attr_max_attribute_name = "active_power_max" + _divisor_attribute_name = "ac_power_divisor" + _multiplier_attribute_name = "ac_power_multiplier" + _attr_device_class: SensorDeviceClass = SensorDeviceClass.POWER + _attr_native_unit_of_measurement: str = UnitOfPower.WATT _skip_creation_if_no_attr_cache = True _cluster_match = ClusterMatch( From 635d3a26f5785ae635e83c721551a563e3b79d5f Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Mon, 18 May 2026 16:59:44 -0400 Subject: [PATCH 45/85] WIP: Explicitly propagate all attribute config into EM entities --- zha/application/platforms/sensor/__init__.py | 686 +++++++++++++------ 1 file changed, 479 insertions(+), 207 deletions(-) diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 139d31696..86aea65ce 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -875,42 +875,6 @@ class BaseElectricalMeasurement(PollableSensor): ElectricalMeasurement.cluster_id: ClusterConfig( bind=True, attributes={ - ElectricalMeasurement.AttributeDefs.ac_voltage_multiplier: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.ac_voltage_divisor: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.ac_current_multiplier: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.ac_current_divisor: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.ac_power_multiplier: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.ac_power_divisor: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), ElectricalMeasurement.AttributeDefs.power_multiplier: AttrConfig( read_on_startup=True, reporting=ReportingConfig( @@ -923,180 +887,9 @@ class BaseElectricalMeasurement(PollableSensor): min_interval=0, max_interval=900, reportable_change=1 ), ), - ElectricalMeasurement.AttributeDefs.active_power: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=5, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.active_power_ph_b: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=5, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.active_power_ph_c: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=5, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.total_active_power: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=5, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.apparent_power: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=5, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.rms_current: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=5, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.rms_current_ph_b: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=5, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.rms_current_ph_c: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=5, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.rms_voltage: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=5, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.rms_voltage_ph_b: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=5, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.rms_voltage_ph_c: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=5, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.ac_frequency: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=5, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.dc_voltage_multiplier: AttrConfig( - read_on_startup=False, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.dc_voltage_divisor: AttrConfig( - read_on_startup=False, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.dc_current_multiplier: AttrConfig( - read_on_startup=False, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.dc_current_divisor: AttrConfig( - read_on_startup=False, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.dc_power_multiplier: AttrConfig( - read_on_startup=False, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.dc_power_divisor: AttrConfig( - read_on_startup=False, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.dc_voltage: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=5, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.dc_current: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=5, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.dc_power: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=5, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.ac_frequency_divisor: AttrConfig( - read_on_startup=False, - ), - ElectricalMeasurement.AttributeDefs.ac_frequency_max: AttrConfig( - read_on_startup=False, - ), - ElectricalMeasurement.AttributeDefs.ac_frequency_multiplier: AttrConfig( - read_on_startup=False, - ), - ElectricalMeasurement.AttributeDefs.active_power_max: AttrConfig( - read_on_startup=False, - ), - ElectricalMeasurement.AttributeDefs.active_power_max_ph_b: AttrConfig( - read_on_startup=False, - ), - ElectricalMeasurement.AttributeDefs.active_power_max_ph_c: AttrConfig( - read_on_startup=False, - ), ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( read_on_startup=False, ), - ElectricalMeasurement.AttributeDefs.power_factor: AttrConfig( - read_on_startup=False, - ), - ElectricalMeasurement.AttributeDefs.power_factor_ph_b: AttrConfig( - read_on_startup=False, - ), - ElectricalMeasurement.AttributeDefs.power_factor_ph_c: AttrConfig( - read_on_startup=False, - ), - ElectricalMeasurement.AttributeDefs.rms_current_max: AttrConfig( - read_on_startup=False, - ), - ElectricalMeasurement.AttributeDefs.rms_current_max_ph_b: AttrConfig( - read_on_startup=False, - ), - ElectricalMeasurement.AttributeDefs.rms_current_max_ph_c: AttrConfig( - read_on_startup=False, - ), - ElectricalMeasurement.AttributeDefs.rms_voltage_max: AttrConfig( - read_on_startup=False, - ), - ElectricalMeasurement.AttributeDefs.rms_voltage_max_ph_b: AttrConfig( - read_on_startup=False, - ), - ElectricalMeasurement.AttributeDefs.rms_voltage_max_ph_c: AttrConfig( - read_on_startup=False, - ), }, ), } @@ -1197,6 +990,35 @@ class ReportingElectricalMeasurement(BaseElectricalMeasurement): feature_priority=(PlatformFeatureGroup.EM_ACTIVE_POWER, 1), ) + _server_cluster_config = { + ElectricalMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalMeasurement.AttributeDefs.ac_power_multiplier: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.ac_power_divisor: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.active_power: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.active_power_max: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + _ELECTRICAL_MEASUREMENT_POLLING_ATTRS = [ ElectricalMeasurement.AttributeDefs.ac_frequency.name, @@ -1248,6 +1070,35 @@ class PolledElectricalMeasurement(BaseElectricalMeasurement): feature_priority=(PlatformFeatureGroup.EM_ACTIVE_POWER, 0), ) + _server_cluster_config = { + ElectricalMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalMeasurement.AttributeDefs.ac_power_multiplier: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.ac_power_divisor: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.active_power: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.active_power_max: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + async def async_update(self) -> None: """Poll the full EM attribute list so sibling EM entities update too.""" self.debug("polling current state") @@ -1304,6 +1155,35 @@ class ElectricalMeasurementActivePowerPhB(BaseElectricalMeasurement): server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) + _server_cluster_config = { + ElectricalMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalMeasurement.AttributeDefs.ac_power_multiplier: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.ac_power_divisor: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.active_power_ph_b: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.active_power_max_ph_b: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(ElectricalMeasurement.cluster_id) class ElectricalMeasurementActivePowerPhC(BaseElectricalMeasurement): @@ -1323,6 +1203,35 @@ class ElectricalMeasurementActivePowerPhC(BaseElectricalMeasurement): server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) + _server_cluster_config = { + ElectricalMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalMeasurement.AttributeDefs.ac_power_multiplier: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.ac_power_divisor: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.active_power_ph_c: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.active_power_max_ph_c: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(ElectricalMeasurement.cluster_id) class ElectricalMeasurementTotalActivePower(BaseElectricalMeasurement): @@ -1342,6 +1251,35 @@ class ElectricalMeasurementTotalActivePower(BaseElectricalMeasurement): server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) + _server_cluster_config = { + ElectricalMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalMeasurement.AttributeDefs.ac_power_multiplier: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.ac_power_divisor: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.total_active_power: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.active_power_max: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(ElectricalMeasurement.cluster_id) class ElectricalMeasurementApparentPower(BaseElectricalMeasurement): @@ -1358,6 +1296,32 @@ class ElectricalMeasurementApparentPower(BaseElectricalMeasurement): server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) + _server_cluster_config = { + ElectricalMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalMeasurement.AttributeDefs.ac_power_multiplier: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.ac_power_divisor: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.apparent_power: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), + ), + }, + ), + } + @register_entity(ElectricalMeasurement.cluster_id) class ElectricalMeasurementRMSCurrent(BaseElectricalMeasurement): @@ -1376,6 +1340,35 @@ class ElectricalMeasurementRMSCurrent(BaseElectricalMeasurement): server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) + _server_cluster_config = { + ElectricalMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalMeasurement.AttributeDefs.ac_current_multiplier: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.ac_current_divisor: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.rms_current: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.rms_current_max: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(ElectricalMeasurement.cluster_id) class ElectricalMeasurementRMSCurrentPhB(ElectricalMeasurementRMSCurrent): @@ -1391,6 +1384,35 @@ class ElectricalMeasurementRMSCurrentPhB(ElectricalMeasurementRMSCurrent): server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) + _server_cluster_config = { + ElectricalMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalMeasurement.AttributeDefs.ac_current_multiplier: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.ac_current_divisor: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.rms_current_ph_b: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.rms_current_max_ph_b: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(ElectricalMeasurement.cluster_id) class ElectricalMeasurementRMSCurrentPhC(ElectricalMeasurementRMSCurrent): @@ -1406,6 +1428,35 @@ class ElectricalMeasurementRMSCurrentPhC(ElectricalMeasurementRMSCurrent): server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) + _server_cluster_config = { + ElectricalMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalMeasurement.AttributeDefs.ac_current_multiplier: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.ac_current_divisor: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.rms_current_ph_c: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.rms_current_max_ph_c: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(ElectricalMeasurement.cluster_id) class ElectricalMeasurementRMSVoltage(BaseElectricalMeasurement): @@ -1423,6 +1474,35 @@ class ElectricalMeasurementRMSVoltage(BaseElectricalMeasurement): server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) + _server_cluster_config = { + ElectricalMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalMeasurement.AttributeDefs.ac_voltage_multiplier: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.ac_voltage_divisor: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.rms_voltage: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.rms_voltage_max: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(ElectricalMeasurement.cluster_id) class ElectricalMeasurementRMSVoltagePhB(ElectricalMeasurementRMSVoltage): @@ -1438,6 +1518,35 @@ class ElectricalMeasurementRMSVoltagePhB(ElectricalMeasurementRMSVoltage): server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) + _server_cluster_config = { + ElectricalMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalMeasurement.AttributeDefs.ac_voltage_multiplier: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.ac_voltage_divisor: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.rms_voltage_ph_b: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.rms_voltage_max_ph_b: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(ElectricalMeasurement.cluster_id) class ElectricalMeasurementRMSVoltagePhC(ElectricalMeasurementRMSVoltage): @@ -1453,6 +1562,35 @@ class ElectricalMeasurementRMSVoltagePhC(ElectricalMeasurementRMSVoltage): server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) + _server_cluster_config = { + ElectricalMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalMeasurement.AttributeDefs.ac_voltage_multiplier: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.ac_voltage_divisor: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.rms_voltage_ph_c: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.rms_voltage_max_ph_c: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(ElectricalMeasurement.cluster_id) class ElectricalMeasurementFrequency(BaseElectricalMeasurement): @@ -1471,6 +1609,29 @@ class ElectricalMeasurementFrequency(BaseElectricalMeasurement): server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) + _server_cluster_config = { + ElectricalMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalMeasurement.AttributeDefs.ac_frequency_multiplier: AttrConfig( + read_on_startup=False, + ), + ElectricalMeasurement.AttributeDefs.ac_frequency_divisor: AttrConfig( + read_on_startup=False, + ), + ElectricalMeasurement.AttributeDefs.ac_frequency: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.ac_frequency_max: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(ElectricalMeasurement.cluster_id) class ElectricalMeasurementPowerFactor(BaseElectricalMeasurement): @@ -1485,6 +1646,17 @@ class ElectricalMeasurementPowerFactor(BaseElectricalMeasurement): server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) + _server_cluster_config = { + ElectricalMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalMeasurement.AttributeDefs.power_factor: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(ElectricalMeasurement.cluster_id) class ElectricalMeasurementPowerFactorPhB(ElectricalMeasurementPowerFactor): @@ -1499,6 +1671,17 @@ class ElectricalMeasurementPowerFactorPhB(ElectricalMeasurementPowerFactor): server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) + _server_cluster_config = { + ElectricalMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalMeasurement.AttributeDefs.power_factor_ph_b: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(ElectricalMeasurement.cluster_id) class ElectricalMeasurementPowerFactorPhC(ElectricalMeasurementPowerFactor): @@ -1513,6 +1696,17 @@ class ElectricalMeasurementPowerFactorPhC(ElectricalMeasurementPowerFactor): server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) + _server_cluster_config = { + ElectricalMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalMeasurement.AttributeDefs.power_factor_ph_c: AttrConfig( + read_on_startup=False, + ), + }, + ), + } + @register_entity(ElectricalMeasurement.cluster_id) class ElectricalMeasurementDCVoltage(BaseElectricalMeasurement): @@ -1531,6 +1725,32 @@ class ElectricalMeasurementDCVoltage(BaseElectricalMeasurement): server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) + _server_cluster_config = { + ElectricalMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalMeasurement.AttributeDefs.dc_voltage_multiplier: AttrConfig( + read_on_startup=False, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.dc_voltage_divisor: AttrConfig( + read_on_startup=False, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.dc_voltage: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), + ), + }, + ), + } + @register_entity(ElectricalMeasurement.cluster_id) class ElectricalMeasurementDCCurrent(BaseElectricalMeasurement): @@ -1549,6 +1769,32 @@ class ElectricalMeasurementDCCurrent(BaseElectricalMeasurement): server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) + _server_cluster_config = { + ElectricalMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalMeasurement.AttributeDefs.dc_current_multiplier: AttrConfig( + read_on_startup=False, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.dc_current_divisor: AttrConfig( + read_on_startup=False, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.dc_current: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), + ), + }, + ), + } + @register_entity(ElectricalMeasurement.cluster_id) class ElectricalMeasurementDCPower(BaseElectricalMeasurement): @@ -1567,6 +1813,32 @@ class ElectricalMeasurementDCPower(BaseElectricalMeasurement): server_clusters=frozenset({ElectricalMeasurement.cluster_id}), ) + _server_cluster_config = { + ElectricalMeasurement.cluster_id: ClusterConfig( + bind=True, + attributes={ + ElectricalMeasurement.AttributeDefs.dc_power_multiplier: AttrConfig( + read_on_startup=False, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.dc_power_divisor: AttrConfig( + read_on_startup=False, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.dc_power: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=5, max_interval=900, reportable_change=1 + ), + ), + }, + ), + } + @register_entity(RelativeHumidity.cluster_id) class Humidity(Sensor): From 9e5f9a2cb4ae79176ed327abe06f7d5226fe6e98 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Mon, 18 May 2026 17:09:25 -0400 Subject: [PATCH 46/85] WIP: Propagate `measurement_type` as well... --- zha/application/platforms/sensor/__init__.py | 94 ++++++++++++-------- 1 file changed, 59 insertions(+), 35 deletions(-) diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 86aea65ce..929f6a260 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -871,29 +871,6 @@ class BaseElectricalMeasurement(PollableSensor): _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT _cluster_id = ElectricalMeasurement.cluster_id - _server_cluster_config = { - ElectricalMeasurement.cluster_id: ClusterConfig( - bind=True, - attributes={ - ElectricalMeasurement.AttributeDefs.power_multiplier: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.power_divisor: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( - read_on_startup=False, - ), - }, - ), - } - def __init__( self, endpoint: Endpoint, @@ -945,13 +922,7 @@ def _multiplier(self) -> int | float | None: if not self._multiplier_attribute_name: return super()._multiplier - return ( - self._cluster.get(self._multiplier_attribute_name) - or self._cluster.get( - ElectricalMeasurement.AttributeDefs.power_multiplier.name - ) - or 1 - ) + return self._cluster.get(self._multiplier_attribute_name) or 1 @_multiplier.setter def _multiplier(self, value: int | float | None) -> None: @@ -962,11 +933,7 @@ def _divisor(self) -> int | float | None: if not self._divisor_attribute_name: return super()._divisor - return ( - self._cluster.get(self._divisor_attribute_name) - or self._cluster.get(ElectricalMeasurement.AttributeDefs.power_divisor.name) - or 1 - ) + return self._cluster.get(self._divisor_attribute_name) or 1 @_divisor.setter def _divisor(self, value: int | float | None) -> None: @@ -994,6 +961,9 @@ class ReportingElectricalMeasurement(BaseElectricalMeasurement): ElectricalMeasurement.cluster_id: ClusterConfig( bind=True, attributes={ + ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( + read_on_startup=False, + ), ElectricalMeasurement.AttributeDefs.ac_power_multiplier: AttrConfig( read_on_startup=True, reporting=ReportingConfig( @@ -1074,6 +1044,9 @@ class PolledElectricalMeasurement(BaseElectricalMeasurement): ElectricalMeasurement.cluster_id: ClusterConfig( bind=True, attributes={ + ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( + read_on_startup=False, + ), ElectricalMeasurement.AttributeDefs.ac_power_multiplier: AttrConfig( read_on_startup=True, reporting=ReportingConfig( @@ -1159,6 +1132,9 @@ class ElectricalMeasurementActivePowerPhB(BaseElectricalMeasurement): ElectricalMeasurement.cluster_id: ClusterConfig( bind=True, attributes={ + ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( + read_on_startup=False, + ), ElectricalMeasurement.AttributeDefs.ac_power_multiplier: AttrConfig( read_on_startup=True, reporting=ReportingConfig( @@ -1207,6 +1183,9 @@ class ElectricalMeasurementActivePowerPhC(BaseElectricalMeasurement): ElectricalMeasurement.cluster_id: ClusterConfig( bind=True, attributes={ + ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( + read_on_startup=False, + ), ElectricalMeasurement.AttributeDefs.ac_power_multiplier: AttrConfig( read_on_startup=True, reporting=ReportingConfig( @@ -1255,6 +1234,9 @@ class ElectricalMeasurementTotalActivePower(BaseElectricalMeasurement): ElectricalMeasurement.cluster_id: ClusterConfig( bind=True, attributes={ + ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( + read_on_startup=False, + ), ElectricalMeasurement.AttributeDefs.ac_power_multiplier: AttrConfig( read_on_startup=True, reporting=ReportingConfig( @@ -1300,6 +1282,9 @@ class ElectricalMeasurementApparentPower(BaseElectricalMeasurement): ElectricalMeasurement.cluster_id: ClusterConfig( bind=True, attributes={ + ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( + read_on_startup=False, + ), ElectricalMeasurement.AttributeDefs.ac_power_multiplier: AttrConfig( read_on_startup=True, reporting=ReportingConfig( @@ -1344,6 +1329,9 @@ class ElectricalMeasurementRMSCurrent(BaseElectricalMeasurement): ElectricalMeasurement.cluster_id: ClusterConfig( bind=True, attributes={ + ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( + read_on_startup=False, + ), ElectricalMeasurement.AttributeDefs.ac_current_multiplier: AttrConfig( read_on_startup=True, reporting=ReportingConfig( @@ -1388,6 +1376,9 @@ class ElectricalMeasurementRMSCurrentPhB(ElectricalMeasurementRMSCurrent): ElectricalMeasurement.cluster_id: ClusterConfig( bind=True, attributes={ + ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( + read_on_startup=False, + ), ElectricalMeasurement.AttributeDefs.ac_current_multiplier: AttrConfig( read_on_startup=True, reporting=ReportingConfig( @@ -1432,6 +1423,9 @@ class ElectricalMeasurementRMSCurrentPhC(ElectricalMeasurementRMSCurrent): ElectricalMeasurement.cluster_id: ClusterConfig( bind=True, attributes={ + ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( + read_on_startup=False, + ), ElectricalMeasurement.AttributeDefs.ac_current_multiplier: AttrConfig( read_on_startup=True, reporting=ReportingConfig( @@ -1478,6 +1472,9 @@ class ElectricalMeasurementRMSVoltage(BaseElectricalMeasurement): ElectricalMeasurement.cluster_id: ClusterConfig( bind=True, attributes={ + ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( + read_on_startup=False, + ), ElectricalMeasurement.AttributeDefs.ac_voltage_multiplier: AttrConfig( read_on_startup=True, reporting=ReportingConfig( @@ -1522,6 +1519,9 @@ class ElectricalMeasurementRMSVoltagePhB(ElectricalMeasurementRMSVoltage): ElectricalMeasurement.cluster_id: ClusterConfig( bind=True, attributes={ + ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( + read_on_startup=False, + ), ElectricalMeasurement.AttributeDefs.ac_voltage_multiplier: AttrConfig( read_on_startup=True, reporting=ReportingConfig( @@ -1566,6 +1566,9 @@ class ElectricalMeasurementRMSVoltagePhC(ElectricalMeasurementRMSVoltage): ElectricalMeasurement.cluster_id: ClusterConfig( bind=True, attributes={ + ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( + read_on_startup=False, + ), ElectricalMeasurement.AttributeDefs.ac_voltage_multiplier: AttrConfig( read_on_startup=True, reporting=ReportingConfig( @@ -1613,6 +1616,9 @@ class ElectricalMeasurementFrequency(BaseElectricalMeasurement): ElectricalMeasurement.cluster_id: ClusterConfig( bind=True, attributes={ + ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( + read_on_startup=False, + ), ElectricalMeasurement.AttributeDefs.ac_frequency_multiplier: AttrConfig( read_on_startup=False, ), @@ -1650,6 +1656,9 @@ class ElectricalMeasurementPowerFactor(BaseElectricalMeasurement): ElectricalMeasurement.cluster_id: ClusterConfig( bind=True, attributes={ + ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( + read_on_startup=False, + ), ElectricalMeasurement.AttributeDefs.power_factor: AttrConfig( read_on_startup=False, ), @@ -1675,6 +1684,9 @@ class ElectricalMeasurementPowerFactorPhB(ElectricalMeasurementPowerFactor): ElectricalMeasurement.cluster_id: ClusterConfig( bind=True, attributes={ + ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( + read_on_startup=False, + ), ElectricalMeasurement.AttributeDefs.power_factor_ph_b: AttrConfig( read_on_startup=False, ), @@ -1700,6 +1712,9 @@ class ElectricalMeasurementPowerFactorPhC(ElectricalMeasurementPowerFactor): ElectricalMeasurement.cluster_id: ClusterConfig( bind=True, attributes={ + ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( + read_on_startup=False, + ), ElectricalMeasurement.AttributeDefs.power_factor_ph_c: AttrConfig( read_on_startup=False, ), @@ -1729,6 +1744,9 @@ class ElectricalMeasurementDCVoltage(BaseElectricalMeasurement): ElectricalMeasurement.cluster_id: ClusterConfig( bind=True, attributes={ + ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( + read_on_startup=False, + ), ElectricalMeasurement.AttributeDefs.dc_voltage_multiplier: AttrConfig( read_on_startup=False, reporting=ReportingConfig( @@ -1773,6 +1791,9 @@ class ElectricalMeasurementDCCurrent(BaseElectricalMeasurement): ElectricalMeasurement.cluster_id: ClusterConfig( bind=True, attributes={ + ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( + read_on_startup=False, + ), ElectricalMeasurement.AttributeDefs.dc_current_multiplier: AttrConfig( read_on_startup=False, reporting=ReportingConfig( @@ -1817,6 +1838,9 @@ class ElectricalMeasurementDCPower(BaseElectricalMeasurement): ElectricalMeasurement.cluster_id: ClusterConfig( bind=True, attributes={ + ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( + read_on_startup=False, + ), ElectricalMeasurement.AttributeDefs.dc_power_multiplier: AttrConfig( read_on_startup=False, reporting=ReportingConfig( From aea397e2c2f572f986c7407c4bc1db635ee22f0a Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Mon, 18 May 2026 17:17:27 -0400 Subject: [PATCH 47/85] WIP: Explicit overrides per EM entity --- zha/application/platforms/sensor/__init__.py | 41 ++++++++++++++++++-- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 929f6a260..a03a794a6 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -864,12 +864,9 @@ class BaseElectricalMeasurement(PollableSensor): """Base class for electrical measurement.""" _use_custom_polling: bool = False - _attr_suggested_display_precision = 1 _attr_max_attribute_name: str | None = None _divisor_attribute_name: str | None = None _multiplier_attribute_name: str | None = None - _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT - _cluster_id = ElectricalMeasurement.cluster_id def __init__( self, @@ -950,6 +947,9 @@ class ReportingElectricalMeasurement(BaseElectricalMeasurement): _multiplier_attribute_name = "ac_power_multiplier" _attr_device_class: SensorDeviceClass = SensorDeviceClass.POWER _attr_native_unit_of_measurement: str = UnitOfPower.WATT + _attr_suggested_display_precision = 1 + _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT + _cluster_id = ElectricalMeasurement.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({ElectricalMeasurement.cluster_id}), @@ -1034,6 +1034,9 @@ class PolledElectricalMeasurement(BaseElectricalMeasurement): _multiplier_attribute_name = "ac_power_multiplier" _attr_device_class: SensorDeviceClass = SensorDeviceClass.POWER _attr_native_unit_of_measurement: str = UnitOfPower.WATT + _attr_suggested_display_precision = 1 + _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT + _cluster_id = ElectricalMeasurement.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({ElectricalMeasurement.cluster_id}), @@ -1122,6 +1125,9 @@ class ElectricalMeasurementActivePowerPhB(BaseElectricalMeasurement): _multiplier_attribute_name = "ac_power_multiplier" _attr_device_class: SensorDeviceClass = SensorDeviceClass.POWER _attr_native_unit_of_measurement: str = UnitOfPower.WATT + _attr_suggested_display_precision = 1 + _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT + _cluster_id = ElectricalMeasurement.cluster_id _skip_creation_if_no_attr_cache = True _cluster_match = ClusterMatch( @@ -1173,6 +1179,9 @@ class ElectricalMeasurementActivePowerPhC(BaseElectricalMeasurement): _multiplier_attribute_name = "ac_power_multiplier" _attr_device_class: SensorDeviceClass = SensorDeviceClass.POWER _attr_native_unit_of_measurement: str = UnitOfPower.WATT + _attr_suggested_display_precision = 1 + _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT + _cluster_id = ElectricalMeasurement.cluster_id _skip_creation_if_no_attr_cache = True _cluster_match = ClusterMatch( @@ -1224,6 +1233,9 @@ class ElectricalMeasurementTotalActivePower(BaseElectricalMeasurement): _multiplier_attribute_name = "ac_power_multiplier" _attr_device_class: SensorDeviceClass = SensorDeviceClass.POWER _attr_native_unit_of_measurement: str = UnitOfPower.WATT + _attr_suggested_display_precision = 1 + _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT + _cluster_id = ElectricalMeasurement.cluster_id _skip_creation_if_no_attr_cache = True _cluster_match = ClusterMatch( @@ -1273,6 +1285,9 @@ class ElectricalMeasurementApparentPower(BaseElectricalMeasurement): _multiplier_attribute_name = "ac_power_multiplier" _attr_device_class: SensorDeviceClass = SensorDeviceClass.APPARENT_POWER _attr_native_unit_of_measurement = UnitOfApparentPower.VOLT_AMPERE + _attr_suggested_display_precision = 1 + _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT + _cluster_id = ElectricalMeasurement.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({ElectricalMeasurement.cluster_id}), @@ -1320,6 +1335,8 @@ class ElectricalMeasurementRMSCurrent(BaseElectricalMeasurement): _multiplier_attribute_name = "ac_current_multiplier" _attr_device_class: SensorDeviceClass = SensorDeviceClass.CURRENT _attr_native_unit_of_measurement = UnitOfElectricCurrent.AMPERE + _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT + _cluster_id = ElectricalMeasurement.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({ElectricalMeasurement.cluster_id}), @@ -1463,6 +1480,9 @@ class ElectricalMeasurementRMSVoltage(BaseElectricalMeasurement): _multiplier_attribute_name = "ac_voltage_multiplier" _attr_device_class: SensorDeviceClass = SensorDeviceClass.VOLTAGE _attr_native_unit_of_measurement = UnitOfElectricPotential.VOLT + _attr_suggested_display_precision = 1 + _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT + _cluster_id = ElectricalMeasurement.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({ElectricalMeasurement.cluster_id}), @@ -1607,6 +1627,9 @@ class ElectricalMeasurementFrequency(BaseElectricalMeasurement): _multiplier_attribute_name = "ac_frequency_multiplier" _attr_device_class: SensorDeviceClass = SensorDeviceClass.FREQUENCY _attr_native_unit_of_measurement = UnitOfFrequency.HERTZ + _attr_suggested_display_precision = 1 + _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT + _cluster_id = ElectricalMeasurement.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({ElectricalMeasurement.cluster_id}), @@ -1647,6 +1670,9 @@ class ElectricalMeasurementPowerFactor(BaseElectricalMeasurement): _unique_id_suffix = "power_factor" _attr_device_class: SensorDeviceClass = SensorDeviceClass.POWER_FACTOR _attr_native_unit_of_measurement = PERCENTAGE + _attr_suggested_display_precision = 1 + _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT + _cluster_id = ElectricalMeasurement.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({ElectricalMeasurement.cluster_id}), @@ -1734,6 +1760,9 @@ class ElectricalMeasurementDCVoltage(BaseElectricalMeasurement): _attr_native_unit_of_measurement = UnitOfElectricPotential.VOLT _divisor_attribute_name = "dc_voltage_divisor" _multiplier_attribute_name = "dc_voltage_multiplier" + _attr_suggested_display_precision = 1 + _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT + _cluster_id = ElectricalMeasurement.cluster_id _skip_creation_if_no_attr_cache = True _cluster_match = ClusterMatch( @@ -1781,6 +1810,9 @@ class ElectricalMeasurementDCCurrent(BaseElectricalMeasurement): _attr_native_unit_of_measurement = UnitOfElectricCurrent.AMPERE _divisor_attribute_name = "dc_current_divisor" _multiplier_attribute_name = "dc_current_multiplier" + _attr_suggested_display_precision = 1 + _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT + _cluster_id = ElectricalMeasurement.cluster_id _skip_creation_if_no_attr_cache = True _cluster_match = ClusterMatch( @@ -1828,6 +1860,9 @@ class ElectricalMeasurementDCPower(BaseElectricalMeasurement): _attr_native_unit_of_measurement = UnitOfPower.WATT _divisor_attribute_name = "dc_power_divisor" _multiplier_attribute_name = "dc_power_multiplier" + _attr_suggested_display_precision = 1 + _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT + _cluster_id = ElectricalMeasurement.cluster_id _skip_creation_if_no_attr_cache = True _cluster_match = ClusterMatch( From 92717fb30866977577ead44b56da072c7595eb1c Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Mon, 18 May 2026 17:29:56 -0400 Subject: [PATCH 48/85] WIP: propagate other attributes up to subclasses --- zha/application/platforms/sensor/__init__.py | 32 +++++++++++++++++--- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index a03a794a6..b7149812a 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -863,10 +863,9 @@ def state(self) -> dict[str, Any]: class BaseElectricalMeasurement(PollableSensor): """Base class for electrical measurement.""" - _use_custom_polling: bool = False - _attr_max_attribute_name: str | None = None - _divisor_attribute_name: str | None = None - _multiplier_attribute_name: str | None = None + _attr_max_attribute_name: str | None + _multiplier_attribute_name: str | None + _divisor_attribute_name: str | None def __init__( self, @@ -941,6 +940,7 @@ def _divisor(self, value: int | float | None) -> None: class ReportingElectricalMeasurement(BaseElectricalMeasurement): """Unpolled active power measurement.""" + _use_custom_polling: bool = False _attribute_name = "active_power" _attr_max_attribute_name = "active_power_max" _divisor_attribute_name = "ac_power_divisor" @@ -1024,7 +1024,11 @@ class ReportingElectricalMeasurement(BaseElectricalMeasurement): @register_entity(ElectricalMeasurement.cluster_id) class PolledElectricalMeasurement(BaseElectricalMeasurement): - """Polled active power measurement that polls all relevant EM attributes.""" + """Polled active power measurement that polls all relevant EM attributes. + + This entity consolidates attribute polling into individual requests and allows + sibling entities to avoid needing to poll. + """ _use_custom_polling: bool = True @@ -1117,6 +1121,7 @@ def enable(self) -> None: class ElectricalMeasurementActivePowerPhB(BaseElectricalMeasurement): """Active power phase B measurement.""" + _use_custom_polling: bool = False _attribute_name = "active_power_ph_b" _unique_id_suffix = "active_power_ph_b" _attr_translation_key: str = "active_power_ph_b" @@ -1171,6 +1176,7 @@ class ElectricalMeasurementActivePowerPhB(BaseElectricalMeasurement): class ElectricalMeasurementActivePowerPhC(BaseElectricalMeasurement): """Active power phase C measurement.""" + _use_custom_polling: bool = False _attribute_name = "active_power_ph_c" _unique_id_suffix = "active_power_ph_c" _attr_translation_key: str = "active_power_ph_c" @@ -1225,6 +1231,7 @@ class ElectricalMeasurementActivePowerPhC(BaseElectricalMeasurement): class ElectricalMeasurementTotalActivePower(BaseElectricalMeasurement): """Total active power measurement.""" + _use_custom_polling: bool = False _attribute_name = "total_active_power" _unique_id_suffix = "total_active_power" _attr_translation_key: str = "total_active_power" @@ -1279,8 +1286,10 @@ class ElectricalMeasurementTotalActivePower(BaseElectricalMeasurement): class ElectricalMeasurementApparentPower(BaseElectricalMeasurement): """Apparent power measurement.""" + _use_custom_polling: bool = False _attribute_name = "apparent_power" _unique_id_suffix = "apparent_power" + _attr_max_attribute_name = None _divisor_attribute_name = "ac_power_divisor" _multiplier_attribute_name = "ac_power_multiplier" _attr_device_class: SensorDeviceClass = SensorDeviceClass.APPARENT_POWER @@ -1327,6 +1336,7 @@ class ElectricalMeasurementApparentPower(BaseElectricalMeasurement): class ElectricalMeasurementRMSCurrent(BaseElectricalMeasurement): """RMS current measurement.""" + _use_custom_polling: bool = False _attr_suggested_display_precision = 2 _attribute_name = "rms_current" _unique_id_suffix = "rms_current" @@ -1473,6 +1483,7 @@ class ElectricalMeasurementRMSCurrentPhC(ElectricalMeasurementRMSCurrent): class ElectricalMeasurementRMSVoltage(BaseElectricalMeasurement): """RMS Voltage measurement.""" + _use_custom_polling: bool = False _attribute_name = "rms_voltage" _unique_id_suffix = "rms_voltage" _attr_max_attribute_name = "rms_voltage_max" @@ -1619,6 +1630,7 @@ class ElectricalMeasurementRMSVoltagePhC(ElectricalMeasurementRMSVoltage): class ElectricalMeasurementFrequency(BaseElectricalMeasurement): """Frequency measurement.""" + _use_custom_polling: bool = False _attribute_name = "ac_frequency" _unique_id_suffix = "ac_frequency" _attr_translation_key: str = "ac_frequency" @@ -1666,8 +1678,12 @@ class ElectricalMeasurementFrequency(BaseElectricalMeasurement): class ElectricalMeasurementPowerFactor(BaseElectricalMeasurement): """Power Factor measurement.""" + _use_custom_polling: bool = False _attribute_name = "power_factor" _unique_id_suffix = "power_factor" + _attr_max_attribute_name = None + _divisor_attribute_name = None + _multiplier_attribute_name = None _attr_device_class: SensorDeviceClass = SensorDeviceClass.POWER_FACTOR _attr_native_unit_of_measurement = PERCENTAGE _attr_suggested_display_precision = 1 @@ -1753,11 +1769,13 @@ class ElectricalMeasurementPowerFactorPhC(ElectricalMeasurementPowerFactor): class ElectricalMeasurementDCVoltage(BaseElectricalMeasurement): """DC Voltage measurement.""" + _use_custom_polling: bool = False _attribute_name = "dc_voltage" _unique_id_suffix = "dc_voltage" _attr_translation_key: str = "dc_voltage" _attr_device_class: SensorDeviceClass = SensorDeviceClass.VOLTAGE _attr_native_unit_of_measurement = UnitOfElectricPotential.VOLT + _attr_max_attribute_name = None _divisor_attribute_name = "dc_voltage_divisor" _multiplier_attribute_name = "dc_voltage_multiplier" _attr_suggested_display_precision = 1 @@ -1803,11 +1821,13 @@ class ElectricalMeasurementDCVoltage(BaseElectricalMeasurement): class ElectricalMeasurementDCCurrent(BaseElectricalMeasurement): """DC Current measurement.""" + _use_custom_polling: bool = False _attribute_name = "dc_current" _unique_id_suffix = "dc_current" _attr_translation_key: str = "dc_current" _attr_device_class: SensorDeviceClass = SensorDeviceClass.CURRENT _attr_native_unit_of_measurement = UnitOfElectricCurrent.AMPERE + _attr_max_attribute_name = None _divisor_attribute_name = "dc_current_divisor" _multiplier_attribute_name = "dc_current_multiplier" _attr_suggested_display_precision = 1 @@ -1853,11 +1873,13 @@ class ElectricalMeasurementDCCurrent(BaseElectricalMeasurement): class ElectricalMeasurementDCPower(BaseElectricalMeasurement): """DC Power measurement.""" + _use_custom_polling: bool = False _attribute_name = "dc_power" _unique_id_suffix = "dc_power" _attr_translation_key: str = "dc_power" _attr_device_class: SensorDeviceClass = SensorDeviceClass.POWER _attr_native_unit_of_measurement = UnitOfPower.WATT + _attr_max_attribute_name = None _divisor_attribute_name = "dc_power_divisor" _multiplier_attribute_name = "dc_power_multiplier" _attr_suggested_display_precision = 1 From ed75cc03685bea208d1acb3de7eb1c45caf36ff3 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Mon, 18 May 2026 17:46:49 -0400 Subject: [PATCH 49/85] Move polling into an opt-in mixin --- tests/test_sensor.py | 2 +- zha/application/platforms/sensor/__init__.py | 87 +++++++------------- 2 files changed, 29 insertions(+), 60 deletions(-) diff --git a/tests/test_sensor.py b/tests/test_sensor.py index b369e9c81..6cb5ba027 100644 --- a/tests/test_sensor.py +++ b/tests/test_sensor.py @@ -2204,7 +2204,7 @@ async def test_ubisys_polled_em_keeps_polling_when_disabled( ) assert isinstance(entity, sensor.UbisysPolledElectricalMeasurement) - assert entity._use_custom_polling is True + assert isinstance(entity, sensor.PollableSensorMixin) assert entity._polling_task is not None assert entity.enabled is True diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index b7149812a..5c1e20ffa 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -408,11 +408,10 @@ class TimestampSensor(Sensor): """Timestamp ZHA sensor.""" -class PollableSensor(Sensor): - """Base ZHA sensor that polls for state.""" +class PollableSensorMixin(Sensor): + """Mixin that adds custom polling to a Sensor.""" _REFRESH_INTERVAL = (30, 45) - _use_custom_polling: bool = True __polling_interval: int def __init__( @@ -430,25 +429,19 @@ def on_add(self) -> None: super().on_add() self.maybe_start_polling() - @property - def should_poll(self) -> bool: - """Return True if we need to poll for state changes.""" - return self._use_custom_polling - def maybe_start_polling(self) -> None: - """Start polling if necessary.""" - if self.should_poll: - self._polling_task = self.device.gateway.async_create_background_task( - self._refresh(), - name=f"sensor_state_poller_{self.unique_id}_{self.__class__.__name__}", - eager_start=True, - untracked=True, - ) - self._tracked_tasks.append(self._polling_task) - self.debug( - "started polling with refresh interval of %s", - getattr(self, "__polling_interval"), - ) + """Start polling.""" + self._polling_task = self.device.gateway.async_create_background_task( + self._refresh(), + name=f"sensor_state_poller_{self.unique_id}_{self.__class__.__name__}", + eager_start=True, + untracked=True, + ) + self._tracked_tasks.append(self._polling_task) + self.debug( + "started polling with refresh interval of %s", + getattr(self, "__polling_interval"), + ) def enable(self) -> None: """Enable the entity.""" @@ -860,7 +853,7 @@ def state(self) -> dict[str, Any]: return response -class BaseElectricalMeasurement(PollableSensor): +class BaseElectricalMeasurement(Sensor): """Base class for electrical measurement.""" _attr_max_attribute_name: str | None @@ -940,7 +933,6 @@ def _divisor(self, value: int | float | None) -> None: class ReportingElectricalMeasurement(BaseElectricalMeasurement): """Unpolled active power measurement.""" - _use_custom_polling: bool = False _attribute_name = "active_power" _attr_max_attribute_name = "active_power_max" _divisor_attribute_name = "ac_power_divisor" @@ -1023,15 +1015,13 @@ class ReportingElectricalMeasurement(BaseElectricalMeasurement): @register_entity(ElectricalMeasurement.cluster_id) -class PolledElectricalMeasurement(BaseElectricalMeasurement): +class PolledElectricalMeasurement(PollableSensorMixin, BaseElectricalMeasurement): """Polled active power measurement that polls all relevant EM attributes. This entity consolidates attribute polling into individual requests and allows sibling entities to avoid needing to poll. """ - _use_custom_polling: bool = True - _attribute_name = "active_power" _attr_max_attribute_name = "active_power_max" _divisor_attribute_name = "ac_power_divisor" @@ -1121,7 +1111,6 @@ def enable(self) -> None: class ElectricalMeasurementActivePowerPhB(BaseElectricalMeasurement): """Active power phase B measurement.""" - _use_custom_polling: bool = False _attribute_name = "active_power_ph_b" _unique_id_suffix = "active_power_ph_b" _attr_translation_key: str = "active_power_ph_b" @@ -1176,7 +1165,6 @@ class ElectricalMeasurementActivePowerPhB(BaseElectricalMeasurement): class ElectricalMeasurementActivePowerPhC(BaseElectricalMeasurement): """Active power phase C measurement.""" - _use_custom_polling: bool = False _attribute_name = "active_power_ph_c" _unique_id_suffix = "active_power_ph_c" _attr_translation_key: str = "active_power_ph_c" @@ -1231,7 +1219,6 @@ class ElectricalMeasurementActivePowerPhC(BaseElectricalMeasurement): class ElectricalMeasurementTotalActivePower(BaseElectricalMeasurement): """Total active power measurement.""" - _use_custom_polling: bool = False _attribute_name = "total_active_power" _unique_id_suffix = "total_active_power" _attr_translation_key: str = "total_active_power" @@ -1286,7 +1273,6 @@ class ElectricalMeasurementTotalActivePower(BaseElectricalMeasurement): class ElectricalMeasurementApparentPower(BaseElectricalMeasurement): """Apparent power measurement.""" - _use_custom_polling: bool = False _attribute_name = "apparent_power" _unique_id_suffix = "apparent_power" _attr_max_attribute_name = None @@ -1336,7 +1322,6 @@ class ElectricalMeasurementApparentPower(BaseElectricalMeasurement): class ElectricalMeasurementRMSCurrent(BaseElectricalMeasurement): """RMS current measurement.""" - _use_custom_polling: bool = False _attr_suggested_display_precision = 2 _attribute_name = "rms_current" _unique_id_suffix = "rms_current" @@ -1483,7 +1468,6 @@ class ElectricalMeasurementRMSCurrentPhC(ElectricalMeasurementRMSCurrent): class ElectricalMeasurementRMSVoltage(BaseElectricalMeasurement): """RMS Voltage measurement.""" - _use_custom_polling: bool = False _attribute_name = "rms_voltage" _unique_id_suffix = "rms_voltage" _attr_max_attribute_name = "rms_voltage_max" @@ -1630,7 +1614,6 @@ class ElectricalMeasurementRMSVoltagePhC(ElectricalMeasurementRMSVoltage): class ElectricalMeasurementFrequency(BaseElectricalMeasurement): """Frequency measurement.""" - _use_custom_polling: bool = False _attribute_name = "ac_frequency" _unique_id_suffix = "ac_frequency" _attr_translation_key: str = "ac_frequency" @@ -1678,7 +1661,6 @@ class ElectricalMeasurementFrequency(BaseElectricalMeasurement): class ElectricalMeasurementPowerFactor(BaseElectricalMeasurement): """Power Factor measurement.""" - _use_custom_polling: bool = False _attribute_name = "power_factor" _unique_id_suffix = "power_factor" _attr_max_attribute_name = None @@ -1769,7 +1751,6 @@ class ElectricalMeasurementPowerFactorPhC(ElectricalMeasurementPowerFactor): class ElectricalMeasurementDCVoltage(BaseElectricalMeasurement): """DC Voltage measurement.""" - _use_custom_polling: bool = False _attribute_name = "dc_voltage" _unique_id_suffix = "dc_voltage" _attr_translation_key: str = "dc_voltage" @@ -1821,7 +1802,6 @@ class ElectricalMeasurementDCVoltage(BaseElectricalMeasurement): class ElectricalMeasurementDCCurrent(BaseElectricalMeasurement): """DC Current measurement.""" - _use_custom_polling: bool = False _attribute_name = "dc_current" _unique_id_suffix = "dc_current" _attr_translation_key: str = "dc_current" @@ -1873,7 +1853,6 @@ class ElectricalMeasurementDCCurrent(BaseElectricalMeasurement): class ElectricalMeasurementDCPower(BaseElectricalMeasurement): """DC Power measurement.""" - _use_custom_polling: bool = False _attribute_name = "dc_power" _unique_id_suffix = "dc_power" _attr_translation_key: str = "dc_power" @@ -2097,11 +2076,10 @@ class SmartEnergyMeteringEntityDescription: @register_entity(Metering.cluster_id) -class SmartEnergyMetering(PollableSensor): +class SmartEnergyMetering(Sensor): """Metering sensor.""" entity_description: SmartEnergyMeteringEntityDescription - _use_custom_polling: bool = False _attr_suggested_display_precision = 1 _attribute_name = "instantaneous_demand" _attr_translation_key: str = "instantaneous_demand" @@ -2458,11 +2436,9 @@ def formatter(self, value: int) -> int | float: @register_entity(Metering.cluster_id) -class PolledSmartEnergySummation(SmartEnergySummation): +class PolledSmartEnergySummation(PollableSensorMixin, SmartEnergySummation): """Polled Smart Energy Metering summation sensor.""" - _use_custom_polling: bool = True - _cluster_match = ClusterMatch( server_clusters=frozenset({Metering.cluster_id}), models=frozenset({"TS011F", "ZLinky_TIC", "TICMeter"}), @@ -2495,10 +2471,9 @@ class ExposedFeaturePolledSmartEnergySummation(PolledSmartEnergySummation): @register_entity(Metering.cluster_id) -class Tier1SmartEnergySummation(PolledSmartEnergySummation): +class Tier1SmartEnergySummation(SmartEnergySummation): """Tier 1 Smart Energy Metering summation sensor.""" - _use_custom_polling = False # Poll indirectly by PolledSmartEnergySummation _attribute_name = "current_tier1_summ_delivered" _unique_id_suffix = "tier1_summation_delivered" _attr_translation_key: str = "tier1_summation_delivered" @@ -2511,10 +2486,9 @@ class Tier1SmartEnergySummation(PolledSmartEnergySummation): @register_entity(Metering.cluster_id) -class Tier2SmartEnergySummation(PolledSmartEnergySummation): +class Tier2SmartEnergySummation(SmartEnergySummation): """Tier 2 Smart Energy Metering summation sensor.""" - _use_custom_polling = False # Poll indirectly by PolledSmartEnergySummation _attribute_name = "current_tier2_summ_delivered" _unique_id_suffix = "tier2_summation_delivered" _attr_translation_key: str = "tier2_summation_delivered" @@ -2527,10 +2501,9 @@ class Tier2SmartEnergySummation(PolledSmartEnergySummation): @register_entity(Metering.cluster_id) -class Tier3SmartEnergySummation(PolledSmartEnergySummation): +class Tier3SmartEnergySummation(SmartEnergySummation): """Tier 3 Smart Energy Metering summation sensor.""" - _use_custom_polling = False # Poll indirectly by PolledSmartEnergySummation _attribute_name = "current_tier3_summ_delivered" _unique_id_suffix = "tier3_summation_delivered" _attr_translation_key: str = "tier3_summation_delivered" @@ -2543,10 +2516,9 @@ class Tier3SmartEnergySummation(PolledSmartEnergySummation): @register_entity(Metering.cluster_id) -class Tier4SmartEnergySummation(PolledSmartEnergySummation): +class Tier4SmartEnergySummation(SmartEnergySummation): """Tier 4 Smart Energy Metering summation sensor.""" - _use_custom_polling = False # Poll indirectly by PolledSmartEnergySummation _attribute_name = "current_tier4_summ_delivered" _unique_id_suffix = "tier4_summation_delivered" _attr_translation_key: str = "tier4_summation_delivered" @@ -2559,10 +2531,9 @@ class Tier4SmartEnergySummation(PolledSmartEnergySummation): @register_entity(Metering.cluster_id) -class Tier5SmartEnergySummation(PolledSmartEnergySummation): +class Tier5SmartEnergySummation(SmartEnergySummation): """Tier 5 Smart Energy Metering summation sensor.""" - _use_custom_polling = False # Poll indirectly by PolledSmartEnergySummation _attribute_name = "current_tier5_summ_delivered" _unique_id_suffix = "tier5_summation_delivered" _attr_translation_key: str = "tier5_summation_delivered" @@ -2575,10 +2546,9 @@ class Tier5SmartEnergySummation(PolledSmartEnergySummation): @register_entity(Metering.cluster_id) -class Tier6SmartEnergySummation(PolledSmartEnergySummation): +class Tier6SmartEnergySummation(SmartEnergySummation): """Tier 6 Smart Energy Metering summation sensor.""" - _use_custom_polling = False # Poll indirectly by PolledSmartEnergySummation _attribute_name = "current_tier6_summ_delivered" _unique_id_suffix = "tier6_summation_delivered" _attr_translation_key: str = "tier6_summation_delivered" @@ -2591,10 +2561,9 @@ class Tier6SmartEnergySummation(PolledSmartEnergySummation): @register_entity(Metering.cluster_id) -class SmartEnergySummationReceived(PolledSmartEnergySummation): +class SmartEnergySummationReceived(SmartEnergySummation): """Smart Energy Metering summation received sensor.""" - _use_custom_polling = False # Poll indirectly by PolledSmartEnergySummation _attribute_name = "current_summ_received" _unique_id_suffix = "summation_received" _attr_translation_key: str = "summation_received" @@ -2615,11 +2584,11 @@ class SmartEnergySummationReceived(PolledSmartEnergySummation): @register_entity(Metering.cluster_id) -class ExposedFeaturePolledSmartEnergySummationReceived(SmartEnergySummationReceived): +class ExposedFeaturePolledSmartEnergySummationReceived( + SmartEnergySummationReceived, PolledSmartEnergySummation +): """Polled Smart Energy Metering summation received sensor via exposed feature.""" - _use_custom_polling = True - _cluster_match = ClusterMatch( server_clusters=frozenset({Metering.cluster_id}), exposed_features=frozenset({SE_POLL_SUMMATION}), From 5d105f5bddf7f52540e30b275b92830bfc25c9d2 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Mon, 18 May 2026 18:16:42 -0400 Subject: [PATCH 50/85] Use a virtual entity to drive EM polling --- zha/application/platforms/sensor/__init__.py | 127 ++++++++----------- 1 file changed, 54 insertions(+), 73 deletions(-) diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 5c1e20ffa..d9a69a36a 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -108,6 +108,7 @@ create_number_formatter, resolution_to_decimal_precision, ) +from zha.application.platforms.virtual import VirtualEntity from zha.decorators import periodic from zha.units import ( CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, @@ -982,45 +983,62 @@ class ReportingElectricalMeasurement(BaseElectricalMeasurement): } -_ELECTRICAL_MEASUREMENT_POLLING_ATTRS = [ - ElectricalMeasurement.AttributeDefs.ac_frequency.name, - ElectricalMeasurement.AttributeDefs.ac_frequency_max.name, - ElectricalMeasurement.AttributeDefs.active_power.name, - ElectricalMeasurement.AttributeDefs.active_power_ph_b.name, - ElectricalMeasurement.AttributeDefs.active_power_ph_c.name, - ElectricalMeasurement.AttributeDefs.active_power_max.name, - ElectricalMeasurement.AttributeDefs.active_power_max_ph_b.name, - ElectricalMeasurement.AttributeDefs.active_power_max_ph_c.name, - ElectricalMeasurement.AttributeDefs.total_active_power.name, - ElectricalMeasurement.AttributeDefs.apparent_power.name, - ElectricalMeasurement.AttributeDefs.power_factor.name, - ElectricalMeasurement.AttributeDefs.power_factor_ph_b.name, - ElectricalMeasurement.AttributeDefs.power_factor_ph_c.name, - ElectricalMeasurement.AttributeDefs.rms_current.name, - ElectricalMeasurement.AttributeDefs.rms_current_ph_b.name, - ElectricalMeasurement.AttributeDefs.rms_current_ph_c.name, - ElectricalMeasurement.AttributeDefs.rms_current_max.name, - ElectricalMeasurement.AttributeDefs.rms_current_max_ph_b.name, - ElectricalMeasurement.AttributeDefs.rms_current_max_ph_c.name, - ElectricalMeasurement.AttributeDefs.rms_voltage.name, - ElectricalMeasurement.AttributeDefs.rms_voltage_ph_b.name, - ElectricalMeasurement.AttributeDefs.rms_voltage_ph_c.name, - ElectricalMeasurement.AttributeDefs.rms_voltage_max.name, - ElectricalMeasurement.AttributeDefs.rms_voltage_max_ph_b.name, - ElectricalMeasurement.AttributeDefs.rms_voltage_max_ph_c.name, - ElectricalMeasurement.AttributeDefs.dc_voltage.name, - ElectricalMeasurement.AttributeDefs.dc_current.name, - ElectricalMeasurement.AttributeDefs.dc_power.name, -] +@register_entity(ElectricalMeasurement.cluster_id) +class ElectricalMeasurementPoller(VirtualEntity): + """Polls the EM cluster on behalf of sibling entities that need updates.""" + _REFRESH_INTERVAL = (30, 45) + _unique_id_suffix = "em_poller" + _cluster_id = ElectricalMeasurement.cluster_id + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), + ) -@register_entity(ElectricalMeasurement.cluster_id) -class PolledElectricalMeasurement(PollableSensorMixin, BaseElectricalMeasurement): - """Polled active power measurement that polls all relevant EM attributes. + def on_add(self) -> None: + """Start the periodic polling task.""" + super().on_add() + task = self.device.gateway.async_create_background_task( + self._refresh(), + name=f"em_poller_{self.unique_id}", + eager_start=True, + untracked=True, + ) + self._tracked_tasks.append(task) - This entity consolidates attribute polling into individual requests and allows - sibling entities to avoid needing to poll. - """ + @periodic(_REFRESH_INTERVAL) + async def _refresh(self) -> None: + if not (self.device.available and self.device.gateway.config.allow_polling): + return + await self.async_update() + + async def async_update(self) -> None: + """Poll the union of attrs read by enabled sibling EM entities.""" + attrs: set[str] = set() + for entity in self.device.platform_entities.values(): + if entity is self or not isinstance(entity, ZCLClusterEntity): + continue + if entity._cluster is not self._cluster: + continue + if not entity.enabled: + continue + cfg = entity._server_cluster_config.get(self._cluster_id) + if cfg is None: + continue + for attr_def in cfg.attributes: + name = attr_def.name + if not self._cluster.is_attribute_unsupported(name): + attrs.add(name) + if not attrs: + return + self.debug("polling %d attrs: %s", len(attrs), sorted(attrs)) + await safe_read( + self._cluster, sorted(attrs), allow_cache=False, only_cache=False + ) + + +@register_entity(ElectricalMeasurement.cluster_id) +class PolledElectricalMeasurement(BaseElectricalMeasurement): + """Default active power measurement.""" _attribute_name = "active_power" _attr_max_attribute_name = "active_power_max" @@ -1069,43 +1087,6 @@ class PolledElectricalMeasurement(PollableSensorMixin, BaseElectricalMeasurement ), } - async def async_update(self) -> None: - """Poll the full EM attribute list so sibling EM entities update too.""" - self.debug("polling current state") - attrs = [ - attr - for attr in _ELECTRICAL_MEASUREMENT_POLLING_ATTRS - if not self._cluster.is_attribute_unsupported(attr) - ] - if not attrs: - return - await safe_read(self._cluster, attrs, allow_cache=False, only_cache=False) - self.maybe_emit_state_changed_event() - - -@register_entity(ElectricalMeasurement.cluster_id) -class UbisysPolledElectricalMeasurement(PolledElectricalMeasurement): - """Polled active power for ubisys that keeps polling even when disabled. - - ubisys devices disable the active power entity by default via a quirk, but - this entity still needs to poll the EM cluster so that other EM entities - (voltage, current, power factor) receive updated values. - """ - - _cluster_match = ClusterMatch( - server_clusters=frozenset({ElectricalMeasurement.cluster_id}), - manufacturers=frozenset({"ubisys"}), - feature_priority=(PlatformFeatureGroup.EM_ACTIVE_POWER, 1), - ) - - def disable(self) -> None: - """Disable the entity but keep polling for EM cluster updates.""" - PlatformEntity.disable(self) - - def enable(self) -> None: - """Enable the entity without starting a duplicate polling task.""" - PlatformEntity.enable(self) - @register_entity(ElectricalMeasurement.cluster_id) class ElectricalMeasurementActivePowerPhB(BaseElectricalMeasurement): From 589a3eefdfd47b03c3817f41c279527cd5e009d4 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Mon, 18 May 2026 18:29:37 -0400 Subject: [PATCH 51/85] Migrate EM as well --- zha/application/platforms/sensor/__init__.py | 214 ++++--------------- 1 file changed, 36 insertions(+), 178 deletions(-) diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index d9a69a36a..492717a3a 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -3,7 +3,6 @@ from __future__ import annotations from abc import ABC, abstractmethod -from asyncio import Task import contextlib from dataclasses import dataclass from datetime import date, datetime, timedelta @@ -16,7 +15,7 @@ from typing import TYPE_CHECKING, Any, cast from zhaquirks.danfoss import thermostat as danfoss_thermostat -from zhaquirks.quirk_ids import DANFOSS_ALLY_THERMOSTAT, SE_POLL_SUMMATION +from zhaquirks.quirk_ids import DANFOSS_ALLY_THERMOSTAT from zigpy import types from zigpy.quirks.v2 import ZCLEnumMetadata, ZCLSensorMetadata from zigpy.state import Counter, State @@ -409,69 +408,6 @@ class TimestampSensor(Sensor): """Timestamp ZHA sensor.""" -class PollableSensorMixin(Sensor): - """Mixin that adds custom polling to a Sensor.""" - - _REFRESH_INTERVAL = (30, 45) - __polling_interval: int - - def __init__( - self, - endpoint: Endpoint, - device: Device, - **kwargs: Any, - ) -> None: - """Init this sensor.""" - super().__init__(endpoint=endpoint, device=device, **kwargs) - self._polling_task: Task | None = None - - def on_add(self) -> None: - """Run when entity is added.""" - super().on_add() - self.maybe_start_polling() - - def maybe_start_polling(self) -> None: - """Start polling.""" - self._polling_task = self.device.gateway.async_create_background_task( - self._refresh(), - name=f"sensor_state_poller_{self.unique_id}_{self.__class__.__name__}", - eager_start=True, - untracked=True, - ) - self._tracked_tasks.append(self._polling_task) - self.debug( - "started polling with refresh interval of %s", - getattr(self, "__polling_interval"), - ) - - def enable(self) -> None: - """Enable the entity.""" - super().enable() - self.maybe_start_polling() - - def disable(self) -> None: - """Disable the entity.""" - super().disable() - if self._polling_task: - self._tracked_tasks.remove(self._polling_task) - self._polling_task.cancel() - self._polling_task = None - - @periodic(_REFRESH_INTERVAL) - async def _refresh(self): - """Call async_update at a constrained random interval.""" - if self.device.available and self.device.gateway.config.allow_polling: - self.debug("polling for updated state") - await self.async_update() - self.maybe_emit_state_changed_event() - else: - self.debug( - "skipping polling for updated state, available: %s, allow polled requests: %s", - self.device.available, - self.device.gateway.config.allow_polling, - ) - - class DeviceCounterSensor(BaseEntity): """Device counter sensor.""" @@ -930,76 +866,23 @@ def _divisor(self, value: int | float | None) -> None: raise AttributeError("Cannot set divisor directly") -@register_entity(ElectricalMeasurement.cluster_id) -class ReportingElectricalMeasurement(BaseElectricalMeasurement): - """Unpolled active power measurement.""" - - _attribute_name = "active_power" - _attr_max_attribute_name = "active_power_max" - _divisor_attribute_name = "ac_power_divisor" - _multiplier_attribute_name = "ac_power_multiplier" - _attr_device_class: SensorDeviceClass = SensorDeviceClass.POWER - _attr_native_unit_of_measurement: str = UnitOfPower.WATT - _attr_suggested_display_precision = 1 - _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT - _cluster_id = ElectricalMeasurement.cluster_id - - _cluster_match = ClusterMatch( - server_clusters=frozenset({ElectricalMeasurement.cluster_id}), - models=frozenset({"VZM31-SN", "SP 234", "outletv4", "INSPELNING Smart plug"}), - feature_priority=(PlatformFeatureGroup.EM_ACTIVE_POWER, 1), - ) +class AggregatedClusterPoller(VirtualEntity): + """Polls a cluster on behalf of sibling entities that need updates. - _server_cluster_config = { - ElectricalMeasurement.cluster_id: ClusterConfig( - bind=True, - attributes={ - ElectricalMeasurement.AttributeDefs.measurement_type: AttrConfig( - read_on_startup=False, - ), - ElectricalMeasurement.AttributeDefs.ac_power_multiplier: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.ac_power_divisor: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.active_power: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=5, max_interval=900, reportable_change=1 - ), - ), - ElectricalMeasurement.AttributeDefs.active_power_max: AttrConfig( - read_on_startup=False, - ), - }, - ), - } - - -@register_entity(ElectricalMeasurement.cluster_id) -class ElectricalMeasurementPoller(VirtualEntity): - """Polls the EM cluster on behalf of sibling entities that need updates.""" + Builds the polling list dynamically from the cluster configs of enabled + sibling entities sharing this cluster — so disabling an entity in HA + drops its attributes from the poll on the next cycle. + """ + _cluster_id: int _REFRESH_INTERVAL = (30, 45) - _unique_id_suffix = "em_poller" - _cluster_id = ElectricalMeasurement.cluster_id - _cluster_match = ClusterMatch( - server_clusters=frozenset({ElectricalMeasurement.cluster_id}), - ) def on_add(self) -> None: """Start the periodic polling task.""" super().on_add() task = self.device.gateway.async_create_background_task( self._refresh(), - name=f"em_poller_{self.unique_id}", + name=f"cluster_poller_{self.unique_id}", eager_start=True, untracked=True, ) @@ -1012,7 +895,7 @@ async def _refresh(self) -> None: await self.async_update() async def async_update(self) -> None: - """Poll the union of attrs read by enabled sibling EM entities.""" + """Poll the union of attrs read by enabled sibling entities.""" attrs: set[str] = set() for entity in self.device.platform_entities.values(): if entity is self or not isinstance(entity, ZCLClusterEntity): @@ -1028,8 +911,10 @@ async def async_update(self) -> None: name = attr_def.name if not self._cluster.is_attribute_unsupported(name): attrs.add(name) + if not attrs: return + self.debug("polling %d attrs: %s", len(attrs), sorted(attrs)) await safe_read( self._cluster, sorted(attrs), allow_cache=False, only_cache=False @@ -1037,8 +922,19 @@ async def async_update(self) -> None: @register_entity(ElectricalMeasurement.cluster_id) -class PolledElectricalMeasurement(BaseElectricalMeasurement): - """Default active power measurement.""" +class ElectricalMeasurementPoller(AggregatedClusterPoller): + """Polls the EM cluster on behalf of sibling entities that need updates.""" + + _unique_id_suffix = "em_poller" + _cluster_id = ElectricalMeasurement.cluster_id + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), + ) + + +@register_entity(ElectricalMeasurement.cluster_id) +class ElectricalMeasurementActivePower(BaseElectricalMeasurement): + """Active power measurement.""" _attribute_name = "active_power" _attr_max_attribute_name = "active_power_max" @@ -1052,7 +948,6 @@ class PolledElectricalMeasurement(BaseElectricalMeasurement): _cluster_match = ClusterMatch( server_clusters=frozenset({ElectricalMeasurement.cluster_id}), - feature_priority=(PlatformFeatureGroup.EM_ACTIVE_POWER, 0), ) _server_cluster_config = { @@ -2056,6 +1951,17 @@ class SmartEnergyMeteringEntityDescription: device_class: SensorDeviceClass | None = None +@register_entity(Metering.cluster_id) +class MeteringPoller(AggregatedClusterPoller): + """Polls the Metering cluster on behalf of sibling entities that need updates.""" + + _unique_id_suffix = "metering_poller" + _cluster_id = Metering.cluster_id + _cluster_match = ClusterMatch( + server_clusters=frozenset({Metering.cluster_id}), + ) + + @register_entity(Metering.cluster_id) class SmartEnergyMetering(Sensor): """Metering sensor.""" @@ -2416,41 +2322,6 @@ def formatter(self, value: int) -> int | float: return float(summation_formater.format(scaled_value)) -@register_entity(Metering.cluster_id) -class PolledSmartEnergySummation(PollableSensorMixin, SmartEnergySummation): - """Polled Smart Energy Metering summation sensor.""" - - _cluster_match = ClusterMatch( - server_clusters=frozenset({Metering.cluster_id}), - models=frozenset({"TS011F", "ZLinky_TIC", "TICMeter"}), - feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION, 1), - ) - - async def async_update(self) -> None: - """Poll every reported Metering attribute so sibling entities update too.""" - self.debug("polling current state") - config = self._server_cluster_config[Metering.cluster_id] - attrs = [ - attr_def.name - for attr_def, attr_cfg in config.attributes.items() - if attr_cfg.reporting is not None - and not self._cluster.is_attribute_unsupported(attr_def.name) - ] - await safe_read(self._cluster, attrs, allow_cache=False, only_cache=False) - self.maybe_emit_state_changed_event() - - -@register_entity(Metering.cluster_id) -class ExposedFeaturePolledSmartEnergySummation(PolledSmartEnergySummation): - """Polled Smart Energy Metering summation sensor via exposed feature.""" - - _cluster_match = ClusterMatch( - server_clusters=frozenset({Metering.cluster_id}), - exposed_features=frozenset({SE_POLL_SUMMATION}), - feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION, 1), - ) - - @register_entity(Metering.cluster_id) class Tier1SmartEnergySummation(SmartEnergySummation): """Tier 1 Smart Energy Metering summation sensor.""" @@ -2564,19 +2435,6 @@ class SmartEnergySummationReceived(SmartEnergySummation): ) -@register_entity(Metering.cluster_id) -class ExposedFeaturePolledSmartEnergySummationReceived( - SmartEnergySummationReceived, PolledSmartEnergySummation -): - """Polled Smart Energy Metering summation received sensor via exposed feature.""" - - _cluster_match = ClusterMatch( - server_clusters=frozenset({Metering.cluster_id}), - exposed_features=frozenset({SE_POLL_SUMMATION}), - feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION_RECEIVED, 1), - ) - - @register_entity(PressureMeasurement.cluster_id) class Pressure(Sensor): """Pressure sensor.""" From 23701c0f4d7823da432beb269ca2e8ec363f33b7 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Mon, 18 May 2026 18:34:23 -0400 Subject: [PATCH 52/85] Clean up comment --- zha/application/platforms/sensor/__init__.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 492717a3a..f129186dd 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -2419,14 +2419,12 @@ class SmartEnergySummationReceived(SmartEnergySummation): _attribute_name = "current_summ_received" _unique_id_suffix = "summation_received" _attr_translation_key: str = "summation_received" - """ - This attribute only started to be initialized in HA 2024.2.0, - so the entity would be created on the first HA start after the - upgrade for existing devices, as the initialization to see if - an attribute is unsupported happens later in the background. - To avoid creating unnecessary entities for existing devices, - wait until the attribute was properly initialized once for now. - """ + + # This attribute only started to be initialized in HA 2024.2.0, so the entity would + # be created on the first HA start after the upgrade for existing devices, as the + # initialization to see if an attribute is unsupported happens later in the + # background. To avoid creating unnecessary entities for existing devices, wait + # until the attribute was properly initialized once for now. _skip_creation_if_no_attr_cache = True _cluster_match = ClusterMatch( From 4d347cb62e20349cbb551a034897934688cfa962 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Mon, 18 May 2026 19:03:15 -0400 Subject: [PATCH 53/85] Fix tests --- tests/test_sensor.py | 121 ++++++------------- zha/application/platforms/sensor/__init__.py | 114 ++++++++++++++++- 2 files changed, 145 insertions(+), 90 deletions(-) diff --git a/tests/test_sensor.py b/tests/test_sensor.py index 6cb5ba027..5821bb978 100644 --- a/tests/test_sensor.py +++ b/tests/test_sensor.py @@ -6,7 +6,7 @@ from functools import partial import math from typing import Any -from unittest.mock import AsyncMock, MagicMock, call, patch +from unittest.mock import MagicMock, call, patch import pytest from zhaquirks.danfoss import thermostat as danfoss_thermostat @@ -610,7 +610,7 @@ async def async_test_em_dc_power( ), ( homeautomation.ElectricalMeasurement.cluster_id, - sensor.PolledElectricalMeasurement, + sensor.ElectricalMeasurementActivePower, async_test_electrical_measurement, {"ac_power_divisor": 1000, "ac_power_multiplier": 1}, {"apparent_power", "rms_current", "rms_voltage"}, @@ -895,10 +895,7 @@ def assert_state(entity: PlatformEntity, state: Any, unit_of_measurement: str) - assert entity.info_object.unit == unit_of_measurement -async def test_electrical_measurement_init( - zha_gateway: Gateway, - caplog: pytest.LogCaptureFixture, -) -> None: +async def test_electrical_measurement_init(zha_gateway: Gateway) -> None: """Test proper initialization of the electrical measurement cluster.""" cluster_id = homeautomation.ElectricalMeasurement.cluster_id @@ -920,7 +917,7 @@ async def test_electrical_measurement_init( entity = get_entity( zha_device, platform=Platform.SENSOR, - exact_entity_type=sensor.PolledElectricalMeasurement, + exact_entity_type=sensor.ElectricalMeasurementActivePower, ) await send_attributes_report( @@ -930,25 +927,6 @@ async def test_electrical_measurement_init( ) assert entity.state["state"] == 100 - # update power divisor - await send_attributes_report( - zha_gateway, - cluster, - {EMAttrs.active_power.id: 20, EMAttrs.power_divisor.id: 5}, - ) - assert entity.state["state"] == 4.0 - - zha_device.on_network = False - - await asyncio.sleep(entity.__polling_interval + 1) - await zha_gateway.async_block_till_done(wait_background_tasks=True) - assert ( - "-1-2820: skipping polling for updated state, available: False, allow polled requests: True" - in caplog.text - ) - - zha_device.on_network = True - await send_attributes_report( zha_gateway, cluster, @@ -956,14 +934,6 @@ async def test_electrical_measurement_init( ) assert entity.state["state"] == 3.0 - # update power multiplier - await send_attributes_report( - zha_gateway, - cluster, - {EMAttrs.active_power.id: 20, EMAttrs.power_multiplier.id: 6}, - ) - assert entity.state["state"] == 12.0 - await send_attributes_report( zha_gateway, cluster, @@ -971,28 +941,6 @@ async def test_electrical_measurement_init( ) assert entity.state["state"] == 60.0 - entity._refresh = AsyncMock(wraps=entity._refresh) - - assert entity._refresh.await_count == 0 - - entity.disable() - - assert entity.enabled is False - - await asyncio.sleep(entity.__polling_interval + 1) - await zha_gateway.async_block_till_done(wait_background_tasks=True) - - assert entity._refresh.await_count == 0 - - entity.enable() - - assert entity.enabled is True - - await asyncio.sleep(entity.__polling_interval + 1) - await zha_gateway.async_block_till_done(wait_background_tasks=True) - - assert entity._refresh.await_count == 1 - @pytest.mark.parametrize( ( @@ -1010,7 +958,7 @@ async def test_electrical_measurement_init( "rms_current", }, { - sensor.PolledElectricalMeasurement, + sensor.ElectricalMeasurementActivePower, sensor.ElectricalMeasurementFrequency, sensor.ElectricalMeasurementPowerFactor, }, @@ -1030,7 +978,7 @@ async def test_electrical_measurement_init( }, { sensor.ElectricalMeasurementRMSVoltage, - sensor.PolledElectricalMeasurement, + sensor.ElectricalMeasurementActivePower, }, { sensor.ElectricalMeasurementApparentPower, @@ -1044,7 +992,7 @@ async def test_electrical_measurement_init( set(), { sensor.ElectricalMeasurementRMSVoltage, - sensor.PolledElectricalMeasurement, + sensor.ElectricalMeasurementActivePower, sensor.ElectricalMeasurementApparentPower, sensor.ElectricalMeasurementRMSCurrent, sensor.ElectricalMeasurementFrequency, @@ -1311,7 +1259,7 @@ async def test_elec_measurement_sensor_polling(zha_gateway: Gateway) -> None: entity = get_entity( zha_dev, platform=Platform.SENSOR, - exact_entity_type=sensor.PolledElectricalMeasurement, + exact_entity_type=sensor.ElectricalMeasurementActivePower, ) assert entity.state["state"] == 2.0 @@ -1345,7 +1293,7 @@ async def test_metering_sensor_polling(zha_gateway: Gateway) -> None: entity = get_entity( zha_dev, platform=Platform.SENSOR, - exact_entity_type=sensor.PolledSmartEnergySummation, + exact_entity_type=sensor.SmartEnergySummation, ) assert entity.state["state"] == 2.0 @@ -1431,6 +1379,8 @@ async def test_elec_measurement_skip_unsupported_attribute( "power_factor_ph_c", "ac_frequency", "ac_frequency_max", + "ac_frequency_divisor", + "ac_frequency_multiplier", "ac_voltage_divisor", "ac_current_divisor", "ac_power_divisor", @@ -1439,6 +1389,7 @@ async def test_elec_measurement_skip_unsupported_attribute( "ac_current_multiplier", "power_divisor", "power_multiplier", + "measurement_type", "dc_voltage", "dc_voltage_divisor", "dc_voltage_multiplier", @@ -1453,12 +1404,12 @@ async def test_elec_measurement_skip_unsupported_attribute( cluster.add_unsupported_attribute(attr) cluster.read_attributes.reset_mock() - entity = get_entity( + poller = get_entity( zha_dev, - platform=Platform.SENSOR, - exact_entity_type=sensor.PolledElectricalMeasurement, + platform=Platform.VIRTUAL, + exact_entity_type=sensor.ElectricalMeasurementPoller, ) - await entity.async_update() + await poller.async_update() await zha_dev.gateway.async_block_till_done() assert cluster.read_attributes.call_count == math.ceil( len(supported_attributes) / CLUSTER_READS_PER_REQ @@ -2186,10 +2137,10 @@ async def test_enum_sensor(zha_gateway: Gateway) -> None: assert entity.state["state"] == "undefined_0xab" # TODO: should this be `None`? -async def test_ubisys_polled_em_keeps_polling_when_disabled( +async def test_em_poller_runs_independently_of_entity_enabled_state( zha_gateway: Gateway, ) -> None: - """Test that UbisysPolledElectricalMeasurement keeps polling when disabled.""" + """Disabling the active_power entity must not stop EM cluster polling.""" zigpy_dev = await zigpy_device_from_json( zha_gateway.application_controller, @@ -2197,29 +2148,25 @@ async def test_ubisys_polled_em_keeps_polling_when_disabled( ) zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) - entity = get_entity( + poller = get_entity( + zha_device, + platform=Platform.VIRTUAL, + exact_entity_type=sensor.ElectricalMeasurementPoller, + ) + active_power = get_entity( zha_device, platform=Platform.SENSOR, - exact_entity_type=sensor.UbisysPolledElectricalMeasurement, + exact_entity_type=sensor.ElectricalMeasurementActivePower, ) - assert isinstance(entity, sensor.UbisysPolledElectricalMeasurement) - assert isinstance(entity, sensor.PollableSensorMixin) - assert entity._polling_task is not None - assert entity.enabled is True + assert len(poller._tracked_tasks) == 1 + poll_task = poller._tracked_tasks[0] + assert not poll_task.done() - # Disable the entity (simulating what the quirk does) - entity.disable() + active_power.disable() + assert active_power.enabled is False + assert not poll_task.done() - assert entity.enabled is False - # Polling task must still be running - assert entity._polling_task is not None - assert not entity._polling_task.done() - - # Re-enable the entity - entity.enable() - - assert entity.enabled is True - # Polling task must still be running (no duplicate created) - assert entity._polling_task is not None - assert not entity._polling_task.done() + active_power.enable() + assert active_power.enabled is True + assert not poll_task.done() diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index f129186dd..51f404fa6 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -795,7 +795,9 @@ class BaseElectricalMeasurement(Sensor): _attr_max_attribute_name: str | None _multiplier_attribute_name: str | None + _multiplier_fallback_attribute_name: str | None _divisor_attribute_name: str | None + _divisor_fallback_attribute_name: str | None def __init__( self, @@ -848,7 +850,10 @@ def _multiplier(self) -> int | float | None: if not self._multiplier_attribute_name: return super()._multiplier - return self._cluster.get(self._multiplier_attribute_name) or 1 + value = self._cluster.get(self._multiplier_attribute_name) + if value is None and self._multiplier_fallback_attribute_name: + value = self._cluster.get(self._multiplier_fallback_attribute_name) + return value or 1 @_multiplier.setter def _multiplier(self, value: int | float | None) -> None: @@ -859,7 +864,10 @@ def _divisor(self) -> int | float | None: if not self._divisor_attribute_name: return super()._divisor - return self._cluster.get(self._divisor_attribute_name) or 1 + value = self._cluster.get(self._divisor_attribute_name) + if value is None and self._divisor_fallback_attribute_name: + value = self._cluster.get(self._divisor_fallback_attribute_name) + return value or 1 @_divisor.setter def _divisor(self, value: int | float | None) -> None: @@ -898,12 +906,16 @@ async def async_update(self) -> None: """Poll the union of attrs read by enabled sibling entities.""" attrs: set[str] = set() for entity in self.device.platform_entities.values(): - if entity is self or not isinstance(entity, ZCLClusterEntity): + if entity is self or not isinstance(entity, Sensor): continue if entity._cluster is not self._cluster: continue if not entity.enabled: continue + if entity._attribute_name and self._cluster.is_attribute_unsupported( + entity._attribute_name + ): + continue cfg = entity._server_cluster_config.get(self._cluster_id) if cfg is None: continue @@ -939,7 +951,9 @@ class ElectricalMeasurementActivePower(BaseElectricalMeasurement): _attribute_name = "active_power" _attr_max_attribute_name = "active_power_max" _divisor_attribute_name = "ac_power_divisor" + _divisor_fallback_attribute_name = "power_divisor" _multiplier_attribute_name = "ac_power_multiplier" + _multiplier_fallback_attribute_name = "power_multiplier" _attr_device_class: SensorDeviceClass = SensorDeviceClass.POWER _attr_native_unit_of_measurement: str = UnitOfPower.WATT _attr_suggested_display_precision = 1 @@ -969,6 +983,18 @@ class ElectricalMeasurementActivePower(BaseElectricalMeasurement): min_interval=0, max_interval=900, reportable_change=1 ), ), + ElectricalMeasurement.AttributeDefs.power_multiplier: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.power_divisor: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), ElectricalMeasurement.AttributeDefs.active_power: AttrConfig( read_on_startup=True, reporting=ReportingConfig( @@ -992,7 +1018,9 @@ class ElectricalMeasurementActivePowerPhB(BaseElectricalMeasurement): _attr_translation_key: str = "active_power_ph_b" _attr_max_attribute_name = "active_power_max_ph_b" _divisor_attribute_name = "ac_power_divisor" + _divisor_fallback_attribute_name = "power_divisor" _multiplier_attribute_name = "ac_power_multiplier" + _multiplier_fallback_attribute_name = "power_multiplier" _attr_device_class: SensorDeviceClass = SensorDeviceClass.POWER _attr_native_unit_of_measurement: str = UnitOfPower.WATT _attr_suggested_display_precision = 1 @@ -1023,6 +1051,18 @@ class ElectricalMeasurementActivePowerPhB(BaseElectricalMeasurement): min_interval=0, max_interval=900, reportable_change=1 ), ), + ElectricalMeasurement.AttributeDefs.power_multiplier: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.power_divisor: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), ElectricalMeasurement.AttributeDefs.active_power_ph_b: AttrConfig( read_on_startup=True, reporting=ReportingConfig( @@ -1046,7 +1086,9 @@ class ElectricalMeasurementActivePowerPhC(BaseElectricalMeasurement): _attr_translation_key: str = "active_power_ph_c" _attr_max_attribute_name = "active_power_max_ph_c" _divisor_attribute_name = "ac_power_divisor" + _divisor_fallback_attribute_name = "power_divisor" _multiplier_attribute_name = "ac_power_multiplier" + _multiplier_fallback_attribute_name = "power_multiplier" _attr_device_class: SensorDeviceClass = SensorDeviceClass.POWER _attr_native_unit_of_measurement: str = UnitOfPower.WATT _attr_suggested_display_precision = 1 @@ -1077,6 +1119,18 @@ class ElectricalMeasurementActivePowerPhC(BaseElectricalMeasurement): min_interval=0, max_interval=900, reportable_change=1 ), ), + ElectricalMeasurement.AttributeDefs.power_multiplier: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.power_divisor: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), ElectricalMeasurement.AttributeDefs.active_power_ph_c: AttrConfig( read_on_startup=True, reporting=ReportingConfig( @@ -1100,7 +1154,9 @@ class ElectricalMeasurementTotalActivePower(BaseElectricalMeasurement): _attr_translation_key: str = "total_active_power" _attr_max_attribute_name = "active_power_max" _divisor_attribute_name = "ac_power_divisor" + _divisor_fallback_attribute_name = "power_divisor" _multiplier_attribute_name = "ac_power_multiplier" + _multiplier_fallback_attribute_name = "power_multiplier" _attr_device_class: SensorDeviceClass = SensorDeviceClass.POWER _attr_native_unit_of_measurement: str = UnitOfPower.WATT _attr_suggested_display_precision = 1 @@ -1131,6 +1187,18 @@ class ElectricalMeasurementTotalActivePower(BaseElectricalMeasurement): min_interval=0, max_interval=900, reportable_change=1 ), ), + ElectricalMeasurement.AttributeDefs.power_multiplier: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.power_divisor: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), ElectricalMeasurement.AttributeDefs.total_active_power: AttrConfig( read_on_startup=True, reporting=ReportingConfig( @@ -1153,7 +1221,9 @@ class ElectricalMeasurementApparentPower(BaseElectricalMeasurement): _unique_id_suffix = "apparent_power" _attr_max_attribute_name = None _divisor_attribute_name = "ac_power_divisor" + _divisor_fallback_attribute_name = "power_divisor" _multiplier_attribute_name = "ac_power_multiplier" + _multiplier_fallback_attribute_name = "power_multiplier" _attr_device_class: SensorDeviceClass = SensorDeviceClass.APPARENT_POWER _attr_native_unit_of_measurement = UnitOfApparentPower.VOLT_AMPERE _attr_suggested_display_precision = 1 @@ -1183,6 +1253,18 @@ class ElectricalMeasurementApparentPower(BaseElectricalMeasurement): min_interval=0, max_interval=900, reportable_change=1 ), ), + ElectricalMeasurement.AttributeDefs.power_multiplier: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.power_divisor: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), ElectricalMeasurement.AttributeDefs.apparent_power: AttrConfig( read_on_startup=True, reporting=ReportingConfig( @@ -1203,7 +1285,9 @@ class ElectricalMeasurementRMSCurrent(BaseElectricalMeasurement): _unique_id_suffix = "rms_current" _attr_max_attribute_name = "rms_current_max" _divisor_attribute_name = "ac_current_divisor" + _divisor_fallback_attribute_name = None _multiplier_attribute_name = "ac_current_multiplier" + _multiplier_fallback_attribute_name = None _attr_device_class: SensorDeviceClass = SensorDeviceClass.CURRENT _attr_native_unit_of_measurement = UnitOfElectricCurrent.AMPERE _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT @@ -1348,7 +1432,9 @@ class ElectricalMeasurementRMSVoltage(BaseElectricalMeasurement): _unique_id_suffix = "rms_voltage" _attr_max_attribute_name = "rms_voltage_max" _divisor_attribute_name = "ac_voltage_divisor" + _divisor_fallback_attribute_name = None _multiplier_attribute_name = "ac_voltage_multiplier" + _multiplier_fallback_attribute_name = None _attr_device_class: SensorDeviceClass = SensorDeviceClass.VOLTAGE _attr_native_unit_of_measurement = UnitOfElectricPotential.VOLT _attr_suggested_display_precision = 1 @@ -1495,7 +1581,9 @@ class ElectricalMeasurementFrequency(BaseElectricalMeasurement): _attr_translation_key: str = "ac_frequency" _attr_max_attribute_name = "ac_frequency_max" _divisor_attribute_name = "ac_frequency_divisor" + _divisor_fallback_attribute_name = None _multiplier_attribute_name = "ac_frequency_multiplier" + _multiplier_fallback_attribute_name = None _attr_device_class: SensorDeviceClass = SensorDeviceClass.FREQUENCY _attr_native_unit_of_measurement = UnitOfFrequency.HERTZ _attr_suggested_display_precision = 1 @@ -1541,7 +1629,9 @@ class ElectricalMeasurementPowerFactor(BaseElectricalMeasurement): _unique_id_suffix = "power_factor" _attr_max_attribute_name = None _divisor_attribute_name = None + _divisor_fallback_attribute_name = None _multiplier_attribute_name = None + _multiplier_fallback_attribute_name = None _attr_device_class: SensorDeviceClass = SensorDeviceClass.POWER_FACTOR _attr_native_unit_of_measurement = PERCENTAGE _attr_suggested_display_precision = 1 @@ -1634,7 +1724,9 @@ class ElectricalMeasurementDCVoltage(BaseElectricalMeasurement): _attr_native_unit_of_measurement = UnitOfElectricPotential.VOLT _attr_max_attribute_name = None _divisor_attribute_name = "dc_voltage_divisor" + _divisor_fallback_attribute_name = None _multiplier_attribute_name = "dc_voltage_multiplier" + _multiplier_fallback_attribute_name = None _attr_suggested_display_precision = 1 _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT _cluster_id = ElectricalMeasurement.cluster_id @@ -1685,7 +1777,9 @@ class ElectricalMeasurementDCCurrent(BaseElectricalMeasurement): _attr_native_unit_of_measurement = UnitOfElectricCurrent.AMPERE _attr_max_attribute_name = None _divisor_attribute_name = "dc_current_divisor" + _divisor_fallback_attribute_name = None _multiplier_attribute_name = "dc_current_multiplier" + _multiplier_fallback_attribute_name = None _attr_suggested_display_precision = 1 _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT _cluster_id = ElectricalMeasurement.cluster_id @@ -1736,7 +1830,9 @@ class ElectricalMeasurementDCPower(BaseElectricalMeasurement): _attr_native_unit_of_measurement = UnitOfPower.WATT _attr_max_attribute_name = None _divisor_attribute_name = "dc_power_divisor" + _divisor_fallback_attribute_name = "power_divisor" _multiplier_attribute_name = "dc_power_multiplier" + _multiplier_fallback_attribute_name = "power_multiplier" _attr_suggested_display_precision = 1 _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT _cluster_id = ElectricalMeasurement.cluster_id @@ -1765,6 +1861,18 @@ class ElectricalMeasurementDCPower(BaseElectricalMeasurement): min_interval=0, max_interval=900, reportable_change=1 ), ), + ElectricalMeasurement.AttributeDefs.power_multiplier: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), + ElectricalMeasurement.AttributeDefs.power_divisor: AttrConfig( + read_on_startup=True, + reporting=ReportingConfig( + min_interval=0, max_interval=900, reportable_change=1 + ), + ), ElectricalMeasurement.AttributeDefs.dc_power: AttrConfig( read_on_startup=True, reporting=ReportingConfig( From 145de766c726ccb1c054b970a2404d4abbf3eed8 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Mon, 18 May 2026 19:20:30 -0400 Subject: [PATCH 54/85] Do not poll attributes without reporting config --- tests/test_sensor.py | 27 +++----------------- zha/application/platforms/sensor/__init__.py | 4 ++- 2 files changed, 7 insertions(+), 24 deletions(-) diff --git a/tests/test_sensor.py b/tests/test_sensor.py index 5821bb978..ba5dd9750 100644 --- a/tests/test_sensor.py +++ b/tests/test_sensor.py @@ -1317,29 +1317,10 @@ async def test_metering_sensor_polling(zha_gateway: Gateway) -> None: "supported_attributes", ( set(), - { - "active_power", - "active_power_max", - "rms_current", - "rms_current_max", - "rms_voltage", - "rms_voltage_max", - }, - { - "active_power", - }, - { - "active_power", - "active_power_max", - }, - { - "rms_current", - "rms_current_max", - }, - { - "rms_voltage", - "rms_voltage_max", - }, + {"active_power", "rms_current", "rms_voltage"}, + {"active_power"}, + {"rms_current"}, + {"rms_voltage"}, ), ) async def test_elec_measurement_skip_unsupported_attribute( diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 51f404fa6..c8affe770 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -919,7 +919,9 @@ async def async_update(self) -> None: cfg = entity._server_cluster_config.get(self._cluster_id) if cfg is None: continue - for attr_def in cfg.attributes: + for attr_def, attr_cfg in cfg.attributes.items(): + if attr_cfg.reporting is None: + continue name = attr_def.name if not self._cluster.is_attribute_unsupported(name): attrs.add(name) From 2741c61c02ea52318d5a4b017e34d093b8a0a89a Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Mon, 18 May 2026 19:23:00 -0400 Subject: [PATCH 55/85] Regenerate diagnostics after class renames --- .../devices/aqara-lumi-airrtc-aeu001.json | 4 +- .../data/devices/aqara-lumi-light-agl003.json | 4 +- .../data/devices/aqara-lumi-light-agl005.json | 4 +- .../devices/aqara-lumi-switch-acn047.json | 4 +- .../devices/aqara-lumi-switch-aeu003.json | 4 +- .../devices/aqara-lumi-switch-agl010.json | 4 +- .../data/devices/aurora-doublesocket50au.json | 8 +- .../data/devices/bituo-technik-spm01x001.json | 4 +- tests/data/devices/bosch-rbsh-mms-zb-eu.json | 4 +- tests/data/devices/datek-pop.json | 4 +- tests/data/devices/frient-a-s-emizb-151.json | 4 +- tests/data/devices/frient-a-s-splzb-141.json | 4 +- .../ikea-of-sweden-inspelning-smart-plug.json | 4 +- tests/data/devices/innr-sp-120.json | 4 +- tests/data/devices/innr-sp-234.json | 4 +- tests/data/devices/innr-sp-240.json | 4 +- tests/data/devices/innr-sp-242.json | 4 +- tests/data/devices/inovelli-vzm30-sn.json | 4 +- tests/data/devices/inovelli-vzm31-sn.json | 4 +- .../isilentllc-home-energy-monitor.json | 100 +++++++++--------- .../data/devices/lds-zb-onoffplug-d0005.json | 4 +- tests/data/devices/legrand-contactor.json | 4 +- tests/data/devices/legrand-mobile-outlet.json | 4 +- tests/data/devices/lumi-lumi-plug-maeu01.json | 4 +- tests/data/devices/lumi-lumi-plug-maus01.json | 4 +- .../data/devices/lumi-lumi-relay-c2acn01.json | 4 +- .../devices/lumi-lumi-switch-b1naus01.json | 4 +- .../devices/lumi-lumi-switch-b2naus01.json | 4 +- .../data/devices/lumi-lumi-switch-n0agl1.json | 4 +- .../data/devices/lumi-lumi-switch-n1aeu1.json | 4 +- tests/data/devices/namron-as-1402790.json | 4 +- tests/data/devices/namron-as-4512785.json | 4 +- .../data/devices/securifi-ltd-unk-model.json | 4 +- .../devices/sercomm-corp-sz-esw01-au.json | 4 +- tests/data/devices/shelly-1pm.json | 4 +- tests/data/devices/shelly-mini1pm.json | 4 +- tests/data/devices/sonoff-s60zbtpg.json | 4 +- tests/data/devices/sunricher-on-off-2ch.json | 4 +- .../third-reality-inc-3rsp02028bz.json | 4 +- .../data/devices/tyzb01-zanh6v1o-ts0121.json | 4 +- .../data/devices/tz3000-2putqrmw-ts011f.json | 8 +- .../data/devices/tz3000-2xlvlnez-ts011f.json | 8 +- .../data/devices/tz3000-303avxxt-ts011f.json | 8 +- .../data/devices/tz3000-3ias4w4o-ts011f.json | 8 +- .../data/devices/tz3000-5ity3zyu-ts0121.json | 4 +- .../data/devices/tz3000-6l1pjfqe-ts011f.json | 8 +- .../data/devices/tz3000-8nkb7mof-ts0121.json | 4 +- .../data/devices/tz3000-cehuw1lw-ts011f.json | 8 +- .../data/devices/tz3000-cicwjqth-ts011f.json | 4 +- .../data/devices/tz3000-fdxihpp7-ts0001.json | 4 +- .../data/devices/tz3000-gjrubzje-ts0001.json | 4 +- .../data/devices/tz3000-kqvb5akv-ts0001.json | 4 +- .../data/devices/tz3000-lepzuhto-ts011f.json | 8 +- .../data/devices/tz3000-lotmgthb-ts011f.json | 8 +- .../data/devices/tz3000-mkhkxx1p-ts0001.json | 4 +- .../data/devices/tz3000-mw1pqqqt-ts0003.json | 4 +- .../data/devices/tz3000-npzfdcof-ts0001.json | 4 +- .../data/devices/tz3000-okaz9tjs-ts011f.json | 8 +- .../data/devices/tz3000-pl5v1yyy-ts011f.json | 8 +- .../data/devices/tz3000-r6buo8ba-ts011f.json | 8 +- .../data/devices/tz3000-sgb0xhwn-ts011f.json | 8 +- .../data/devices/tz3000-tgddllx4-ts0001.json | 4 +- .../data/devices/tz3000-tqlv4ug4-ts0001.json | 4 +- .../data/devices/tz3000-typdpbpg-ts011f.json | 8 +- .../data/devices/tz3000-uwkja6z1-ts011f.json | 16 +-- .../data/devices/tz3000-w0qqde0g-ts011f.json | 8 +- .../data/devices/tz3000-xkap8wtb-ts000f.json | 4 +- .../data/devices/tz3000-ynmowqk2-ts011f.json | 8 +- .../data/devices/tz3000-zv6x8bt2-ts011f.json | 8 +- .../data/devices/tz3000-zw7yf6yk-ts0001.json | 4 +- .../data/devices/tze200-bkkmqmyo-ts0601.json | 4 +- .../data/devices/tze200-byzdayie-ts0601.json | 4 +- .../data/devices/tze200-ewxhg6o9-ts0601.json | 4 +- .../data/devices/tze200-ny94onlb-ts0601.json | 16 +-- .../data/devices/tze200-v9hkz2yn-ts0601.json | 4 +- .../data/devices/tze204-81yrt3lo-ts0601.json | 12 +-- .../data/devices/tze204-bkkmqmyo-ts0601.json | 4 +- tests/data/devices/ubisys-s1-5501.json | 12 +-- tests/data/devices/zbeacon-ts0505.json | 4 +- 79 files changed, 260 insertions(+), 260 deletions(-) diff --git a/tests/data/devices/aqara-lumi-airrtc-aeu001.json b/tests/data/devices/aqara-lumi-airrtc-aeu001.json index 99e596e16..c264bd3eb 100644 --- a/tests/data/devices/aqara-lumi-airrtc-aeu001.json +++ b/tests/data/devices/aqara-lumi-airrtc-aeu001.json @@ -1465,7 +1465,7 @@ "unique_id": "ab:cd:ef:12:71:24:74:6a-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1482,7 +1482,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT" diff --git a/tests/data/devices/aqara-lumi-light-agl003.json b/tests/data/devices/aqara-lumi-light-agl003.json index 9b94a2fc7..fde2a4876 100644 --- a/tests/data/devices/aqara-lumi-light-agl003.json +++ b/tests/data/devices/aqara-lumi-light-agl003.json @@ -1317,7 +1317,7 @@ "unique_id": "ab:cd:ef:12:83:74:c5:0a-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1334,7 +1334,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT" diff --git a/tests/data/devices/aqara-lumi-light-agl005.json b/tests/data/devices/aqara-lumi-light-agl005.json index 2e3eb60af..640a9e1e1 100644 --- a/tests/data/devices/aqara-lumi-light-agl005.json +++ b/tests/data/devices/aqara-lumi-light-agl005.json @@ -1323,7 +1323,7 @@ "unique_id": "ab:cd:ef:12:5f:ec:15:50-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1340,7 +1340,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT" diff --git a/tests/data/devices/aqara-lumi-switch-acn047.json b/tests/data/devices/aqara-lumi-switch-acn047.json index bf78ba5f5..10c5b18ad 100644 --- a/tests/data/devices/aqara-lumi-switch-acn047.json +++ b/tests/data/devices/aqara-lumi-switch-acn047.json @@ -1429,7 +1429,7 @@ "unique_id": "ab:cd:ef:12:3a:b1:1a:5d-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1446,7 +1446,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 789.9 }, diff --git a/tests/data/devices/aqara-lumi-switch-aeu003.json b/tests/data/devices/aqara-lumi-switch-aeu003.json index 0da22ee59..2ff6ebf94 100644 --- a/tests/data/devices/aqara-lumi-switch-aeu003.json +++ b/tests/data/devices/aqara-lumi-switch-aeu003.json @@ -1218,7 +1218,7 @@ "unique_id": "ab:cd:ef:12:8d:ae:d7:5d-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1235,7 +1235,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT" diff --git a/tests/data/devices/aqara-lumi-switch-agl010.json b/tests/data/devices/aqara-lumi-switch-agl010.json index c538f03a6..34281404d 100644 --- a/tests/data/devices/aqara-lumi-switch-agl010.json +++ b/tests/data/devices/aqara-lumi-switch-agl010.json @@ -1186,7 +1186,7 @@ "unique_id": "ab:cd:ef:12:19:5a:ce:c8-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1203,7 +1203,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT" diff --git a/tests/data/devices/aurora-doublesocket50au.json b/tests/data/devices/aurora-doublesocket50au.json index 2a8e1f63c..c5749fd2f 100644 --- a/tests/data/devices/aurora-doublesocket50au.json +++ b/tests/data/devices/aurora-doublesocket50au.json @@ -1168,7 +1168,7 @@ "unique_id": "ab:cd:ef:12:73:79:07:f7-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1185,7 +1185,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT" @@ -1364,7 +1364,7 @@ "unique_id": "ab:cd:ef:12:73:79:07:f7-2-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1381,7 +1381,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT" diff --git a/tests/data/devices/bituo-technik-spm01x001.json b/tests/data/devices/bituo-technik-spm01x001.json index f8d56933e..93681b364 100644 --- a/tests/data/devices/bituo-technik-spm01x001.json +++ b/tests/data/devices/bituo-technik-spm01x001.json @@ -831,7 +831,7 @@ "unique_id": "ab:cd:ef:12:8d:c2:0c:51-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -848,7 +848,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/bosch-rbsh-mms-zb-eu.json b/tests/data/devices/bosch-rbsh-mms-zb-eu.json index 433523713..dabacf44f 100644 --- a/tests/data/devices/bosch-rbsh-mms-zb-eu.json +++ b/tests/data/devices/bosch-rbsh-mms-zb-eu.json @@ -1574,7 +1574,7 @@ "unique_id": "ab:cd:ef:12:75:e4:96:a5-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1591,7 +1591,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT" diff --git a/tests/data/devices/datek-pop.json b/tests/data/devices/datek-pop.json index b576002fa..7a9b5ccc7 100644 --- a/tests/data/devices/datek-pop.json +++ b/tests/data/devices/datek-pop.json @@ -808,7 +808,7 @@ "unique_id": "ab:cd:ef:12:cd:d1:2a:c9-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -825,7 +825,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT", diff --git a/tests/data/devices/frient-a-s-emizb-151.json b/tests/data/devices/frient-a-s-emizb-151.json index 2afabc1c3..d82ac5540 100644 --- a/tests/data/devices/frient-a-s-emizb-151.json +++ b/tests/data/devices/frient-a-s-emizb-151.json @@ -1980,7 +1980,7 @@ "unique_id": "ab:cd:ef:12:74:0f:89:c3-2-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1997,7 +1997,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 517.0, "measurement_type": "ACTIVE_MEASUREMENT, PHASE_A_MEASUREMENT, PHASE_B_MEASUREMENT, PHASE_C_MEASUREMENT" diff --git a/tests/data/devices/frient-a-s-splzb-141.json b/tests/data/devices/frient-a-s-splzb-141.json index 9f98fa656..f627bb2ca 100644 --- a/tests/data/devices/frient-a-s-splzb-141.json +++ b/tests/data/devices/frient-a-s-splzb-141.json @@ -1078,7 +1078,7 @@ "unique_id": "00:15:bc:00:2f:02:19:79-2-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1095,7 +1095,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 2.0, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, PHASE_A_MEASUREMENT" diff --git a/tests/data/devices/ikea-of-sweden-inspelning-smart-plug.json b/tests/data/devices/ikea-of-sweden-inspelning-smart-plug.json index cd052a5c7..a22368019 100644 --- a/tests/data/devices/ikea-of-sweden-inspelning-smart-plug.json +++ b/tests/data/devices/ikea-of-sweden-inspelning-smart-plug.json @@ -993,7 +993,7 @@ "unique_id": "d4:48:67:ff:fe:13:d6:f8-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "ReportingElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1010,7 +1010,7 @@ "unit": "W" }, "state": { - "class_name": "ReportingElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT, PHASE_A_MEASUREMENT" diff --git a/tests/data/devices/innr-sp-120.json b/tests/data/devices/innr-sp-120.json index 44f4fa0f1..381f5dd7a 100644 --- a/tests/data/devices/innr-sp-120.json +++ b/tests/data/devices/innr-sp-120.json @@ -1050,7 +1050,7 @@ "unique_id": "ab:cd:ef:12:76:d3:fb:4b-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1067,7 +1067,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "" diff --git a/tests/data/devices/innr-sp-234.json b/tests/data/devices/innr-sp-234.json index 1ba24067b..cb2fab31e 100755 --- a/tests/data/devices/innr-sp-234.json +++ b/tests/data/devices/innr-sp-234.json @@ -957,7 +957,7 @@ "unique_id": "70:ac:08:ff:fe:ef:c4:b7-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "ReportingElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -974,7 +974,7 @@ "unit": "W" }, "state": { - "class_name": "ReportingElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT" diff --git a/tests/data/devices/innr-sp-240.json b/tests/data/devices/innr-sp-240.json index ef12cf696..b5b15b5d2 100644 --- a/tests/data/devices/innr-sp-240.json +++ b/tests/data/devices/innr-sp-240.json @@ -1058,7 +1058,7 @@ "unique_id": "ab:cd:ef:12:39:51:53:67-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1075,7 +1075,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 2.0, "measurement_type": "ACTIVE_MEASUREMENT, PHASE_A_MEASUREMENT" diff --git a/tests/data/devices/innr-sp-242.json b/tests/data/devices/innr-sp-242.json index 0a6791931..be9794fda 100644 --- a/tests/data/devices/innr-sp-242.json +++ b/tests/data/devices/innr-sp-242.json @@ -1197,7 +1197,7 @@ "unique_id": "ab:cd:ef:12:86:df:1b:97-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1214,7 +1214,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT, PHASE_A_MEASUREMENT" diff --git a/tests/data/devices/inovelli-vzm30-sn.json b/tests/data/devices/inovelli-vzm30-sn.json index 4164be0f0..e93252381 100644 --- a/tests/data/devices/inovelli-vzm30-sn.json +++ b/tests/data/devices/inovelli-vzm30-sn.json @@ -1462,7 +1462,7 @@ "unique_id": "ab:cd:ef:12:9a:d6:cb:e7-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1479,7 +1479,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/inovelli-vzm31-sn.json b/tests/data/devices/inovelli-vzm31-sn.json index 97d80e4e6..e289c8817 100644 --- a/tests/data/devices/inovelli-vzm31-sn.json +++ b/tests/data/devices/inovelli-vzm31-sn.json @@ -2249,7 +2249,7 @@ "unique_id": "ab:cd:ef:12:dc:41:3c:40-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "ReportingElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -2266,7 +2266,7 @@ "unit": "W" }, "state": { - "class_name": "ReportingElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/isilentllc-home-energy-monitor.json b/tests/data/devices/isilentllc-home-energy-monitor.json index 1140bf890..396edf25b 100644 --- a/tests/data/devices/isilentllc-home-energy-monitor.json +++ b/tests/data/devices/isilentllc-home-energy-monitor.json @@ -10832,7 +10832,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-10-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -10849,7 +10849,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 16.11, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -11028,7 +11028,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-11-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -11045,7 +11045,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 61.25, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -11224,7 +11224,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-12-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -11241,7 +11241,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.37, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -11420,7 +11420,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-13-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -11437,7 +11437,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 73.87, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -11616,7 +11616,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-14-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -11633,7 +11633,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 80.66, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -11812,7 +11812,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-15-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -11829,7 +11829,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 5.34, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -12008,7 +12008,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-16-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -12025,7 +12025,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 82.07, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -12204,7 +12204,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-17-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -12221,7 +12221,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 53.88, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -12400,7 +12400,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-18-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -12417,7 +12417,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 15.29, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -12596,7 +12596,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-19-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -12613,7 +12613,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 2.92, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -12792,7 +12792,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-2-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -12809,7 +12809,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 10.61, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -12988,7 +12988,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-20-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -13005,7 +13005,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 59.51, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -13184,7 +13184,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-21-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -13201,7 +13201,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 4.17, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -13380,7 +13380,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-22-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -13397,7 +13397,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 61.28, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -13576,7 +13576,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-23-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -13593,7 +13593,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 11.9, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -13772,7 +13772,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-24-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -13789,7 +13789,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 4.11, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -13968,7 +13968,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-25-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -13985,7 +13985,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 13.49, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -14164,7 +14164,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-26-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -14181,7 +14181,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 84.08, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -14360,7 +14360,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-3-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -14377,7 +14377,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 39.33, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -14556,7 +14556,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-4-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -14573,7 +14573,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 63.77, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -14752,7 +14752,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-5-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -14769,7 +14769,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 4.37, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -14948,7 +14948,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-6-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -14965,7 +14965,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 31.48, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -15144,7 +15144,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-7-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -15161,7 +15161,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 7.6, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -15340,7 +15340,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-8-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -15357,7 +15357,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 2.47, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -15536,7 +15536,7 @@ "unique_id": "00:13:a2:00:41:93:fe:df-9-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -15553,7 +15553,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 63.6, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" diff --git a/tests/data/devices/lds-zb-onoffplug-d0005.json b/tests/data/devices/lds-zb-onoffplug-d0005.json index 3446f2921..83983d61d 100644 --- a/tests/data/devices/lds-zb-onoffplug-d0005.json +++ b/tests/data/devices/lds-zb-onoffplug-d0005.json @@ -899,7 +899,7 @@ "unique_id": "ab:cd:ef:12:ab:48:5a:2c-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -916,7 +916,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 67.0, "measurement_type": "ACTIVE_MEASUREMENT" diff --git a/tests/data/devices/legrand-contactor.json b/tests/data/devices/legrand-contactor.json index d51b3c91f..7e9c846b2 100644 --- a/tests/data/devices/legrand-contactor.json +++ b/tests/data/devices/legrand-contactor.json @@ -1005,7 +1005,7 @@ "unique_id": "ab:cd:ef:12:0d:ab:89:6b-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1022,7 +1022,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT" diff --git a/tests/data/devices/legrand-mobile-outlet.json b/tests/data/devices/legrand-mobile-outlet.json index ddfd34d04..61fe509a8 100644 --- a/tests/data/devices/legrand-mobile-outlet.json +++ b/tests/data/devices/legrand-mobile-outlet.json @@ -1054,7 +1054,7 @@ "unique_id": "ab:cd:ef:12:00:e8:bc:6f-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1071,7 +1071,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 13.0, "measurement_type": "ACTIVE_MEASUREMENT" diff --git a/tests/data/devices/lumi-lumi-plug-maeu01.json b/tests/data/devices/lumi-lumi-plug-maeu01.json index 7b9ed7c95..591d3ae1c 100644 --- a/tests/data/devices/lumi-lumi-plug-maeu01.json +++ b/tests/data/devices/lumi-lumi-plug-maeu01.json @@ -994,7 +994,7 @@ "unique_id": "ab:cd:ef:12:49:c1:10:71-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1011,7 +1011,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/lumi-lumi-plug-maus01.json b/tests/data/devices/lumi-lumi-plug-maus01.json index f32f91b38..6db6d5039 100644 --- a/tests/data/devices/lumi-lumi-plug-maus01.json +++ b/tests/data/devices/lumi-lumi-plug-maus01.json @@ -1184,7 +1184,7 @@ "unique_id": "00:15:8d:00:02:82:d0:78-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1201,7 +1201,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.9 }, diff --git a/tests/data/devices/lumi-lumi-relay-c2acn01.json b/tests/data/devices/lumi-lumi-relay-c2acn01.json index f9d8092fc..c9f3c1fe8 100644 --- a/tests/data/devices/lumi-lumi-relay-c2acn01.json +++ b/tests/data/devices/lumi-lumi-relay-c2acn01.json @@ -714,7 +714,7 @@ "unique_id": "00:15:8d:00:04:44:ec:08-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -731,7 +731,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/lumi-lumi-switch-b1naus01.json b/tests/data/devices/lumi-lumi-switch-b1naus01.json index 76709c34e..468c6055f 100755 --- a/tests/data/devices/lumi-lumi-switch-b1naus01.json +++ b/tests/data/devices/lumi-lumi-switch-b1naus01.json @@ -1006,7 +1006,7 @@ "unique_id": "04:cf:8c:df:3c:76:1c:82-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1023,7 +1023,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "PHASE_A_MEASUREMENT" diff --git a/tests/data/devices/lumi-lumi-switch-b2naus01.json b/tests/data/devices/lumi-lumi-switch-b2naus01.json index b8d7a56f7..a78eee51c 100644 --- a/tests/data/devices/lumi-lumi-switch-b2naus01.json +++ b/tests/data/devices/lumi-lumi-switch-b2naus01.json @@ -1230,7 +1230,7 @@ "unique_id": "ab:cd:ef:12:af:a9:89:77-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1247,7 +1247,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 20.7 }, diff --git a/tests/data/devices/lumi-lumi-switch-n0agl1.json b/tests/data/devices/lumi-lumi-switch-n0agl1.json index 484a48de6..a30975ffc 100644 --- a/tests/data/devices/lumi-lumi-switch-n0agl1.json +++ b/tests/data/devices/lumi-lumi-switch-n0agl1.json @@ -1214,7 +1214,7 @@ "unique_id": "ab:cd:ef:12:e9:c7:8a:67-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1231,7 +1231,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "PHASE_A_MEASUREMENT" diff --git a/tests/data/devices/lumi-lumi-switch-n1aeu1.json b/tests/data/devices/lumi-lumi-switch-n1aeu1.json index 08469b39e..e78a8f7ac 100644 --- a/tests/data/devices/lumi-lumi-switch-n1aeu1.json +++ b/tests/data/devices/lumi-lumi-switch-n1aeu1.json @@ -1009,7 +1009,7 @@ "unique_id": "ab:cd:ef:12:76:e5:a3:fd-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1026,7 +1026,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 1.2, "measurement_type": "PHASE_A_MEASUREMENT" diff --git a/tests/data/devices/namron-as-1402790.json b/tests/data/devices/namron-as-1402790.json index 3adfa6bbb..4a4b93754 100644 --- a/tests/data/devices/namron-as-1402790.json +++ b/tests/data/devices/namron-as-1402790.json @@ -942,7 +942,7 @@ "unique_id": "ab:cd:ef:12:2f:e9:5d:02-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -959,7 +959,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/namron-as-4512785.json b/tests/data/devices/namron-as-4512785.json index 3af933c06..ea4888cb6 100644 --- a/tests/data/devices/namron-as-4512785.json +++ b/tests/data/devices/namron-as-4512785.json @@ -1146,7 +1146,7 @@ "unique_id": "ab:cd:ef:12:4c:9e:2b:64-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1163,7 +1163,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/securifi-ltd-unk-model.json b/tests/data/devices/securifi-ltd-unk-model.json index 63af83a77..73a9202fe 100644 --- a/tests/data/devices/securifi-ltd-unk-model.json +++ b/tests/data/devices/securifi-ltd-unk-model.json @@ -756,7 +756,7 @@ "unique_id": "00:0d:6f:00:05:49:ac:68-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -773,7 +773,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "PHASE_A_MEASUREMENT" diff --git a/tests/data/devices/sercomm-corp-sz-esw01-au.json b/tests/data/devices/sercomm-corp-sz-esw01-au.json index 4f905f09c..afb6d28f7 100644 --- a/tests/data/devices/sercomm-corp-sz-esw01-au.json +++ b/tests/data/devices/sercomm-corp-sz-esw01-au.json @@ -1154,7 +1154,7 @@ "unique_id": "ab:cd:ef:12:42:61:67:6a-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1171,7 +1171,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.256, "measurement_type": "PHASE_A_MEASUREMENT", diff --git a/tests/data/devices/shelly-1pm.json b/tests/data/devices/shelly-1pm.json index d04b709a7..736e758c5 100644 --- a/tests/data/devices/shelly-1pm.json +++ b/tests/data/devices/shelly-1pm.json @@ -1010,7 +1010,7 @@ "unique_id": "ab:cd:ef:12:e7:d6:bf:0a-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1027,7 +1027,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT" diff --git a/tests/data/devices/shelly-mini1pm.json b/tests/data/devices/shelly-mini1pm.json index e3179ce33..1e12797e4 100644 --- a/tests/data/devices/shelly-mini1pm.json +++ b/tests/data/devices/shelly-mini1pm.json @@ -979,7 +979,7 @@ "unique_id": "ab:cd:ef:12:6a:0d:2c:ef-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -996,7 +996,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 2.2, "measurement_type": "ACTIVE_MEASUREMENT" diff --git a/tests/data/devices/sonoff-s60zbtpg.json b/tests/data/devices/sonoff-s60zbtpg.json index f53f9608a..bd08bb36f 100644 --- a/tests/data/devices/sonoff-s60zbtpg.json +++ b/tests/data/devices/sonoff-s60zbtpg.json @@ -991,7 +991,7 @@ "unique_id": "ab:cd:ef:12:0b:76:b6:2c-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1008,7 +1008,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 11.0, "measurement_type": "ACTIVE_MEASUREMENT" diff --git a/tests/data/devices/sunricher-on-off-2ch.json b/tests/data/devices/sunricher-on-off-2ch.json index a5761aacc..a7b111dfc 100644 --- a/tests/data/devices/sunricher-on-off-2ch.json +++ b/tests/data/devices/sunricher-on-off-2ch.json @@ -1258,7 +1258,7 @@ "unique_id": "ab:cd:ef:12:98:6b:31:c6-11-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1275,7 +1275,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT, PHASE_A_MEASUREMENT" diff --git a/tests/data/devices/third-reality-inc-3rsp02028bz.json b/tests/data/devices/third-reality-inc-3rsp02028bz.json index 66b0b5ecd..7c3315138 100644 --- a/tests/data/devices/third-reality-inc-3rsp02028bz.json +++ b/tests/data/devices/third-reality-inc-3rsp02028bz.json @@ -868,7 +868,7 @@ "unique_id": "28:2c:02:bf:ff:eb:4f:2f-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -885,7 +885,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tyzb01-zanh6v1o-ts0121.json b/tests/data/devices/tyzb01-zanh6v1o-ts0121.json index 545892e5e..46365f795 100644 --- a/tests/data/devices/tyzb01-zanh6v1o-ts0121.json +++ b/tests/data/devices/tyzb01-zanh6v1o-ts0121.json @@ -874,7 +874,7 @@ "unique_id": "cc:cc:cc:ff:fe:da:b1:e0-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -891,7 +891,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 1.0 }, diff --git a/tests/data/devices/tz3000-2putqrmw-ts011f.json b/tests/data/devices/tz3000-2putqrmw-ts011f.json index 27a332f79..1d6393c0b 100644 --- a/tests/data/devices/tz3000-2putqrmw-ts011f.json +++ b/tests/data/devices/tz3000-2putqrmw-ts011f.json @@ -864,7 +864,7 @@ "unique_id": "ab:cd:ef:12:2b:c6:61:bc-1-1794-summation_delivered", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "translation_key": "summation_delivered", "translation_placeholders": null, "device_class": "energy", @@ -881,7 +881,7 @@ "unit": "kWh" }, "state": { - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "available": true, "state": 5.16, "device_type": "Electric Metering", @@ -900,7 +900,7 @@ "unique_id": "ab:cd:ef:12:2b:c6:61:bc-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -917,7 +917,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-2xlvlnez-ts011f.json b/tests/data/devices/tz3000-2xlvlnez-ts011f.json index a9c1ccb89..8dd30f271 100644 --- a/tests/data/devices/tz3000-2xlvlnez-ts011f.json +++ b/tests/data/devices/tz3000-2xlvlnez-ts011f.json @@ -943,7 +943,7 @@ "unique_id": "ab:cd:ef:12:7b:03:ef:df-1-1794-summation_delivered", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "translation_key": "summation_delivered", "translation_placeholders": null, "device_class": null, @@ -960,7 +960,7 @@ "unit": null }, "state": { - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "available": true, "state": 0.0, "zcl_unit_of_measurement": null @@ -977,7 +977,7 @@ "unique_id": "ab:cd:ef:12:7b:03:ef:df-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -994,7 +994,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-303avxxt-ts011f.json b/tests/data/devices/tz3000-303avxxt-ts011f.json index f9db808cf..8329bbc98 100644 --- a/tests/data/devices/tz3000-303avxxt-ts011f.json +++ b/tests/data/devices/tz3000-303avxxt-ts011f.json @@ -978,7 +978,7 @@ "unique_id": "ab:cd:ef:12:fb:76:78:ad-1-1794-summation_delivered", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "translation_key": "summation_delivered", "translation_placeholders": null, "device_class": "energy", @@ -995,7 +995,7 @@ "unit": "kWh" }, "state": { - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "available": true, "state": 0.0, "device_type": "Electric Metering", @@ -1014,7 +1014,7 @@ "unique_id": "ab:cd:ef:12:fb:76:78:ad-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1031,7 +1031,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-3ias4w4o-ts011f.json b/tests/data/devices/tz3000-3ias4w4o-ts011f.json index 1a4c67347..403b67f24 100644 --- a/tests/data/devices/tz3000-3ias4w4o-ts011f.json +++ b/tests/data/devices/tz3000-3ias4w4o-ts011f.json @@ -925,7 +925,7 @@ "unique_id": "ab:cd:ef:12:17:45:af:eb-1-1794-summation_delivered", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "translation_key": "summation_delivered", "translation_placeholders": null, "device_class": "energy", @@ -942,7 +942,7 @@ "unit": "kWh" }, "state": { - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "available": true, "state": 295.79, "device_type": "Electric Metering", @@ -961,7 +961,7 @@ "unique_id": "ab:cd:ef:12:17:45:af:eb-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -978,7 +978,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 2231.0 }, diff --git a/tests/data/devices/tz3000-5ity3zyu-ts0121.json b/tests/data/devices/tz3000-5ity3zyu-ts0121.json index 82defabb2..eeaf4d775 100644 --- a/tests/data/devices/tz3000-5ity3zyu-ts0121.json +++ b/tests/data/devices/tz3000-5ity3zyu-ts0121.json @@ -870,7 +870,7 @@ "unique_id": "ab:cd:ef:12:b1:82:95:69-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -887,7 +887,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-6l1pjfqe-ts011f.json b/tests/data/devices/tz3000-6l1pjfqe-ts011f.json index 2a35eab52..71c5a34d1 100644 --- a/tests/data/devices/tz3000-6l1pjfqe-ts011f.json +++ b/tests/data/devices/tz3000-6l1pjfqe-ts011f.json @@ -909,7 +909,7 @@ "unique_id": "ab:cd:ef:12:8e:a1:83:54-1-1794-summation_delivered", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "translation_key": "summation_delivered", "translation_placeholders": null, "device_class": "energy", @@ -926,7 +926,7 @@ "unit": "kWh" }, "state": { - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "available": true, "state": 0.23, "device_type": "Electric Metering", @@ -945,7 +945,7 @@ "unique_id": "ab:cd:ef:12:8e:a1:83:54-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -962,7 +962,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 450.0 }, diff --git a/tests/data/devices/tz3000-8nkb7mof-ts0121.json b/tests/data/devices/tz3000-8nkb7mof-ts0121.json index 5451996dc..0c385adc3 100644 --- a/tests/data/devices/tz3000-8nkb7mof-ts0121.json +++ b/tests/data/devices/tz3000-8nkb7mof-ts0121.json @@ -987,7 +987,7 @@ "unique_id": "ab:cd:ef:12:2d:82:f3:92-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1004,7 +1004,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 152.0 }, diff --git a/tests/data/devices/tz3000-cehuw1lw-ts011f.json b/tests/data/devices/tz3000-cehuw1lw-ts011f.json index 658355d21..e87faf92a 100644 --- a/tests/data/devices/tz3000-cehuw1lw-ts011f.json +++ b/tests/data/devices/tz3000-cehuw1lw-ts011f.json @@ -877,7 +877,7 @@ "unique_id": "ab:cd:ef:12:2d:f8:5e:65-1-1794-summation_delivered", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "translation_key": "summation_delivered", "translation_placeholders": null, "device_class": "energy", @@ -894,7 +894,7 @@ "unit": "kWh" }, "state": { - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "available": true, "state": 1.98, "device_type": "Electric Metering", @@ -913,7 +913,7 @@ "unique_id": "ab:cd:ef:12:2d:f8:5e:65-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -930,7 +930,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-cicwjqth-ts011f.json b/tests/data/devices/tz3000-cicwjqth-ts011f.json index 4cc2cf1f4..a5fa60613 100644 --- a/tests/data/devices/tz3000-cicwjqth-ts011f.json +++ b/tests/data/devices/tz3000-cicwjqth-ts011f.json @@ -871,7 +871,7 @@ "unique_id": "ab:cd:ef:12:8d:0c:54:33-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -888,7 +888,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-fdxihpp7-ts0001.json b/tests/data/devices/tz3000-fdxihpp7-ts0001.json index 0b8b9aea8..c68c18d19 100644 --- a/tests/data/devices/tz3000-fdxihpp7-ts0001.json +++ b/tests/data/devices/tz3000-fdxihpp7-ts0001.json @@ -951,7 +951,7 @@ "unique_id": "ab:cd:ef:12:22:a7:1c:c8-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -968,7 +968,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-gjrubzje-ts0001.json b/tests/data/devices/tz3000-gjrubzje-ts0001.json index 83d654823..653760541 100644 --- a/tests/data/devices/tz3000-gjrubzje-ts0001.json +++ b/tests/data/devices/tz3000-gjrubzje-ts0001.json @@ -952,7 +952,7 @@ "unique_id": "ab:cd:ef:12:6b:b2:ef:b7-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -969,7 +969,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-kqvb5akv-ts0001.json b/tests/data/devices/tz3000-kqvb5akv-ts0001.json index 09963f0f7..5ff48e7c6 100644 --- a/tests/data/devices/tz3000-kqvb5akv-ts0001.json +++ b/tests/data/devices/tz3000-kqvb5akv-ts0001.json @@ -1026,7 +1026,7 @@ "unique_id": "ab:cd:ef:12:c3:82:cb:22-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1043,7 +1043,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 30.0 }, diff --git a/tests/data/devices/tz3000-lepzuhto-ts011f.json b/tests/data/devices/tz3000-lepzuhto-ts011f.json index 42a6c26f1..749892452 100644 --- a/tests/data/devices/tz3000-lepzuhto-ts011f.json +++ b/tests/data/devices/tz3000-lepzuhto-ts011f.json @@ -867,7 +867,7 @@ "unique_id": "ab:cd:ef:12:1f:e8:29:50-1-1794-summation_delivered", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "translation_key": "summation_delivered", "translation_placeholders": null, "device_class": "energy", @@ -884,7 +884,7 @@ "unit": "kWh" }, "state": { - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "available": true, "state": 59.54, "device_type": "Electric Metering", @@ -903,7 +903,7 @@ "unique_id": "ab:cd:ef:12:1f:e8:29:50-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -920,7 +920,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 198.0 }, diff --git a/tests/data/devices/tz3000-lotmgthb-ts011f.json b/tests/data/devices/tz3000-lotmgthb-ts011f.json index 925ec8726..fe265f456 100644 --- a/tests/data/devices/tz3000-lotmgthb-ts011f.json +++ b/tests/data/devices/tz3000-lotmgthb-ts011f.json @@ -864,7 +864,7 @@ "unique_id": "ab:cd:ef:12:e0:b1:51:a5-1-1794-summation_delivered", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "translation_key": "summation_delivered", "translation_placeholders": null, "device_class": "energy", @@ -881,7 +881,7 @@ "unit": "kWh" }, "state": { - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "available": true, "state": 0.71, "device_type": "Electric Metering", @@ -900,7 +900,7 @@ "unique_id": "ab:cd:ef:12:e0:b1:51:a5-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -917,7 +917,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-mkhkxx1p-ts0001.json b/tests/data/devices/tz3000-mkhkxx1p-ts0001.json index 2e2dd38de..554d53057 100644 --- a/tests/data/devices/tz3000-mkhkxx1p-ts0001.json +++ b/tests/data/devices/tz3000-mkhkxx1p-ts0001.json @@ -990,7 +990,7 @@ "unique_id": "ab:cd:ef:12:36:44:eb:16-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1007,7 +1007,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-mw1pqqqt-ts0003.json b/tests/data/devices/tz3000-mw1pqqqt-ts0003.json index 362b91d8a..6f1c48a38 100644 --- a/tests/data/devices/tz3000-mw1pqqqt-ts0003.json +++ b/tests/data/devices/tz3000-mw1pqqqt-ts0003.json @@ -1361,7 +1361,7 @@ "unique_id": "ab:cd:ef:12:2c:e2:6d:88-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1378,7 +1378,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-npzfdcof-ts0001.json b/tests/data/devices/tz3000-npzfdcof-ts0001.json index 24844a3a7..e48680c63 100644 --- a/tests/data/devices/tz3000-npzfdcof-ts0001.json +++ b/tests/data/devices/tz3000-npzfdcof-ts0001.json @@ -989,7 +989,7 @@ "unique_id": "ab:cd:ef:12:37:97:29:ff-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1006,7 +1006,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-okaz9tjs-ts011f.json b/tests/data/devices/tz3000-okaz9tjs-ts011f.json index eaa93a9ba..114891e1d 100644 --- a/tests/data/devices/tz3000-okaz9tjs-ts011f.json +++ b/tests/data/devices/tz3000-okaz9tjs-ts011f.json @@ -881,7 +881,7 @@ "unique_id": "ab:cd:ef:12:44:63:a9:95-1-1794-summation_delivered", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "translation_key": "summation_delivered", "translation_placeholders": null, "device_class": "energy", @@ -898,7 +898,7 @@ "unit": "kWh" }, "state": { - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "available": true, "state": 0.0, "device_type": "Electric Metering", @@ -917,7 +917,7 @@ "unique_id": "ab:cd:ef:12:44:63:a9:95-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -934,7 +934,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-pl5v1yyy-ts011f.json b/tests/data/devices/tz3000-pl5v1yyy-ts011f.json index fa204074e..0524b1607 100644 --- a/tests/data/devices/tz3000-pl5v1yyy-ts011f.json +++ b/tests/data/devices/tz3000-pl5v1yyy-ts011f.json @@ -1229,7 +1229,7 @@ "unique_id": "ab:cd:ef:12:89:87:b0:a2-1-1794-summation_delivered", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "translation_key": "summation_delivered", "translation_placeholders": null, "device_class": "energy", @@ -1246,7 +1246,7 @@ "unit": "kWh" }, "state": { - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "available": true, "state": 0.0, "device_type": "Electric Metering", @@ -1265,7 +1265,7 @@ "unique_id": "ab:cd:ef:12:89:87:b0:a2-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1282,7 +1282,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-r6buo8ba-ts011f.json b/tests/data/devices/tz3000-r6buo8ba-ts011f.json index 9ea478549..5fef19c2b 100644 --- a/tests/data/devices/tz3000-r6buo8ba-ts011f.json +++ b/tests/data/devices/tz3000-r6buo8ba-ts011f.json @@ -835,7 +835,7 @@ "unique_id": "ab:cd:ef:12:d7:9b:67:b6-1-1794-summation_delivered", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "translation_key": "summation_delivered", "translation_placeholders": null, "device_class": "energy", @@ -852,7 +852,7 @@ "unit": "kWh" }, "state": { - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "available": true, "state": 95.36, "zcl_unit_of_measurement": 0 @@ -869,7 +869,7 @@ "unique_id": "ab:cd:ef:12:d7:9b:67:b6-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -886,7 +886,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 1.0 }, diff --git a/tests/data/devices/tz3000-sgb0xhwn-ts011f.json b/tests/data/devices/tz3000-sgb0xhwn-ts011f.json index dc4365b8e..9fe90ce72 100644 --- a/tests/data/devices/tz3000-sgb0xhwn-ts011f.json +++ b/tests/data/devices/tz3000-sgb0xhwn-ts011f.json @@ -1105,7 +1105,7 @@ "unique_id": "ab:cd:ef:12:d4:a5:92:4b-1-1794-summation_delivered", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "translation_key": "summation_delivered", "translation_placeholders": null, "device_class": "energy", @@ -1122,7 +1122,7 @@ "unit": "kWh" }, "state": { - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "available": true, "state": 0.0, "device_type": "Electric Metering", @@ -1141,7 +1141,7 @@ "unique_id": "ab:cd:ef:12:d4:a5:92:4b-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1158,7 +1158,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-tgddllx4-ts0001.json b/tests/data/devices/tz3000-tgddllx4-ts0001.json index 2e778be86..da27c3996 100644 --- a/tests/data/devices/tz3000-tgddllx4-ts0001.json +++ b/tests/data/devices/tz3000-tgddllx4-ts0001.json @@ -898,7 +898,7 @@ "unique_id": "ab:cd:ef:12:02:1f:a7:43-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -915,7 +915,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-tqlv4ug4-ts0001.json b/tests/data/devices/tz3000-tqlv4ug4-ts0001.json index 72533b03c..56355c9c2 100644 --- a/tests/data/devices/tz3000-tqlv4ug4-ts0001.json +++ b/tests/data/devices/tz3000-tqlv4ug4-ts0001.json @@ -1114,7 +1114,7 @@ "unique_id": "ab:cd:ef:12:ab:aa:f0:9a-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1131,7 +1131,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-typdpbpg-ts011f.json b/tests/data/devices/tz3000-typdpbpg-ts011f.json index 5e85fc4ae..3dc803780 100644 --- a/tests/data/devices/tz3000-typdpbpg-ts011f.json +++ b/tests/data/devices/tz3000-typdpbpg-ts011f.json @@ -1075,7 +1075,7 @@ "unique_id": "ab:cd:ef:12:fe:eb:bf:54-1-1794-summation_delivered", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "translation_key": "summation_delivered", "translation_placeholders": null, "device_class": "energy", @@ -1092,7 +1092,7 @@ "unit": "kWh" }, "state": { - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "available": true, "state": 3.87, "device_type": "Electric Metering", @@ -1111,7 +1111,7 @@ "unique_id": "ab:cd:ef:12:fe:eb:bf:54-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1128,7 +1128,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 1.0 }, diff --git a/tests/data/devices/tz3000-uwkja6z1-ts011f.json b/tests/data/devices/tz3000-uwkja6z1-ts011f.json index ef1c96216..f6ea423c9 100644 --- a/tests/data/devices/tz3000-uwkja6z1-ts011f.json +++ b/tests/data/devices/tz3000-uwkja6z1-ts011f.json @@ -1511,7 +1511,7 @@ "unique_id": "ab:cd:ef:12:29:ef:78:8d-1-1794-summation_delivered", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "translation_key": "summation_delivered", "translation_placeholders": null, "device_class": "energy", @@ -1528,7 +1528,7 @@ "unit": "kWh" }, "state": { - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "available": true, "state": 318.0, "device_type": "Electric Metering", @@ -1547,7 +1547,7 @@ "unique_id": "ab:cd:ef:12:29:ef:78:8d-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1564,7 +1564,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, @@ -1643,7 +1643,7 @@ "unique_id": "ab:cd:ef:12:29:ef:78:8d-2-1794-summation_delivered", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "translation_key": "summation_delivered", "translation_placeholders": null, "device_class": "energy", @@ -1660,7 +1660,7 @@ "unit": "kWh" }, "state": { - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "available": true, "state": 318.0, "device_type": "Electric Metering", @@ -1679,7 +1679,7 @@ "unique_id": "ab:cd:ef:12:29:ef:78:8d-2-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1696,7 +1696,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-w0qqde0g-ts011f.json b/tests/data/devices/tz3000-w0qqde0g-ts011f.json index 4794cad55..1f78ae276 100644 --- a/tests/data/devices/tz3000-w0qqde0g-ts011f.json +++ b/tests/data/devices/tz3000-w0qqde0g-ts011f.json @@ -921,7 +921,7 @@ "unique_id": "ab:cd:ef:12:b6:0e:f6:2e-1-1794-summation_delivered", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "translation_key": "summation_delivered", "translation_placeholders": null, "device_class": "energy", @@ -938,7 +938,7 @@ "unit": "kWh" }, "state": { - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "available": true, "state": 0.0, "zcl_unit_of_measurement": 0 @@ -955,7 +955,7 @@ "unique_id": "ab:cd:ef:12:b6:0e:f6:2e-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -972,7 +972,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-xkap8wtb-ts000f.json b/tests/data/devices/tz3000-xkap8wtb-ts000f.json index 1163e32a7..bc2410651 100644 --- a/tests/data/devices/tz3000-xkap8wtb-ts000f.json +++ b/tests/data/devices/tz3000-xkap8wtb-ts000f.json @@ -994,7 +994,7 @@ "unique_id": "ab:cd:ef:12:07:f0:0f:c0-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1011,7 +1011,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-ynmowqk2-ts011f.json b/tests/data/devices/tz3000-ynmowqk2-ts011f.json index 1b264dfad..389c5b9e6 100644 --- a/tests/data/devices/tz3000-ynmowqk2-ts011f.json +++ b/tests/data/devices/tz3000-ynmowqk2-ts011f.json @@ -870,7 +870,7 @@ "unique_id": "ab:cd:ef:12:91:a9:a4:a5-1-1794-summation_delivered", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "translation_key": "summation_delivered", "translation_placeholders": null, "device_class": "energy", @@ -887,7 +887,7 @@ "unit": "kWh" }, "state": { - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "available": true, "state": 0.0, "device_type": "Electric Metering", @@ -906,7 +906,7 @@ "unique_id": "ab:cd:ef:12:91:a9:a4:a5-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -923,7 +923,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tz3000-zv6x8bt2-ts011f.json b/tests/data/devices/tz3000-zv6x8bt2-ts011f.json index 9da3964d0..2ea8946ed 100644 --- a/tests/data/devices/tz3000-zv6x8bt2-ts011f.json +++ b/tests/data/devices/tz3000-zv6x8bt2-ts011f.json @@ -1043,7 +1043,7 @@ "unique_id": "ab:cd:ef:12:85:03:69:d5-1-1794-summation_delivered", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "translation_key": "summation_delivered", "translation_placeholders": null, "device_class": "energy", @@ -1060,7 +1060,7 @@ "unit": "kWh" }, "state": { - "class_name": "PolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "available": true, "state": 1.67, "device_type": "Electric Metering", @@ -1079,7 +1079,7 @@ "unique_id": "ab:cd:ef:12:85:03:69:d5-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1096,7 +1096,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 1415.0 }, diff --git a/tests/data/devices/tz3000-zw7yf6yk-ts0001.json b/tests/data/devices/tz3000-zw7yf6yk-ts0001.json index 6da743033..6293e12c8 100644 --- a/tests/data/devices/tz3000-zw7yf6yk-ts0001.json +++ b/tests/data/devices/tz3000-zw7yf6yk-ts0001.json @@ -953,7 +953,7 @@ "unique_id": "ab:cd:ef:12:3f:75:01:c9-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -970,7 +970,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0 }, diff --git a/tests/data/devices/tze200-bkkmqmyo-ts0601.json b/tests/data/devices/tze200-bkkmqmyo-ts0601.json index a094a3396..f911c6dd1 100644 --- a/tests/data/devices/tze200-bkkmqmyo-ts0601.json +++ b/tests/data/devices/tze200-bkkmqmyo-ts0601.json @@ -997,7 +997,7 @@ "unique_id": "ab:cd:ef:12:ab:88:33:32-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1014,7 +1014,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 8.0 }, diff --git a/tests/data/devices/tze200-byzdayie-ts0601.json b/tests/data/devices/tze200-byzdayie-ts0601.json index e1264d306..3cc330ba5 100644 --- a/tests/data/devices/tze200-byzdayie-ts0601.json +++ b/tests/data/devices/tze200-byzdayie-ts0601.json @@ -939,7 +939,7 @@ "unique_id": "ab:cd:ef:12:d9:70:11:36-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -956,7 +956,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 184.8 }, diff --git a/tests/data/devices/tze200-ewxhg6o9-ts0601.json b/tests/data/devices/tze200-ewxhg6o9-ts0601.json index 3671d2812..c50c94573 100644 --- a/tests/data/devices/tze200-ewxhg6o9-ts0601.json +++ b/tests/data/devices/tze200-ewxhg6o9-ts0601.json @@ -877,7 +877,7 @@ "unique_id": "ab:cd:ef:12:5e:6a:9a:13-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -894,7 +894,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 52.8 }, diff --git a/tests/data/devices/tze200-ny94onlb-ts0601.json b/tests/data/devices/tze200-ny94onlb-ts0601.json index 298926439..2a602b719 100644 --- a/tests/data/devices/tze200-ny94onlb-ts0601.json +++ b/tests/data/devices/tze200-ny94onlb-ts0601.json @@ -2072,7 +2072,7 @@ "unique_id": "ab:cd:ef:12:58:8c:89:ff-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -2089,7 +2089,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 298.0 }, @@ -2360,7 +2360,7 @@ "unique_id": "ab:cd:ef:12:58:8c:89:ff-10-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -2377,7 +2377,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 298.0 }, @@ -2456,7 +2456,7 @@ "unique_id": "ab:cd:ef:12:58:8c:89:ff-20-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -2473,7 +2473,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 266.0 }, @@ -2552,7 +2552,7 @@ "unique_id": "ab:cd:ef:12:58:8c:89:ff-30-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -2569,7 +2569,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 70.0 }, diff --git a/tests/data/devices/tze200-v9hkz2yn-ts0601.json b/tests/data/devices/tze200-v9hkz2yn-ts0601.json index 2f86d7783..7c0e1b41e 100644 --- a/tests/data/devices/tze200-v9hkz2yn-ts0601.json +++ b/tests/data/devices/tze200-v9hkz2yn-ts0601.json @@ -877,7 +877,7 @@ "unique_id": "ab:cd:ef:12:f7:c5:4c:1d-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -894,7 +894,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 35.0 }, diff --git a/tests/data/devices/tze204-81yrt3lo-ts0601.json b/tests/data/devices/tze204-81yrt3lo-ts0601.json index 38a5d32cb..203c030be 100644 --- a/tests/data/devices/tze204-81yrt3lo-ts0601.json +++ b/tests/data/devices/tze204-81yrt3lo-ts0601.json @@ -2080,7 +2080,7 @@ "unique_id": "ab:cd:ef:12:22:09:db:75-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -2097,7 +2097,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -2381,7 +2381,7 @@ "unique_id": "ab:cd:ef:12:22:09:db:75-2-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -2398,7 +2398,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 52.5, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" @@ -2616,7 +2616,7 @@ "unique_id": "ab:cd:ef:12:22:09:db:75-3-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -2633,7 +2633,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 52.5, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" diff --git a/tests/data/devices/tze204-bkkmqmyo-ts0601.json b/tests/data/devices/tze204-bkkmqmyo-ts0601.json index 12cbad06c..0fb51c128 100644 --- a/tests/data/devices/tze204-bkkmqmyo-ts0601.json +++ b/tests/data/devices/tze204-bkkmqmyo-ts0601.json @@ -919,7 +919,7 @@ "unique_id": "ab:cd:ef:12:83:e9:5e:8c-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -936,7 +936,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 10.0 }, diff --git a/tests/data/devices/ubisys-s1-5501.json b/tests/data/devices/ubisys-s1-5501.json index 91cb26645..2c4820b1a 100644 --- a/tests/data/devices/ubisys-s1-5501.json +++ b/tests/data/devices/ubisys-s1-5501.json @@ -1161,7 +1161,7 @@ "unique_id": "ab:cd:ef:12:e4:d6:5c:c2-3-1794-summation_delivered", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "ExposedFeaturePolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "translation_key": "summation_delivered", "translation_placeholders": null, "device_class": "energy", @@ -1178,7 +1178,7 @@ "unit": "kWh" }, "state": { - "class_name": "ExposedFeaturePolledSmartEnergySummation", + "class_name": "SmartEnergySummation", "available": true, "state": 0.0, "status": "NO_ALARMS", @@ -1196,7 +1196,7 @@ "unique_id": "ab:cd:ef:12:e4:d6:5c:c2-3-1794-summation_received", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "ExposedFeaturePolledSmartEnergySummationReceived", + "class_name": "SmartEnergySummationReceived", "translation_key": "summation_received", "translation_placeholders": null, "device_class": "energy", @@ -1213,7 +1213,7 @@ "unit": "kWh" }, "state": { - "class_name": "ExposedFeaturePolledSmartEnergySummationReceived", + "class_name": "SmartEnergySummationReceived", "available": true, "state": 0.0, "status": "NO_ALARMS", @@ -1231,7 +1231,7 @@ "unique_id": "ab:cd:ef:12:e4:d6:5c:c2-3-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "UbisysPolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1248,7 +1248,7 @@ "unit": "W" }, "state": { - "class_name": "UbisysPolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT, REACTIVE_MEASUREMENT, APPARENT_MEASUREMENT, PHASE_A_MEASUREMENT" diff --git a/tests/data/devices/zbeacon-ts0505.json b/tests/data/devices/zbeacon-ts0505.json index 036bd6591..ea49697f8 100644 --- a/tests/data/devices/zbeacon-ts0505.json +++ b/tests/data/devices/zbeacon-ts0505.json @@ -1220,7 +1220,7 @@ "unique_id": "ab:cd:ef:12:ba:80:83:70-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1237,7 +1237,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": null }, From aef7bb6d3a6404910e3d18e142e62203a223d6a9 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Mon, 18 May 2026 19:52:22 -0400 Subject: [PATCH 56/85] Re-add separate handler for devices that can report EM attributes --- zha/application/platforms/__init__.py | 3 ++ zha/application/platforms/sensor/__init__.py | 31 +++++++++++++++++--- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index ad6ad6c7a..a83a15723 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -66,6 +66,9 @@ class PlatformFeatureGroup(StrEnum): # Manufacturer-specific overrides for EM active power polling EM_ACTIVE_POWER = "em_active_power" + # Suppress EM cluster polling for devices known to report reliably + EM_POLLING = "em_polling" + # Model-specific overrides for Smart Energy Summation SMART_ENERGY_SUMMATION = "smart_energy_summation" diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index c8affe770..0c0787c4d 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -922,9 +922,9 @@ async def async_update(self) -> None: for attr_def, attr_cfg in cfg.attributes.items(): if attr_cfg.reporting is None: continue - name = attr_def.name - if not self._cluster.is_attribute_unsupported(name): - attrs.add(name) + if self._cluster.is_attribute_unsupported(attr_def): + continue + attrs.add(attr_def.name) if not attrs: return @@ -943,6 +943,24 @@ class ElectricalMeasurementPoller(AggregatedClusterPoller): _cluster_id = ElectricalMeasurement.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({ElectricalMeasurement.cluster_id}), + feature_priority=(PlatformFeatureGroup.EM_POLLING, 0), + ) + + +@register_entity(ElectricalMeasurement.cluster_id) +class ElectricalMeasurementReportingDevice(VirtualEntity): + """Claims the EM polling slot for devices that support reporting. + + Higher priority than the default `ElectricalMeasurementPoller`, so for + matching models the poller is not registered and no polling occurs. + """ + + _unique_id_suffix = "em_reporting_device" + _cluster_id = ElectricalMeasurement.cluster_id + _cluster_match = ClusterMatch( + server_clusters=frozenset({ElectricalMeasurement.cluster_id}), + models=frozenset({"VZM31-SN", "SP 234", "outletv4", "INSPELNING Smart plug"}), + feature_priority=(PlatformFeatureGroup.EM_POLLING, 1), ) @@ -2063,12 +2081,17 @@ class SmartEnergyMeteringEntityDescription: @register_entity(Metering.cluster_id) class MeteringPoller(AggregatedClusterPoller): - """Polls the Metering cluster on behalf of sibling entities that need updates.""" + """Polls the Metering cluster for models known to need polling. + + Default Metering devices report reliably; only this short list of models + are known to require polling. + """ _unique_id_suffix = "metering_poller" _cluster_id = Metering.cluster_id _cluster_match = ClusterMatch( server_clusters=frozenset({Metering.cluster_id}), + models=frozenset({"TS011F", "ZLinky_TIC", "TICMeter"}), ) From 33d585e2382cae202f952f04d4f465bc090ef85a Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Mon, 18 May 2026 21:05:45 -0400 Subject: [PATCH 57/85] Add missing exposed feature quirk for `SE_POLL_SUMMATION` --- zha/application/platforms/sensor/__init__.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 0c0787c4d..67cfc86b8 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -15,7 +15,7 @@ from typing import TYPE_CHECKING, Any, cast from zhaquirks.danfoss import thermostat as danfoss_thermostat -from zhaquirks.quirk_ids import DANFOSS_ALLY_THERMOSTAT +from zhaquirks.quirk_ids import DANFOSS_ALLY_THERMOSTAT, SE_POLL_SUMMATION from zigpy import types from zigpy.quirks.v2 import ZCLEnumMetadata, ZCLSensorMetadata from zigpy.state import Counter, State @@ -2095,6 +2095,17 @@ class MeteringPoller(AggregatedClusterPoller): ) +@register_entity(Metering.cluster_id) +class ExposedFeatureMeteringPoller(MeteringPoller): + """Polls the Metering cluster for devices whose quirk exposes SE_POLL_SUMMATION.""" + + _unique_id_suffix = "metering_poller" + _cluster_match = ClusterMatch( + server_clusters=frozenset({Metering.cluster_id}), + exposed_features=frozenset({SE_POLL_SUMMATION}), + ) + + @register_entity(Metering.cluster_id) class SmartEnergyMetering(Sensor): """Metering sensor.""" From 63b8ad3382de8c7803d7673abc129ae3814c8971 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 19 May 2026 15:05:11 -0400 Subject: [PATCH 58/85] Refactor siren select entities to avoid `cluster_runtime_state` hack --- zha/application/discovery.py | 13 +--- zha/application/helpers.py | 14 ---- zha/application/platforms/__init__.py | 46 ++++-------- .../platforms/binary_sensor/__init__.py | 3 +- zha/application/platforms/button/__init__.py | 5 +- zha/application/platforms/fan/__init__.py | 6 +- zha/application/platforms/lock/__init__.py | 3 +- zha/application/platforms/number/__init__.py | 5 +- zha/application/platforms/select.py | 71 +++++++++---------- zha/application/platforms/sensor/__init__.py | 3 +- zha/application/platforms/siren.py | 37 ++++++---- zha/application/platforms/switch.py | 5 +- zha/application/platforms/update.py | 3 +- zha/application/platforms/virtual.py | 4 +- zha/zigbee/device.py | 24 +++++++ 15 files changed, 111 insertions(+), 131 deletions(-) diff --git a/zha/application/discovery.py b/zha/application/discovery.py index b3faac8c4..5102af676 100644 --- a/zha/application/discovery.py +++ b/zha/application/discovery.py @@ -32,7 +32,6 @@ ClusterMatch, PlatformEntity, PlatformFeatureGroup, - ZCLClusterEntity, alarm_control_panel, binary_sensor, button, @@ -85,7 +84,7 @@ def _pick_primary_cluster(endpoint: Endpoint, match: ClusterMatch) -> Cluster | None: - """Pick the primary cluster for a ZCLClusterEntity from a ClusterMatch.""" + """Pick the primary cluster for an entity from a ClusterMatch.""" if match.server_clusters: cluster_id = next(iter(match.server_clusters)) return endpoint.zigpy_endpoint.in_clusters.get(cluster_id) @@ -570,14 +569,8 @@ def discover_entities_for_endpoint(endpoint: Endpoint) -> Iterator[PlatformEntit ) kwargs: dict[str, Any] = {} - if issubclass(entity_class, ZCLClusterEntity): - cluster = _pick_primary_cluster(endpoint, match) - if cluster is None: - _LOGGER.error( - "ZCLClusterEntity %s could not resolve a primary cluster", - entity_class.__name__, - ) - continue + cluster = _pick_primary_cluster(endpoint, match) + if cluster is not None: kwargs["cluster"] = cluster try: diff --git a/zha/application/helpers.py b/zha/application/helpers.py index ed24526d7..906ef7108 100644 --- a/zha/application/helpers.py +++ b/zha/application/helpers.py @@ -114,20 +114,6 @@ async def safe_read( return result -def cluster_runtime_state(cluster: zigpy.zcl.Cluster) -> dict[str, Any]: - """Return a per-cluster, in-memory runtime state dict. - - Used for cross-entity coordination state (e.g. siren preference values set - by select entities and read back by the siren entity) that does not belong - in the ZCL attribute cache. - """ - cache = getattr(cluster, "_zha_runtime_state", None) - if cache is None: - cache = {} - cluster._zha_runtime_state = cache - return cache - - async def write_attributes_safe( cluster: zigpy.zcl.Cluster, attributes: dict[str, Any], diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index a83a15723..1109479c6 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -495,6 +495,7 @@ def __init__( endpoint: Endpoint, device: Device, *, + cluster: zigpy.zcl.Cluster, entity_metadata: EntityMetadata | None = None, legacy_discovery_unique_id: str | None = None, **kwargs: Any, @@ -503,10 +504,13 @@ def __init__( if entity_metadata is not None: self._init_from_quirks_metadata(entity_metadata) - if legacy_discovery_unique_id is None and entity_metadata is not None: - legacy_discovery_unique_id = f"{device.ieee}-{endpoint.id}" - - assert legacy_discovery_unique_id is not None + if legacy_discovery_unique_id is None: + if entity_metadata is not None: + legacy_discovery_unique_id = f"{device.ieee}-{endpoint.id}" + else: + legacy_discovery_unique_id = ( + f"{device.ieee}-{endpoint.id}-{cluster.cluster_id}" + ) if self._unique_id_suffix is not None: unique_id = f"{legacy_discovery_unique_id}-{self._unique_id_suffix}" @@ -517,6 +521,7 @@ def __init__( self._device: Device = device self._endpoint = endpoint + self._cluster: zigpy.zcl.Cluster = cluster def _init_from_quirks_metadata(self, entity_metadata: EntityMetadata) -> None: """Init this entity from the quirks metadata.""" @@ -588,6 +593,11 @@ def endpoint(self) -> Endpoint: """Return the endpoint.""" return self._endpoint + @property + def cluster(self) -> zigpy.zcl.Cluster: + """Return the ZCL cluster backing this entity.""" + return self._cluster + @property def should_poll(self) -> bool: """Return True if we need to poll for state changes.""" @@ -613,34 +623,6 @@ async def async_update(self) -> None: """ -class ZCLClusterEntity(PlatformEntity): - """A platform entity scoped to a specific ZCL cluster on an endpoint.""" - - def __init__( - self, - endpoint: Endpoint, - device: Device, - *, - cluster: zigpy.zcl.Cluster, - entity_metadata: EntityMetadata | None = None, - legacy_discovery_unique_id: str | None = None, - **kwargs: Any, - ) -> None: - """Initialize the ZCL cluster entity.""" - self._cluster = cluster - if legacy_discovery_unique_id is None and entity_metadata is None: - legacy_discovery_unique_id = ( - f"{device.ieee}-{endpoint.id}-{cluster.cluster_id}" - ) - super().__init__( - endpoint=endpoint, - device=device, - entity_metadata=entity_metadata, - legacy_discovery_unique_id=legacy_discovery_unique_id, - **kwargs, - ) - - class GroupEntity(BaseEntity): """A base class for group entities.""" diff --git a/zha/application/platforms/binary_sensor/__init__.py b/zha/application/platforms/binary_sensor/__init__.py index ca56bc8c3..9b7069c5e 100644 --- a/zha/application/platforms/binary_sensor/__init__.py +++ b/zha/application/platforms/binary_sensor/__init__.py @@ -34,7 +34,6 @@ EntityCategory, PlatformEntity, PlatformFeatureGroup, - ZCLClusterEntity, register_entity, ) from zha.application.platforms.binary_sensor.const import ( @@ -82,7 +81,7 @@ def is_on(self) -> bool: """Return True if the binary sensor is on.""" -class BinarySensor(BaseBinarySensor, ZCLClusterEntity): +class BinarySensor(BaseBinarySensor): """ZHA BinarySensor.""" _attr_device_class: BinarySensorDeviceClass | None diff --git a/zha/application/platforms/button/__init__.py b/zha/application/platforms/button/__init__.py index 902c26297..12d32a3fd 100644 --- a/zha/application/platforms/button/__init__.py +++ b/zha/application/platforms/button/__init__.py @@ -19,7 +19,6 @@ ClusterMatch, EntityCategory, PlatformEntity, - ZCLClusterEntity, register_entity, ) from zha.application.platforms.button.const import DEFAULT_DURATION, ButtonDeviceClass @@ -72,7 +71,7 @@ async def async_press(self) -> None: """Send out a press command.""" -class Button(BaseButton, ZCLClusterEntity): +class Button(BaseButton): """Defines a ZHA button.""" _command_name: str @@ -137,7 +136,7 @@ def is_supported_in_list(self, entities: list[BaseEntity]) -> bool: return not any(type(entity) is cls for entity in entities if entity is not self) -class WriteAttributeButton(BaseButton, ZCLClusterEntity): +class WriteAttributeButton(BaseButton): """Defines a ZHA button, which writes a value to an attribute.""" _attribute_name: str diff --git a/zha/application/platforms/fan/__init__.py b/zha/application/platforms/fan/__init__.py index 3923b822e..db52a42fe 100644 --- a/zha/application/platforms/fan/__init__.py +++ b/zha/application/platforms/fan/__init__.py @@ -26,8 +26,8 @@ ClusterConfig, ClusterMatch, GroupEntity, + PlatformEntity, PlatformFeatureGroup, - ZCLClusterEntity, register_entity, register_group_entity, ) @@ -247,7 +247,7 @@ def percentage_to_speed(self, percentage: int) -> str: @register_entity(hvac.Fan.cluster_id) -class Fan(BaseFan, ZCLClusterEntity): +class Fan(BaseFan, PlatformEntity): """Representation of a ZHA fan.""" _cluster_match = ClusterMatch( @@ -399,7 +399,7 @@ def update(self, _: Any = None) -> None: @register_entity(IKEA_AIR_PURIFIER_CLUSTER) -class IkeaFan(BaseFan, ZCLClusterEntity): +class IkeaFan(BaseFan, PlatformEntity): """Representation of an Ikea fan.""" _attr_supported_features: FanEntityFeature = ( diff --git a/zha/application/platforms/lock/__init__.py b/zha/application/platforms/lock/__init__.py index d75cb765a..563e51b99 100644 --- a/zha/application/platforms/lock/__init__.py +++ b/zha/application/platforms/lock/__init__.py @@ -22,7 +22,6 @@ ClusterConfig, ClusterMatch, PlatformEntity, - ZCLClusterEntity, register_entity, ) from zha.application.platforms.lock.const import ( @@ -63,7 +62,7 @@ async def async_unlock(self) -> None: @register_entity(DoorLockCluster.cluster_id) -class DoorLock(BaseLock, ZCLClusterEntity): +class DoorLock(BaseLock): """Representation of a ZHA lock.""" _attr_translation_key: str = "door_lock" diff --git a/zha/application/platforms/number/__init__.py b/zha/application/platforms/number/__init__.py index 8a8a2a76d..c2ed5882b 100644 --- a/zha/application/platforms/number/__init__.py +++ b/zha/application/platforms/number/__init__.py @@ -32,7 +32,6 @@ EntityCategory, PlatformEntity, PlatformFeatureGroup, - ZCLClusterEntity, register_entity, ) from zha.application.platforms.const import ( @@ -133,7 +132,7 @@ async def async_set_native_value(self, value: float) -> None: @register_entity(AnalogOutput.cluster_id) -class AnalogOutputNumber(BaseNumber, ZCLClusterEntity): +class AnalogOutputNumber(BaseNumber): """Representation of a ZHA Number entity.""" _cluster_match = ClusterMatch( @@ -251,7 +250,7 @@ def handle_attribute_updated( self.maybe_emit_state_changed_event() -class NumberConfigurationEntity(BaseNumber, ZCLClusterEntity): +class NumberConfigurationEntity(BaseNumber): """Representation of a ZHA number configuration entity.""" _attr_entity_category = EntityCategory.CONFIG diff --git a/zha/application/platforms/select.py b/zha/application/platforms/select.py index aa45c2003..fc14eed48 100644 --- a/zha/application/platforms/select.py +++ b/zha/application/platforms/select.py @@ -7,7 +7,7 @@ from enum import Enum import functools import logging -from typing import TYPE_CHECKING, Any +from typing import TYPE_CHECKING, Any, cast from zhaquirks.danfoss import thermostat as danfoss_thermostat from zhaquirks.quirk_ids import ( @@ -35,15 +35,15 @@ from zha.application import Platform from zha.application.const import Strobe -from zha.application.helpers import cluster_runtime_state, write_attributes_safe +from zha.application.helpers import write_attributes_safe from zha.application.platforms import ( AttrConfig, + BaseEntity, BaseEntityInfo, ClusterConfig, ClusterMatch, EntityCategory, PlatformEntity, - ZCLClusterEntity, register_entity, ) from zha.application.platforms.const import ( @@ -52,6 +52,7 @@ SINOPE_MANUFACTURER_CLUSTER, TUYA_MANUFACTURER_CLUSTER, ) +from zha.application.platforms.siren import AdvancedSiren if TYPE_CHECKING: from zha.zigbee.device import Device @@ -68,8 +69,8 @@ class EnumSelectInfo(BaseEntityInfo): options: list[str] -class BaseSelectEntity(PlatformEntity, ABC): - """Abstract base class for ZHA select entities.""" +class BaseSelectEntity(BaseEntity, ABC): + """Abstract base class for select entities (platform-agnostic).""" PLATFORM = Platform.SELECT @@ -97,11 +98,10 @@ async def async_select_option(self, option: str) -> None: """Change the selected option.""" -class EnumSelectEntity(BaseSelectEntity, ZCLClusterEntity): - """Representation of a ZHA select entity.""" +class SirenDefaultSelectEntity(BaseSelectEntity, PlatformEntity): + """Select entity whose state lives on the AdvancedSiren on the same cluster.""" _attr_entity_category = EntityCategory.CONFIG - _attribute_name: str _enum: type[Enum] def __init__( @@ -111,7 +111,6 @@ def __init__( **kwargs: Any, ) -> None: """Init this select entity.""" - self._attribute_name = self._enum.__name__ self._attr_options = [entry.name.replace("_", " ") for entry in self._enum] super().__init__(endpoint=endpoint, device=device, **kwargs) @@ -124,19 +123,32 @@ def info_object(self) -> EnumSelectInfo: options=self.options, ) + @property + def available(self) -> bool: + """Return entity availability.""" + return True + + def _siren(self) -> AdvancedSiren: + return cast( + AdvancedSiren, + self._device.get_entity( + Platform.SIREN, + endpoint_id=self._endpoint.id, + cluster_id=IasWd.cluster_id, + ), + ) + @property def current_option(self) -> str | None: """Return the selected entity option to represent the entity state.""" - option = cluster_runtime_state(self._cluster).get(self._attribute_name) - if option is None: + value = self._siren().defaults[self._enum] + if value is None: return None - return option.name.replace("_", " ") + return value.name.replace("_", " ") async def async_select_option(self, option: str) -> None: """Change the selected option.""" - cluster_runtime_state(self._cluster)[self._attribute_name] = self._enum[ - option.replace(" ", "_") - ] + self._siren().defaults[self._enum] = self._enum[option.replace(" ", "_")] self.maybe_emit_state_changed_event() def restore_external_state_attributes( @@ -145,28 +157,11 @@ def restore_external_state_attributes( state: str, ) -> None: """Restore extra state attributes that are stored outside of the ZCL cache.""" - value = state.replace(" ", "_") - cluster_runtime_state(self._cluster)[self._attribute_name] = self._enum[value] - - -class NonZCLSelectEntity(EnumSelectEntity): - """Representation of a ZHA select entity with no ZCL interaction.""" - - _cluster_id = IasWd.cluster_id - _server_cluster_config = { - IasWd.cluster_id: ClusterConfig( - bind=True, - ), - } - - @property - def available(self) -> bool: - """Return entity availability.""" - return True + self._siren().defaults[self._enum] = self._enum[state.replace(" ", "_")] @register_entity(IasWd.cluster_id) -class DefaultToneSelectEntity(NonZCLSelectEntity): +class DefaultToneSelectEntity(SirenDefaultSelectEntity): """Representation of a ZHA default siren tone select entity.""" _unique_id_suffix = "WarningMode" @@ -180,7 +175,7 @@ class DefaultToneSelectEntity(NonZCLSelectEntity): @register_entity(IasWd.cluster_id) -class DefaultSirenLevelSelectEntity(NonZCLSelectEntity): +class DefaultSirenLevelSelectEntity(SirenDefaultSelectEntity): """Representation of a ZHA default siren level select entity.""" _unique_id_suffix = "SirenLevel" @@ -194,7 +189,7 @@ class DefaultSirenLevelSelectEntity(NonZCLSelectEntity): @register_entity(IasWd.cluster_id) -class DefaultStrobeLevelSelectEntity(NonZCLSelectEntity): +class DefaultStrobeLevelSelectEntity(SirenDefaultSelectEntity): """Representation of a ZHA default siren strobe level select entity.""" _unique_id_suffix = "StrobeLevel" @@ -208,7 +203,7 @@ class DefaultStrobeLevelSelectEntity(NonZCLSelectEntity): @register_entity(IasWd.cluster_id) -class DefaultStrobeSelectEntity(NonZCLSelectEntity): +class DefaultStrobeSelectEntity(SirenDefaultSelectEntity): """Representation of a ZHA default siren strobe select entity.""" _unique_id_suffix = "Strobe" @@ -221,7 +216,7 @@ class DefaultStrobeSelectEntity(NonZCLSelectEntity): ) -class ZCLEnumSelectEntity(BaseSelectEntity, ZCLClusterEntity): +class ZCLEnumSelectEntity(BaseSelectEntity, PlatformEntity): """Representation of a ZHA ZCL enum select entity.""" _attribute_name: str diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 67cfc86b8..34b98fc4b 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -70,7 +70,6 @@ EntityCategory, PlatformEntity, PlatformFeatureGroup, - ZCLClusterEntity, register_entity, ) from zha.application.platforms.climate.const import HVACAction @@ -233,7 +232,7 @@ def native_value(self) -> date | datetime | str | int | float | None: """Return the current sensor value.""" -class Sensor(BaseSensor, ZCLClusterEntity): +class Sensor(BaseSensor): """Base ZHA sensor.""" _attribute_name: int | str | None = None diff --git a/zha/application/platforms/siren.py b/zha/application/platforms/siren.py index 29590c854..571a5f47a 100644 --- a/zha/application/platforms/siren.py +++ b/zha/application/platforms/siren.py @@ -6,7 +6,7 @@ import asyncio import contextlib from dataclasses import dataclass -from enum import IntFlag +from enum import Enum, IntFlag import functools from typing import TYPE_CHECKING, Any, Final @@ -28,7 +28,6 @@ WARNING_DEVICE_STROBE_NO, Strobe, ) -from zha.application.helpers import cluster_runtime_state from zha.application.platforms import ( BaseEntityInfo, ClusterConfig, @@ -189,7 +188,6 @@ def __init__( **kwargs: Any, ) -> None: """Init ZCL siren base.""" - self._cluster = endpoint.zigpy_endpoint.in_clusters[IasWd.cluster_id] self._off_listener = None legacy_discovery_unique_id = ( @@ -251,6 +249,8 @@ class AdvancedSiren(BaseZclSiren): feature_priority=(PlatformFeatureGroup.SIREN, 0), ) + defaults: dict[type[Enum], Enum | None] + def __init__( self, endpoint: Endpoint, @@ -274,6 +274,12 @@ def __init__( WARNING_DEVICE_MODE_FIRE_PANIC: "Fire Panic", WARNING_DEVICE_MODE_EMERGENCY_PANIC: "Emergency Panic", } + self.defaults = { + IasWd.Warning.WarningMode: None, + IasWd.Warning.SirenLevel: None, + Strobe: None, + IasWd.StrobeLevel: None, + } async def async_turn_on( self, @@ -283,28 +289,29 @@ async def async_turn_on( ) -> None: """Turn on siren.""" self._cancel_off_listener() - cache = cluster_runtime_state(self._cluster) - tone_cache = cache.get(IasWd.Warning.WarningMode.__name__) + tone_default = self.defaults[IasWd.Warning.WarningMode] siren_tone = ( - tone_cache.value - if tone_cache is not None + tone_default.value + if tone_default is not None else WARNING_DEVICE_MODE_EMERGENCY ) - siren_duration = DEFAULT_DURATION - level_cache = cache.get(IasWd.Warning.SirenLevel.__name__) + level_default = self.defaults[IasWd.Warning.SirenLevel] siren_level = ( - level_cache.value if level_cache is not None else WARNING_DEVICE_SOUND_HIGH + level_default.value + if level_default is not None + else WARNING_DEVICE_SOUND_HIGH ) - strobe_cache = cache.get(Strobe.__name__) + strobe_default = self.defaults[Strobe] should_strobe = ( - strobe_cache.value if strobe_cache is not None else Strobe.No_Strobe + strobe_default.value if strobe_default is not None else Strobe.No_Strobe ) - strobe_level_cache = cache.get(IasWd.StrobeLevel.__name__) + strobe_level_default = self.defaults[IasWd.StrobeLevel] strobe_level = ( - strobe_level_cache.value - if strobe_level_cache is not None + strobe_level_default.value + if strobe_level_default is not None else WARNING_DEVICE_STROBE_HIGH ) + siren_duration = DEFAULT_DURATION if duration is not None: siren_duration = duration if tone is not None: diff --git a/zha/application/platforms/switch.py b/zha/application/platforms/switch.py index ddd835982..87808d4ec 100644 --- a/zha/application/platforms/switch.py +++ b/zha/application/platforms/switch.py @@ -37,7 +37,6 @@ GroupEntity, PlatformEntity, PlatformFeatureGroup, - ZCLClusterEntity, register_entity, register_group_entity, ) @@ -238,7 +237,7 @@ async def async_update(self) -> None: @register_entity(BinaryOutput.cluster_id) -class BinaryOutputSwitch(ZCLClusterEntity, BaseSwitch): +class BinaryOutputSwitch(PlatformEntity, BaseSwitch): """BinaryOutputCluster switch.""" _attr_primary_weight = 10 @@ -387,7 +386,7 @@ def update(self, _: Any | None = None) -> None: self.maybe_emit_state_changed_event() -class ConfigurableAttributeSwitch(ZCLClusterEntity): +class ConfigurableAttributeSwitch(PlatformEntity): """Representation of a ZHA switch configuration entity.""" PLATFORM = Platform.SWITCH diff --git a/zha/application/platforms/update.py b/zha/application/platforms/update.py index 71723267b..cc7ce0a92 100644 --- a/zha/application/platforms/update.py +++ b/zha/application/platforms/update.py @@ -30,7 +30,6 @@ EntityCategory, PlatformEntity, PlatformFeatureGroup, - ZCLClusterEntity, register_entity, ) from zha.exceptions import ZHAException @@ -289,7 +288,7 @@ async def on_remove(self) -> None: @register_entity(Ota.cluster_id) -class FirmwareUpdateEntity(BaseFirmwareUpdateEntity, ZCLClusterEntity): +class FirmwareUpdateEntity(BaseFirmwareUpdateEntity): """Representation of a ZHA firmware update entity.""" _unique_id_suffix = "firmware_update" diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py index 95446eecf..23622eab7 100644 --- a/zha/application/platforms/virtual.py +++ b/zha/application/platforms/virtual.py @@ -35,7 +35,7 @@ AttrConfig, ClusterConfig, ClusterMatch, - ZCLClusterEntity, + PlatformEntity, register_entity, ) from zha.application.platforms.const import ( @@ -65,7 +65,7 @@ from zha.zigbee.endpoint import Endpoint -class VirtualEntity(ZCLClusterEntity): +class VirtualEntity(PlatformEntity): """Cluster-level background driver that isn't registered as a HA entity.""" _virtual = True diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index d70d46a0d..8479b588b 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -771,6 +771,30 @@ def get_platform_entity(self, platform: Platform, unique_id: str) -> PlatformEnt raise KeyError(f"Entity {unique_id} not found") return entity + def get_entity( + self, + platform: Platform, + endpoint_id: int | None, + cluster_id: int | None = None, + ) -> PlatformEntity: + """Look up the unique entity matching platform/endpoint/cluster filters.""" + matches = [] + for entity in self._platform_entities.values(): + if platform != entity.PLATFORM: + continue + if endpoint_id is not None and entity.endpoint.id != endpoint_id: + continue + if cluster_id is not None and entity.cluster.cluster_id != cluster_id: + continue + matches.append(entity) + if len(matches) != 1: + raise LookupError( + f"Expected 1 entity matching platform={platform!r}, " + f"endpoint_id={endpoint_id}, cluster_id={cluster_id}; " + f"found {len(matches)}" + ) + return matches[0] + @classmethod def new( cls, From bf9a4f85ffec1c52cff577dda481cd7bfe983371 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 19 May 2026 15:16:38 -0400 Subject: [PATCH 59/85] Drop `_virtual` --- tests/test_device.py | 6 +++++- zha/application/platforms/__init__.py | 9 +-------- zha/application/platforms/virtual.py | 10 ++++++++-- zha/zigbee/device.py | 4 ++-- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/tests/test_device.py b/tests/test_device.py index e2ac488ba..7bed3061e 100644 --- a/tests/test_device.py +++ b/tests/test_device.py @@ -1005,7 +1005,11 @@ async def test_quirks_v2_prevent_default_entities(zha_gateway: Gateway) -> None: Platform.BUTTON, unique_id="00:0d:6f:00:05:65:83:f2-1-3" ) - non_virtual = [e for e in zha_device.platform_entities.values() if not e._virtual] + non_virtual = [ + e + for e in zha_device.platform_entities.values() + if e.PLATFORM != Platform.VIRTUAL + ] assert len(non_virtual) == 7 diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index 1109479c6..ddb47a0be 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -230,14 +230,7 @@ class EntityStateChangedEvent: class BaseEntity(LogMixin, EventBase): """Base class for entities.""" - PLATFORM: Platform = Platform.VIRTUAL - - # Virtual entities participate in discovery and cluster-config aggregation - # (so they bind, configure reporting, and run cluster-level setup work like - # IAS Zone enrollment) but the wrapping integration is expected to skip - # registering them with Home Assistant. They have no state surface and - # exist purely to drive cluster-level background work. - _virtual: bool = False + PLATFORM: Platform async def async_configure_cluster(self, cluster: Any) -> None: """Run post-bind cluster-level setup (override in subclasses).""" diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py index 23622eab7..8b12f6440 100644 --- a/zha/application/platforms/virtual.py +++ b/zha/application/platforms/virtual.py @@ -66,9 +66,15 @@ class VirtualEntity(PlatformEntity): - """Cluster-level background driver that isn't registered as a HA entity.""" + """Cluster-level background driver that isn't registered as a HA entity. + + Virtual entities participate in discovery and cluster-config aggregation + (so they bind, configure reporting, and run cluster-level setup work like + IAS Zone enrollment) but the wrapping integration is expected to skip + registering them with Home Assistant. They have no state surface and + exist purely to drive cluster-level background work. + """ - _virtual = True PLATFORM = Platform.VIRTUAL _attr_always_supported = True diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index 8479b588b..c859fef95 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -1065,7 +1065,7 @@ def _is_entity_removed_by_quirk(self, entity: PlatformEntity) -> bool: if self.quirk_metadata is None: return False - if entity._virtual: + if entity.PLATFORM == Platform.VIRTUAL: return False for meta in self.quirk_metadata.disabled_default_entities: @@ -1096,7 +1096,7 @@ def _apply_entity_metadata_changes(self, entity: PlatformEntity) -> None: if self.quirk_metadata is None: return - if entity._virtual: + if entity.PLATFORM == Platform.VIRTUAL: return for meta in self.quirk_metadata.changed_entity_metadata: From a5465759ec4e298e16aed6af34d61a0e26a311a5 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 19 May 2026 15:26:59 -0400 Subject: [PATCH 60/85] Clean up --- zha/application/discovery.py | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/zha/application/discovery.py b/zha/application/discovery.py index 5102af676..bd824ee58 100644 --- a/zha/application/discovery.py +++ b/zha/application/discovery.py @@ -342,25 +342,21 @@ def discover_quirks_v2_entities(device: Device) -> Iterator[PlatformEntity]: ) bind = False - cluster_config_map = ( - "_server_cluster_config" - if cluster_type is ClusterType.Server - else "_client_cluster_config" - ) - # Keep attr_name as a string here — quirks v2 entities can - # reference attribute names that aren't part of the cluster's - # attribute schema (e.g. manufacturer-specific extensions); - # aggregation/configure handle both name and ZCLAttributeDef. - setattr( - entity, - cluster_config_map, - { - cluster.cluster_id: ClusterConfig( - bind=bind, - attributes={attr_name: attr_config}, - ), - }, - ) + # Keep attr_name as a string here - quirks v2 entities can reference + # attribute names that aren't part of the cluster's attribute schema + # (e.g. manufacturer-specific extensions); aggregation/configure handle + # both name and ZCLAttributeDef. + config = { + cluster.cluster_id: ClusterConfig( + bind=bind, + attributes={attr_name: attr_config}, + ), + } + + if cluster_type is ClusterType.Server: + entity._server_cluster_config = config + else: + entity._client_cluster_config = config yield entity From 21b3755785f482738a47f121901127df9a971a3f Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 19 May 2026 15:44:38 -0400 Subject: [PATCH 61/85] Revert diagnostics changes to shrink diff --- zha/zigbee/cluster_config.py | 4 ---- zha/zigbee/device.py | 35 ++++------------------------------- 2 files changed, 4 insertions(+), 35 deletions(-) diff --git a/zha/zigbee/cluster_config.py b/zha/zigbee/cluster_config.py index 5d3316dab..495f67a0c 100644 --- a/zha/zigbee/cluster_config.py +++ b/zha/zigbee/cluster_config.py @@ -165,7 +165,6 @@ async def configure_cluster_configs( ) success = False - agg.cluster._zha_last_bind_success = success device.emit( ZHA_CLUSTER_BIND_EVENT, ClusterBindEvent( @@ -224,9 +223,6 @@ async def configure_cluster_configs( for attr_def in reporting_attrs: event_data[attr_def.name]["status"] = Status.FAILURE.name - existing = getattr(agg.cluster, "_zha_last_reporting_config", None) - merged = {**existing, **event_data} if existing is not None else event_data - agg.cluster._zha_last_reporting_config = merged device.emit( ZHA_CLUSTER_CONFIGURE_REPORTING_EVENT, ClusterConfigureReportingEvent( diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index c859fef95..3be190f3d 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -129,10 +129,7 @@ def _entity_targets_cluster( return False -def get_cluster_attr_data( - cluster: Cluster, - reporting_config: dict[str, dict[str, Any]] | None = None, -) -> list[dict]: +def get_cluster_attr_data(cluster: Cluster) -> list[dict]: """Return cluster attribute data.""" attributes_info = [] @@ -147,14 +144,8 @@ def get_cluster_attr_data( "unsupported": cluster.is_attribute_unsupported(attr_def), } - attr_reporting = ( - reporting_config[attr_def.name] - if reporting_config is not None and attr_def.name in reporting_config - else None - ) - # Don't unnecessarily list out attributes that are just unread - if info["value"] is None and not info["unsupported"] and attr_reporting is None: + if info["value"] is None and not info["unsupported"]: continue # Delete unused keys @@ -163,35 +154,17 @@ def get_cluster_attr_data( else: del info["value"] - if attr_reporting is not None: - info["reporting"] = { - "min": attr_reporting["min"], - "max": attr_reporting["max"], - "change": attr_reporting["change"], - "status": attr_reporting["status"], - } - attributes_info.append(info) return attributes_info def _cluster_entry(cluster_id: int, cluster: Cluster) -> dict[str, Any]: - """Build the per-cluster diagnostics entry, including bind and reporting state.""" - if not hasattr(cluster, "_zha_last_bind_success"): - bind_status = "NOT_ATTEMPTED" - elif cluster._zha_last_bind_success: - bind_status = "SUCCESS" - else: - bind_status = "FAILURE" - - reporting_config = getattr(cluster, "_zha_last_reporting_config", None) - + """Build the per-cluster diagnostics entry.""" return { "cluster_id": f"0x{cluster_id:04x}", "endpoint_attribute": cluster.ep_attribute, - "bind": bind_status, - "attributes": get_cluster_attr_data(cluster, reporting_config=reporting_config), + "attributes": get_cluster_attr_data(cluster), } From a15952d1c1231fdd859f2dc5474b5bf90f8435bb Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 19 May 2026 15:50:54 -0400 Subject: [PATCH 62/85] Regenerate --- tests/data/devices/adeo-sin-4-fp-21-equ.json | 103 +- .../devices/adeo-zb-watersensor-d0001.json | 34 +- .../devices/adurosmart-eria-ad-rgbw3001.json | 50 +- .../adurosmart-eria-adurolight-csc.json | 99 +- .../adurosmart-eria-vms-adurolight.json | 21 +- tests/data/devices/aeotec-zga004.json | 81 +- tests/data/devices/alab-alab-co2-1-1.json | 47 +- .../devices/aqara-lumi-airrtc-aeu001.json | 482 +- .../devices/aqara-lumi-airrtc-aeu005.json | 94 +- .../devices/aqara-lumi-curtain-acn04.json | 24 +- .../data/devices/aqara-lumi-light-acn132.json | 50 +- .../data/devices/aqara-lumi-light-agl003.json | 420 +- .../data/devices/aqara-lumi-light-agl005.json | 420 +- .../data/devices/aqara-lumi-lunar-acn01.json | 5 - .../data/devices/aqara-lumi-motion-ac01.json | 23 +- .../aqara-lumi-sensor-occupy-agl1.json | 38 +- .../aqara-lumi-sensor-occupy-agl8.json | 50 +- .../devices/aqara-lumi-switch-acn047.json | 391 +- .../devices/aqara-lumi-switch-aeu003.json | 388 +- .../devices/aqara-lumi-switch-agl010.json | 398 +- ...atlantic-group-adapter-zigbee-fujitsu.json | 108 +- .../aug-winkhaus-gmbh-co-kg-fm-v-zb.json | 34 +- .../data/devices/aurora-doublesocket50au.json | 630 +- tests/data/devices/awox-ercu-ws-zm.json | 16 - tests/data/devices/awox-esmlfzm-w6-dimm.json | 57 +- tests/data/devices/awox-tlsr82xx.json | 16 - ...rink-leuchten-kg-smart-dimmable-light.json | 34 +- .../data/devices/bitron-video-902010-24a.json | 6 - .../data/devices/bituo-technik-spm01x001.json | 403 +- tests/data/devices/bosch-rbsh-mms-zb-eu.json | 405 +- .../devices/bosch-rbsh-rth0-bat-zb-eu.json | 182 +- tests/data/devices/bosch-rbsh-rth0-zb-eu.json | 168 +- tests/data/devices/bosch-rbsh-trv0-zb-eu.json | 142 +- .../data/devices/bosch-rbsh-us4btn-zb-eu.json | 24 +- tests/data/devices/busch-jaeger-rb01.json | 10 - tests/data/devices/candeo-c-zb-lc20-dim.json | 24 +- tests/data/devices/candeo-c-zb-lc20-rgb.json | 53 +- tests/data/devices/centralite-3300.json | 32 +- tests/data/devices/centralite-3310-g.json | 41 +- tests/data/devices/centralite-3320-l.json | 37 +- tests/data/devices/centralite-3326-l.json | 37 +- tests/data/devices/centralite-3405-l.json | 35 +- .../devices/centralite-systems-3156105.json | 122 +- .../climaxtechnology-sd8sc-00-00-03-12tc.json | 5 - tests/data/devices/computime-slr2b.json | 206 +- tests/data/devices/d5x84yu-et093wrg.json | 225 +- tests/data/devices/danfoss-0x8040.json | 131 +- tests/data/devices/danfoss-etrv0103.json | 186 +- tests/data/devices/datek-pop.json | 328 +- tests/data/devices/datek-ssds.json | 37 +- ...zhemi-zigbee-external-meter-interface.json | 88 +- tests/data/devices/digi-xbee3.json | 332 +- .../devices/ecodim-bv-eco-dim-05-zigbee.json | 49 +- .../devices/ecodim-bv-ecodim-zigbee-3-0.json | 49 +- tests/data/devices/ecolink-4655bc0-r.json | 36 +- tests/data/devices/enktro-acmidea.json | 101 +- tests/data/devices/ericsity-gl-c-008p.json | 49 +- tests/data/devices/ericsity-gl-c-009p.json | 49 +- .../devices/espressif-zigbeeanalogdevice.json | 20 +- .../espressif-zigbeebinaryoutputdevice.json | 11 +- .../espressif-zigbeecarbondioxidesensor.json | 11 +- tests/data/devices/eurotronic-spzb0001.json | 110 +- ...welink-ck-bl702-al-01-7009-z102lg03-1.json | 52 +- .../ewelink-ck-tlsr8656-ss5-01-7000.json | 23 +- tests/data/devices/ewelink-ds01.json | 21 +- tests/data/devices/ewelink-ms01.json | 21 +- tests/data/devices/ewelink-sa-003-zigbee.json | 14 +- tests/data/devices/ewelink-snzb-01p.json | 24 +- tests/data/devices/ewelink-snzb-02p.json | 41 +- tests/data/devices/ewelink-snzb-03p.json | 33 +- tests/data/devices/ewelink-snzb-04p.json | 41 +- tests/data/devices/ewelink-th01.json | 38 +- tests/data/devices/ewelink-wb01.json | 21 +- tests/data/devices/ewelink-zb-sw01.json | 14 +- tests/data/devices/ewelink-zb-sw02.json | 28 +- tests/data/devices/ezviz-cs-t55-r100-g.json | 133 +- .../feibit-inc-co-fzb56-zcw27lx1-0.json | 49 +- tests/data/devices/frient-a-s-aqszb-110.json | 61 +- tests/data/devices/frient-a-s-emizb-141.json | 109 +- tests/data/devices/frient-a-s-emizb-151.json | 718 +- tests/data/devices/frient-a-s-flszb-110.json | 52 +- tests/data/devices/frient-a-s-hmszb-120.json | 44 +- tests/data/devices/frient-a-s-iomzb-110.json | 84 +- tests/data/devices/frient-a-s-kepzb-110.json | 28 +- tests/data/devices/frient-a-s-moszb-140.json | 91 +- tests/data/devices/frient-a-s-moszb-153.json | 96 +- tests/data/devices/frient-a-s-sbtzb-110.json | 36 +- tests/data/devices/frient-a-s-scazb-141.json | 73 +- tests/data/devices/frient-a-s-sirzb-111.json | 28 +- tests/data/devices/frient-a-s-smszb-120.json | 48 +- tests/data/devices/frient-a-s-splzb-141.json | 385 +- tests/data/devices/frient-a-s-wiszb-131.json | 47 +- .../generic-zigbee-coordinator-ezsp.json | 10 - tests/data/devices/gledopto-gl-b-008p.json | 50 +- tests/data/devices/gledopto-gl-b-008z.json | 47 +- tests/data/devices/gledopto-gl-c-009p.json | 24 +- tests/data/devices/gledpopto-gl-c-007p.json | 50 +- ...nland-agge-zigbee-smart-rotary-dimmer.json | 26 +- tests/data/devices/heiman-smokesensor-em.json | 21 +- tests/data/devices/hive-mbr1.json | 37 - tests/data/devices/hobeian-zg-101zl.json | 38 +- tests/data/devices/hobeian-zg-102zm.json | 21 +- tests/data/devices/hobeian-zg-204zv.json | 49 +- tests/data/devices/homr-hrmsn01.json | 99 +- .../horn-zone-haier-hs-22zw-0000011216.json | 3 - ...f-sweden-badring-water-leakage-sensor.json | 27 +- ...-sweden-fyrtur-block-out-roller-blind.json | 43 +- .../ikea-of-sweden-inspelning-smart-plug.json | 373 +- .../ikea-of-sweden-ormanas-led-strip.json | 52 +- ...of-sweden-parasoll-door-window-sensor.json | 33 +- ...-of-sweden-praktlysing-cellular-blind.json | 43 +- .../ikea-of-sweden-remote-control-n2.json | 36 - .../devices/ikea-of-sweden-rodret-dimmer.json | 28 +- ...ikea-of-sweden-rodret-wireless-dimmer.json | 28 +- ...ikea-of-sweden-somrig-shortcut-button.json | 38 +- ...f-sweden-starkvind-air-purifier-table.json | 91 +- ...ikea-of-sweden-starkvind-air-purifier.json | 90 +- ...of-sweden-symfonisk-sound-remote-gen2.json | 29 +- ...sweden-tradfri-bulb-e12-w-op-ch-400lm.json | 28 +- ...sweden-tradfri-bulb-e12-ws-opal-400lm.json | 54 +- ...weden-tradfri-bulb-e14-ws-globe-470lm.json | 52 +- ...f-sweden-tradfri-bulb-e26-opal-1000lm.json | 30 +- ...sweden-tradfri-bulb-e26-w-opal-1000lm.json | 28 +- ...sweden-tradfri-bulb-e26-ws-opal-980lm.json | 54 +- ...eden-tradfri-bulb-e27-ws-globe-1055lm.json | 52 +- ...eden-tradfri-bulb-e27-ww-g95-cl-470lm.json | 27 +- ...-of-sweden-tradfri-bulb-gu10-ws-400lm.json | 55 +- ...of-sweden-tradfri-bulb-gu10-ww-345lm8.json | 27 +- ...ikea-of-sweden-tradfri-control-outlet.json | 21 +- .../ikea-of-sweden-tradfri-motion-sensor.json | 29 +- .../ikea-of-sweden-tradfri-on-off-switch.json | 30 +- ...a-of-sweden-tradfri-open-close-remote.json | 29 +- ...ikea-of-sweden-tradfri-remote-control.json | 29 +- ...kea-of-sweden-tradfri-shortcut-button.json | 28 +- ...kea-of-sweden-tradfri-wireless-dimmer.json | 27 +- ...weden-vallhorn-wireless-motion-sensor.json | 53 +- .../devices/imagic-by-greatstar-1112-s.json | 46 +- tests/data/devices/innr-ae-280-c.json | 48 +- tests/data/devices/innr-rb-285-c.json | 50 +- tests/data/devices/innr-rc-250.json | 29 +- tests/data/devices/innr-rs-232-c.json | 52 +- tests/data/devices/innr-sp-120.json | 381 +- tests/data/devices/innr-sp-234.json | 399 +- tests/data/devices/innr-sp-240.json | 381 +- tests/data/devices/innr-sp-242.json | 377 +- tests/data/devices/inovelli-vzm30-sn.json | 418 +- tests/data/devices/inovelli-vzm31-sn.json | 389 +- tests/data/devices/inovelli-vzm35-sn.json | 36 +- tests/data/devices/isilentllc-dog-feeder.json | 58 +- tests/data/devices/isilentllc-doorbell.json | 29 +- .../devices/isilentllc-freezer-monitor.json | 22 +- .../isilentllc-home-energy-monitor.json | 7562 +---------------- ...isilentllc-masterbed-light-controller.json | 116 +- tests/data/devices/isilentllc-safe.json | 79 +- .../data/devices/isilentllc-test-device.json | 22 +- tests/data/devices/isilentllc-test-mule.json | 13 +- .../data/devices/isilentllc-water-heater.json | 327 +- tests/data/devices/jasco-products-45856.json | 102 +- tests/data/devices/jasco-products-45857.json | 112 +- .../devices/ke-tradfri-open-close-remote.json | 29 +- .../keen-home-inc-sv01-410-mp-1-1.json | 62 +- .../keen-home-inc-sv02-610-mp-1-3.json | 62 +- .../keen-home-inc-sv02-612-mp-1-3.json | 62 +- .../king-of-fans-inc-hbuniversalcfremote.json | 33 +- .../king-of-fans-inc-hdc52eastwindfan.json | 33 +- .../data/devices/konke-3afe140103020000.json | 42 +- .../data/devices/konke-3afe220103020000.json | 42 +- .../data/devices/konke-3afe270104020015.json | 27 +- .../data/devices/konke-3afe280100510001.json | 27 +- .../data/devices/konke-3afe28010402000d.json | 36 +- .../kwikset-smartcode-convert-gen1.json | 45 +- .../data/devices/lds-zb-onoffplug-d0005.json | 396 +- .../data/devices/lds-zbt-cctswitch-d0001.json | 28 +- tests/data/devices/ledvance-a60s-rgbw.json | 51 +- tests/data/devices/ledvance-flex-rgbw.json | 50 +- .../ledvance-outdoor-accent-light-rgb.json | 50 +- tests/data/devices/ledvance-plug.json | 18 +- tests/data/devices/legrand-contactor.json | 328 +- .../legrand-dimmer-switch-w-o-neutral.json | 40 +- .../legrand-double-gangs-remote-switch.json | 53 +- .../legrand-light-switch-with-neutral.json | 31 +- tests/data/devices/legrand-mobile-outlet.json | 299 +- tests/data/devices/level-home-b2.json | 31 +- tests/data/devices/level-home-bolt.json | 31 +- .../data/devices/lk-zb-doorsensor-d0003.json | 23 +- .../data/devices/lk-zbt-dimswitch-d0001.json | 28 +- .../data/devices/lk-zbt-onoffplug-d0001.json | 28 +- .../devices/lumi-lumi-airmonitor-acn01.json | 49 +- .../data/devices/lumi-lumi-airrtc-agl001.json | 138 +- .../data/devices/lumi-lumi-ctrl-neutral2.json | 118 +- .../devices/lumi-lumi-curtain-acn002.json | 82 +- .../devices/lumi-lumi-curtain-acn003.json | 50 +- .../devices/lumi-lumi-curtain-agl001.json | 50 +- .../devices/lumi-lumi-curtain-hagl04.json | 52 +- .../data/devices/lumi-lumi-flood-acn001.json | 23 +- tests/data/devices/lumi-lumi-flood-agl02.json | 22 +- .../data/devices/lumi-lumi-light-aqcn02.json | 67 +- tests/data/devices/lumi-lumi-magnet-ac01.json | 22 +- .../data/devices/lumi-lumi-magnet-acn001.json | 23 +- .../data/devices/lumi-lumi-magnet-agl02.json | 22 +- tests/data/devices/lumi-lumi-motion-ac02.json | 42 +- .../data/devices/lumi-lumi-motion-agl02.json | 41 +- .../data/devices/lumi-lumi-motion-agl04.json | 41 +- tests/data/devices/lumi-lumi-plug-maeu01.json | 453 +- tests/data/devices/lumi-lumi-plug-maus01.json | 513 +- .../data/devices/lumi-lumi-relay-c2acn01.json | 18 - .../devices/lumi-lumi-remote-b286opcn01.json | 41 +- .../data/devices/lumi-lumi-remote-b28ac1.json | 31 +- .../devices/lumi-lumi-remote-b486opcn01.json | 31 +- .../devices/lumi-lumi-remote-b686opcn01.json | 41 +- .../data/devices/lumi-lumi-remote-cagl02.json | 36 +- .../data/devices/lumi-lumi-sen-ill-agl01.json | 30 +- .../data/devices/lumi-lumi-sen-ill-mgl01.json | 29 +- .../data/devices/lumi-lumi-sensor-86sw2.json | 30 - .../devices/lumi-lumi-sensor-ht-agl02.json | 48 +- .../devices/lumi-lumi-sensor-magnet-aq2.json | 9 - .../devices/lumi-lumi-sensor-motion-aq2.json | 10 - .../devices/lumi-lumi-sensor-smoke-acn03.json | 22 +- .../data/devices/lumi-lumi-sensor-smoke.json | 8 - .../devices/lumi-lumi-sensor-switch-aq2.json | 8 - .../devices/lumi-lumi-sensor-switch-aq3.json | 6 - .../data/devices/lumi-lumi-sensor-switch.json | 9 - .../devices/lumi-lumi-switch-b1lacn02.json | 108 +- .../devices/lumi-lumi-switch-b1laus01.json | 26 +- .../devices/lumi-lumi-switch-b1naus01.json | 404 +- .../devices/lumi-lumi-switch-b2naus01.json | 450 +- .../data/devices/lumi-lumi-switch-b2nc01.json | 45 +- .../data/devices/lumi-lumi-switch-l1aeu1.json | 28 +- .../data/devices/lumi-lumi-switch-l2aeu1.json | 41 +- .../data/devices/lumi-lumi-switch-n0agl1.json | 404 +- .../data/devices/lumi-lumi-switch-n1aeu1.json | 411 +- .../devices/lumi-lumi-vibration-agl01.json | 24 +- .../data/devices/lumi-lumi-vibration-aq1.json | 17 - tests/data/devices/lumi-lumi-weather.json | 10 - .../devices/lutron-lzl4bwhl01-remote.json | 12 - tests/data/devices/lutron-z3-1brl.json | 27 +- .../data/devices/mli-tint-extendedcolor.json | 51 +- .../data/devices/mli-zbt-remote-all-rgbw.json | 12 - .../devices/nabu-casa-ha-connect-zbt-1.json | 10 - tests/data/devices/namron-as-1402790.json | 422 +- tests/data/devices/namron-as-4512785.json | 386 +- .../neuhaus-lighting-group-nlg-remote.json | 10 - .../niko-nv-battery-switch-2-button.json | 32 +- .../niko-nv-battery-switch-4-button.json | 38 +- .../niko-nv-connectable-motor-control-3a.json | 26 +- tests/data/devices/nodon-sin-4-fp-21.json | 99 +- tests/data/devices/nodon-sin-4-rs-20.json | 27 +- .../occam-temp-sensor-v1-2-jan-19-2026.json | 38 +- ...vibo-250bccf66c41421b91b5e3242942c164.json | 49 +- .../devices/osram-switch-4x-lightify.json | 79 +- ...i-bo-cf31218e11c547179c9c9ade6a492799.json | 31 +- .../devices/paulmann-licht-gmbh-501-34.json | 58 +- tests/data/devices/philips-7602031u7.json | 52 +- tests/data/devices/philips-915005988601.json | 53 +- tests/data/devices/philips-lct014.json | 52 +- tests/data/devices/philips-lct026.json | 51 +- tests/data/devices/philips-llc020.json | 52 +- tests/data/devices/philips-lst002.json | 51 +- tests/data/devices/philips-rom001.json | 29 +- tests/data/devices/philips-rwl020.json | 37 +- tests/data/devices/philips-rwl021.json | 37 +- tests/data/devices/philips-sml001.json | 55 +- .../devices/plaid-systems-ps-sprzms-slp3.json | 39 +- tests/data/devices/ptvo-info-ptvo-switch.json | 86 +- tests/data/devices/samjin-button.json | 33 +- tests/data/devices/samjin-multi.json | 65 +- tests/data/devices/samjin-water.json | 33 +- .../devices/schneider-electric-eko07259.json | 211 +- .../schneider-electric-evsckt-outlet-1.json | 396 +- .../devices/schneider-electric-lk-dimmer.json | 62 +- .../schneider-electric-nhmotion-unidim-1.json | 52 +- .../schneider-electric-puck-dimmer-1.json | 26 +- .../schneider-electric-puck-shutter-1.json | 24 +- .../devices/schneider-electric-s520619.json | 211 +- .../schneider-electric-socket-outlet-1.json | 368 +- .../schneider-electric-socket-outlet-2.json | 368 +- .../data/devices/securifi-ltd-unk-model.json | 337 +- tests/data/devices/sengled-e11-g13.json | 105 +- tests/data/devices/sengled-e12-n14.json | 105 +- tests/data/devices/sengled-e12-n1e.json | 133 +- tests/data/devices/sengled-e1c-nb6.json | 15 +- tests/data/devices/sengled-e1c-nb7.json | 99 +- tests/data/devices/sengled-e1f-n9g.json | 108 +- tests/data/devices/sengled-e1g-g8e.json | 134 +- tests/data/devices/sengled-e21-n1ea.json | 134 +- tests/data/devices/sengled-z01-a19nae26.json | 130 +- .../devices/sercomm-corp-sz-esw01-au.json | 438 +- tests/data/devices/shelly-1pm.json | 330 +- tests/data/devices/shelly-2pm.json | 24 +- tests/data/devices/shelly-ecowitt-ws90.json | 140 +- tests/data/devices/shelly-mini1pm.json | 370 +- .../devices/shyugj-dimmer-switch-zb3-0.json | 26 +- .../signify-netherlands-b-v-lca001.json | 53 +- .../signify-netherlands-b-v-lca005.json | 52 +- .../signify-netherlands-b-v-lca007.json | 52 +- .../signify-netherlands-b-v-lcb001.json | 52 +- .../signify-netherlands-b-v-lcb002.json | 52 +- .../signify-netherlands-b-v-lce001.json | 53 +- .../signify-netherlands-b-v-lcx004.json | 52 +- .../signify-netherlands-b-v-lta010.json | 51 +- .../signify-netherlands-b-v-ltb003.json | 51 +- .../signify-netherlands-b-v-lwa003.json | 26 +- .../signify-netherlands-b-v-rdm001.json | 25 +- .../signify-netherlands-b-v-rdm002.json | 29 +- .../signify-netherlands-b-v-rdm004.json | 26 +- .../signify-netherlands-b-v-rdm005.json | 29 +- .../signify-netherlands-b-v-rwl022.json | 29 +- .../signify-netherlands-b-v-sml003.json | 50 +- .../signify-netherlands-b-v-sml004.json | 50 +- .../devices/sinope-technologies-va4220zb.json | 151 +- .../devices/smarthjemmet-dk-quad-zig-sw.json | 14 - .../devices/smarthjemmet-dk-quad-zig-sw2.json | 35 +- tests/data/devices/smartthings-multiv4.json | 77 +- tests/data/devices/smartthings-tagv4.json | 31 +- tests/data/devices/smartwings-wm25-l-z.json | 40 +- tests/data/devices/somfy-situo-4-zigbee.json | 46 +- .../somfy-sonesse-28-wf-li-ion-roller.json | 43 +- .../data/devices/somfy-ysia-5-hp-zigbee.json | 53 +- tests/data/devices/sonoff-01minizb.json | 16 +- tests/data/devices/sonoff-basiczbr3.json | 14 +- tests/data/devices/sonoff-dongle-e-r.json | 71 +- tests/data/devices/sonoff-mini-zbrbs.json | 28 +- tests/data/devices/sonoff-s26r2zb.json | 18 +- tests/data/devices/sonoff-s31-lite-zb.json | 14 +- tests/data/devices/sonoff-s60zbtpg.json | 369 +- tests/data/devices/sonoff-snzb-02d.json | 41 +- tests/data/devices/sonoff-snzb-05p.json | 24 +- tests/data/devices/sonoff-snzb-06p.json | 15 +- tests/data/devices/sonoff-swv.json | 58 +- tests/data/devices/sonoff-trvzb.json | 122 +- tests/data/devices/sonoff-zbmicro.json | 16 +- tests/data/devices/sonoff-zbminil2.json | 32 +- tests/data/devices/sonoff-zbminir2.json | 19 +- tests/data/devices/sunricher-hk-dim.json | 55 +- tests/data/devices/sunricher-hk-ln-dim-a.json | 27 +- tests/data/devices/sunricher-on-off-2ch.json | 382 +- .../devices/texas-instruments-cc2652.json | 10 - .../texas-instruments-coordinator.json | 10 - .../devices/texasinstruments-ti-router.json | 4 - ...-home-depot-ecosmart-zbt-a19-cct-bulb.json | 53 +- .../devices/third-reality-inc-3rds17bz.json | 21 +- .../devices/third-reality-inc-3rms16bz.json | 21 +- .../devices/third-reality-inc-3rsb015bz.json | 48 +- .../devices/third-reality-inc-3rsb22bz.json | 23 +- .../devices/third-reality-inc-3rsm0147z.json | 38 +- .../third-reality-inc-3rsnl02043z.json | 61 +- .../devices/third-reality-inc-3rsp019bz.json | 313 +- .../third-reality-inc-3rsp02028bz.json | 290 +- .../devices/third-reality-inc-3rss007z.json | 14 +- .../devices/third-reality-inc-3rss009z.json | 31 +- .../devices/third-reality-inc-3rths24bz.json | 38 +- .../devices/third-reality-inc-3rvs01031z.json | 21 +- .../devices/third-reality-inc-3rws18bz.json | 22 +- .../data/devices/tubeszb-tubeszb-router.json | 4 - .../data/devices/tuyatec-gqhxixyk-rh3052.json | 40 +- .../data/devices/tuyatec-r9hgssol-rh3001.json | 21 +- .../data/devices/tuyatec-rkqiqvcs-rh3001.json | 21 +- .../data/devices/tuyatec-yg5dcbfu-rh3052.json | 40 +- .../data/devices/tyst11-czk78ptr-zk78ptr.json | 136 +- .../data/devices/tyst11-i5j6ifxj-5j6ifxj.json | 6 - .../data/devices/tyzb01-1xktopx6-ts0041a.json | 37 +- .../data/devices/tyzb01-8scntis1-ts0216.json | 25 +- .../data/devices/tyzb01-mtunwanm-ts011f.json | 14 +- .../data/devices/tyzb01-o63ssaah-ts0207.json | 23 +- .../data/devices/tyzb01-qm6djpta-ts0215.json | 25 +- .../data/devices/tyzb01-rifa0wlb-ts0011.json | 13 +- .../data/devices/tyzb01-vkwryfdr-ts0115.json | 58 +- .../data/devices/tyzb01-zanh6v1o-ts0121.json | 392 +- .../data/devices/tz2000-k4yr34vv-sm0301.json | 28 +- .../data/devices/tz3000-09gto2zn-ts0013.json | 36 +- .../data/devices/tz3000-1dd0d5yi-ts130f.json | 31 +- .../data/devices/tz3000-1o6x1bl0-ts0201.json | 32 +- .../data/devices/tz3000-2putqrmw-ts011f.json | 399 +- .../data/devices/tz3000-2xlvlnez-ts011f.json | 378 +- .../data/devices/tz3000-303avxxt-ts011f.json | 395 +- .../data/devices/tz3000-3ias4w4o-ts011f.json | 371 +- .../data/devices/tz3000-5e235jpa-ts0042.json | 80 +- .../data/devices/tz3000-5fkufhn1-ts0502a.json | 51 +- .../data/devices/tz3000-5ity3zyu-ts0121.json | 394 +- .../data/devices/tz3000-6l1pjfqe-ts011f.json | 396 +- .../data/devices/tz3000-8nkb7mof-ts0121.json | 396 +- .../data/devices/tz3000-8nyaanzb-ts011f.json | 30 +- .../data/devices/tz3000-8yhypbo7-ts0203.json | 28 +- .../data/devices/tz3000-a37eix1s-ts0004.json | 60 +- .../data/devices/tz3000-a9buwvb7-ts0726.json | 87 +- .../data/devices/tz3000-adkvzooy-ts0042.json | 91 +- .../data/devices/tz3000-aghwaexm-ts0001.json | 15 +- .../data/devices/tz3000-bgsigers-ts0201.json | 40 +- .../data/devices/tz3000-bguser20-ts0201.json | 40 +- .../data/devices/tz3000-bjawzodf-ty0201.json | 6 - .../data/devices/tz3000-cehuw1lw-ts011f.json | 395 +- .../data/devices/tz3000-cfnprab5-ts011f.json | 70 +- .../data/devices/tz3000-cicwjqth-ts011f.json | 395 +- .../data/devices/tz3000-dbou1ap4-ts0505a.json | 51 +- .../data/devices/tz3000-dowj6gyi-ts0201.json | 40 +- .../data/devices/tz3000-drc9tuqb-ts0001.json | 17 +- .../data/devices/tz3000-e2uieqop-ts0001.json | 17 +- .../data/devices/tz3000-eamtuojw-ts0201.json | 38 +- .../data/devices/tz3000-empogkya-ts0003.json | 46 +- .../data/devices/tz3000-f2bw0b6k-ts0201.json | 40 +- .../data/devices/tz3000-fdxihpp7-ts0001.json | 364 +- .../data/devices/tz3000-gbm10jnj-ts0043.json | 102 +- .../data/devices/tz3000-gjpgagal-ts0049.json | 33 +- .../data/devices/tz3000-gjrubzje-ts0001.json | 399 +- .../data/devices/tz3000-gwkzibhs-ts004f.json | 30 +- .../data/devices/tz3000-hafsqare-ts0011.json | 14 +- .../data/devices/tz3000-idhkkbqj-ts0012.json | 24 +- .../data/devices/tz3000-isw9u95y-ts0201.json | 50 +- .../data/devices/tz3000-itnrsufe-ts0201.json | 41 +- .../data/devices/tz3000-j1xl73iw-ts130f.json | 62 +- .../data/devices/tz3000-ja5osu5g-ts004f.json | 30 +- .../data/devices/tz3000-kjfzuycl-ts004f.json | 30 +- .../data/devices/tz3000-kmsbwdol-ts130f.json | 66 +- .../data/devices/tz3000-kqvb5akv-ts0001.json | 368 +- .../data/devices/tz3000-lepzuhto-ts011f.json | 400 +- .../data/devices/tz3000-lf56vpxj-ts0202.json | 35 +- .../data/devices/tz3000-llfaquvp-ts0012.json | 29 +- .../data/devices/tz3000-lotmgthb-ts011f.json | 399 +- .../data/devices/tz3000-lrgccsxm-ts0013.json | 39 +- .../data/devices/tz3000-ltiqubue-ts130f.json | 35 +- .../data/devices/tz3000-mg4dy6z6-ts0202.json | 24 +- .../data/devices/tz3000-mgusv51k-ts0052.json | 27 +- .../data/devices/tz3000-mkhkxx1p-ts0001.json | 395 +- .../data/devices/tz3000-mugyhz0q-ts0207.json | 22 +- .../data/devices/tz3000-mw1pqqqt-ts0003.json | 394 +- .../data/devices/tz3000-npzfdcof-ts0001.json | 399 +- .../data/devices/tz3000-o1jzcxou-ts011f.json | 17 +- .../data/devices/tz3000-o4mkahkc-ts0202.json | 24 +- .../data/devices/tz3000-okaz9tjs-ts011f.json | 399 +- .../data/devices/tz3000-p26flek3-ts0001.json | 17 +- .../data/devices/tz3000-pl5v1yyy-ts011f.json | 420 +- .../data/devices/tz3000-qa8s8vca-ts130f.json | 33 +- .../data/devices/tz3000-qqdbccb3-ts130f.json | 22 +- .../data/devices/tz3000-r6buo8ba-ts011f.json | 393 +- .../data/devices/tz3000-rbl8c85w-ts0012.json | 27 +- .../data/devices/tz3000-sgb0xhwn-ts011f.json | 380 +- .../data/devices/tz3000-snq47izk-ts0013.json | 39 +- .../data/devices/tz3000-tgddllx4-ts0001.json | 392 +- .../data/devices/tz3000-tqlv4ug4-ts0001.json | 367 +- .../data/devices/tz3000-typdpbpg-ts011f.json | 369 +- .../data/devices/tz3000-u3oupgdy-ts0004.json | 54 +- .../data/devices/tz3000-u4kojtqz-ts0002.json | 34 +- .../data/devices/tz3000-uwkja6z1-ts011f.json | 788 +- .../data/devices/tz3000-vw8pawxa-ts130f.json | 32 +- .../data/devices/tz3000-w0qqde0g-ts011f.json | 392 +- .../data/devices/tz3000-wcgyhnp3-ts0222.json | 50 +- .../data/devices/tz3000-wkai4ga5-ts0044.json | 168 +- .../data/devices/tz3000-wkr3jqmr-ts0004.json | 54 +- .../data/devices/tz3000-xa9g7rxs-ts1002.json | 31 +- .../data/devices/tz3000-xabckq1v-ts004f.json | 78 +- .../data/devices/tz3000-xkap8wtb-ts000f.json | 401 +- .../data/devices/tz3000-xr3htd96-ts0201.json | 40 +- .../data/devices/tz3000-xxacnuab-ts0004.json | 54 +- .../data/devices/tz3000-ynmowqk2-ts011f.json | 399 +- .../data/devices/tz3000-zl1kmjqx-ty0201.json | 6 - tests/data/devices/tz3000-zl1kmjqx.json | 6 - .../data/devices/tz3000-zv6x8bt2-ts011f.json | 368 +- .../data/devices/tz3000-zw7yf6yk-ts0001.json | 395 +- .../data/devices/tz3002-vaq2bfcu-ts0726.json | 78 +- .../data/devices/tz3002-zjuvw9zf-ts0726.json | 30 +- .../data/devices/tz3040-bb6xaihh-ts0202.json | 10 - .../data/devices/tz3210-09hzmirw-ts0502b.json | 52 +- .../data/devices/tz3210-0jxeoadc-ts0049.json | 6 - .../data/devices/tz3210-3mpwqzuu-ts110e.json | 48 +- .../data/devices/tz3210-3ulg9kpo-ts0021.json | 22 +- .../data/devices/tz3210-5rta89nj-ts0601.json | 23 +- .../data/devices/tz3210-bfwvfyx1-ts0505b.json | 52 +- .../data/devices/tz3210-comkuwws-ts0502b.json | 52 +- .../data/devices/tz3210-dwytrmda-ts130f.json | 23 +- .../data/devices/tz3210-ehcanwyc-ts0502b.json | 52 +- .../data/devices/tz3210-ekjc2rzh-ts0225.json | 6 - .../data/devices/tz3210-hxtfthp5-ts0505b.json | 52 +- .../data/devices/tz3210-j4pdtz9v-ts0001.json | 34 +- .../data/devices/tz3210-jaap6jeb-ts0505b.json | 52 +- .../data/devices/tz3210-k1msuvg6-ts110e.json | 26 +- .../data/devices/tz3210-kjafhwd2-ts0210.json | 28 +- .../data/devices/tz3210-klv2wul0-ts0505b.json | 52 +- .../data/devices/tz3210-ncw88jfq-ts0201.json | 39 +- .../data/devices/tz3210-qkj7rujp-ts0201.json | 41 +- .../data/devices/tz3210-r5afgmkl-ts0505b.json | 52 +- .../data/devices/tz3210-ru41azca-ts0049.json | 30 +- .../data/devices/tz3210-sb8x2xci-ts0001.json | 16 +- .../data/devices/tz3210-sixywxvy-ts0505b.json | 52 +- .../data/devices/tz3210-tgvtvdoc-ts0207.json | 9 - .../data/devices/tz3210-u1dreag7-ts0502b.json | 52 +- .../data/devices/tz3210-ue9kyjnj-ts0502b.json | 52 +- .../data/devices/tz3210-umi6vbsz-ts0505b.json | 52 +- .../data/devices/tz3210-up3pngle-ts0205.json | 28 +- .../data/devices/tz3210-wuhzzfqg-ts0202.json | 83 +- .../data/devices/tz3218-7fiyo3kv-ts000f.json | 19 +- .../data/devices/tz3218-awarhusb-ts0225.json | 10 - .../data/devices/tz3218-t9ynfz4x-ts0225.json | 10 - .../data/devices/tz3218-ya5d6wth-ts000f.json | 58 +- .../tz3290-7v1k4vufotpowp9z-ts1201.json | 18 +- .../tz3290-ot6ewjvmejq5ekhl-ts1201.json | 34 +- .../data/devices/tz6210-duv6fhwt-ts0601.json | 9 - .../data/devices/tzb210-417ikxay-ts0505b.json | 52 +- .../data/devices/tze200-1n2zev06-ts0601.json | 9 - .../data/devices/tze200-2aaelwxk-ts0225.json | 16 - .../data/devices/tze200-2ekuz3dz-ts0601.json | 7 - .../data/devices/tze200-2gtsuokt-ts0601.json | 6 - .../data/devices/tze200-2se8efxh-ts0601.json | 9 - .../data/devices/tze200-3t91nb6k-ts0601.json | 7 - .../data/devices/tze200-3towulqd-ts0601.json | 8 - .../data/devices/tze200-3ylew7b4-ts0601.json | 6 - .../data/devices/tze200-4utwozi2-ts0601.json | 7 - .../data/devices/tze200-4wxtg5y9-ts0601.json | 7 - .../data/devices/tze200-68nvbio9-ts0601.json | 23 +- .../data/devices/tze200-6rdj8dzm-ts0601.json | 7 - .../data/devices/tze200-7bztmfm1-ts0601.json | 13 - .../data/devices/tze200-7ytb3h8u-ts0601.json | 9 - .../data/devices/tze200-81isopgh-ts0601.json | 9 - .../data/devices/tze200-86nbew0j-ts0601.json | 6 - .../data/devices/tze200-8whfphjv-ts0601.json | 6 - .../data/devices/tze200-9caxna4s-ts0301.json | 41 +- .../data/devices/tze200-9xfjixap-ts0601.json | 7 - .../data/devices/tze200-a0syesf5-ts0601.json | 24 +- .../data/devices/tze200-a1dia7ml-ts0601.json | 6 - .../data/devices/tze200-a7sghmms-ts0601.json | 9 - .../data/devices/tze200-abatw3kj-ts0601.json | 7 - .../data/devices/tze200-agumlajc-ts0601.json | 6 - .../data/devices/tze200-akjefhj5-ts0601.json | 6 - .../data/devices/tze200-aoclfnxz-ts0601.json | 96 +- .../data/devices/tze200-b6wax7g0-ts0601.json | 161 +- .../data/devices/tze200-bcusnqt8-ts0601.json | 6 - .../data/devices/tze200-bkkmqmyo-ts0601.json | 365 +- .../data/devices/tze200-bvrlmajk-ts0601.json | 6 - .../data/devices/tze200-byzdayie-ts0601.json | 393 +- .../data/devices/tze200-c88teujp-ts0601.json | 7 - .../data/devices/tze200-cirvgep4-ts0601.json | 7 - .../data/devices/tze200-cpbo62rn-ts0601.json | 27 +- .../data/devices/tze200-cpmgn2cf-ts0601.json | 219 +- .../tze200-crq3r3la-ck-bl702-mws-01-7016.json | 13 - .../data/devices/tze200-dwcarsat-ts0601.json | 13 - .../data/devices/tze200-e5hpkc6d-ts0601.json | 6 - .../data/devices/tze200-eevqq1uv-ts0601.json | 6 - .../data/devices/tze200-ewxhg6o9-ts0601.json | 393 +- .../data/devices/tze200-f1pvdgoh-ts0601.json | 6 - .../data/devices/tze200-fvldku9h-ts0601.json | 6 - .../data/devices/tze200-g9a3awaj-ts0601.json | 96 +- .../data/devices/tze200-gaj531w3-ts0601.json | 23 +- .../data/devices/tze200-gjldowol-ts0601.json | 7 - .../data/devices/tze200-gkfbdvyx-ts0601.json | 6 - .../data/devices/tze200-gubdgai2-ts0601.json | 27 +- .../data/devices/tze200-guvc7pdy-ts0601.json | 7 - .../data/devices/tze200-h4cgnbzg-ts0601.json | 2 - .../data/devices/tze200-hhrtiq0x-ts0601.json | 141 +- .../data/devices/tze200-hl0ss9oa-ts0225.json | 17 +- .../data/devices/tze200-hr0tdd47-ts0601.json | 8 - .../data/devices/tze200-iba1ckek-ts0601.json | 20 +- .../data/devices/tze200-icka1clh-ts0601.json | 23 +- .../data/devices/tze200-ijey4q29-ts0601.json | 31 +- .../data/devices/tze200-iuk8kupi-ts0601.json | 7 - .../data/devices/tze200-js3mgbjb-ts0601.json | 7 - .../data/devices/tze200-jva8ink8-ts0601.json | 9 - .../data/devices/tze200-jwsjbxjs-ts0601.json | 52 +- .../data/devices/tze200-kb5noeto-ts0601.json | 7 - .../data/devices/tze200-khozatfx-ts0601.json | 6 - .../data/devices/tze200-kyfqmmyl-ts0601.json | 33 +- .../data/devices/tze200-la2c2uo9-ts0601.json | 24 +- .../data/devices/tze200-laqjm8qd-ts0601.json | 7 - .../data/devices/tze200-libht6ua-ts0601.json | 6 - .../data/devices/tze200-locansqn-ts0601.json | 9 - .../data/devices/tze200-m9skfctm-ts0601.json | 7 - .../data/devices/tze200-mgxy2d9f-ts0601.json | 6 - .../data/devices/tze200-mja3fuja-ts0601.json | 12 - .../data/devices/tze200-moycceze-ts0601.json | 6 - .../data/devices/tze200-mudxchsu-ts0601.json | 167 +- .../data/devices/tze200-myd45weu-ts0601.json | 9 - .../data/devices/tze200-mz5y07w2-ts0601.json | 153 +- .../data/devices/tze200-mzik0ov2-ts0601.json | 6 - .../data/devices/tze200-nklqjk62-ts0601.json | 7 - .../data/devices/tze200-nojsjtj2-ts0601.json | 20 +- .../data/devices/tze200-npj9bug3-ts0601.json | 38 +- .../data/devices/tze200-ntcy3xu1-ts0601.json | 8 - .../data/devices/tze200-ny94onlb-ts0601.json | 1251 +-- .../data/devices/tze200-nyvavzbj-ts0601.json | 6 - .../data/devices/tze200-pay2byax-ts0601.json | 6 - .../data/devices/tze200-pl31aqf5-ts0601.json | 7 - .../data/devices/tze200-pw7mji0l-ts0601.json | 26 +- .../data/devices/tze200-qhlxve78-ts0601.json | 6 - .../data/devices/tze200-qrztc3ev-ts0601.json | 9 - .../data/devices/tze200-qyflbnbj-ts0601.json | 9 - .../data/devices/tze200-r32ctezx-ts0601.json | 25 +- .../data/devices/tze200-r5ksy7qo-ts0601.json | 6 - .../data/devices/tze200-rccxox8p-ts0601.json | 7 - .../data/devices/tze200-rk1wojce-ts0601.json | 6 - .../data/devices/tze200-rks0sgb7-ts0601.json | 7 - .../data/devices/tze200-rmymn92d-ts0601.json | 7 - .../data/devices/tze200-rtrmfadk-ts0601.json | 6 - .../data/devices/tze200-rxq4iti9-ts0601.json | 9 - .../data/devices/tze200-s6hzw8g2-ts0601.json | 6 - .../data/devices/tze200-sur6q7ko-ts0601.json | 191 +- .../data/devices/tze200-t1blo2bj-ts0601.json | 9 - .../data/devices/tze200-t6gq6nju-ts0601.json | 7 - .../data/devices/tze200-udank5zs-ts0601.json | 6 - .../data/devices/tze200-uf1qujxj-ts0601.json | 6 - .../data/devices/tze200-v1jqz5cy-ts0601.json | 6 - .../data/devices/tze200-v9hkz2yn-ts0601.json | 392 +- .../data/devices/tze200-vdiuwbkq-ts0601.json | 23 +- .../data/devices/tze200-viy9ihs7-ts0601.json | 7 - .../data/devices/tze200-vuqzj1ej-ts0601.json | 49 +- .../data/devices/tze200-vvmbj46n-ts0601.json | 9 - .../data/devices/tze200-wdfurkoa-ts0601.json | 6 - .../data/devices/tze200-wfxuhoea-ts0601.json | 7 - .../data/devices/tze200-wktrysab-ts0601.json | 79 +- .../data/devices/tze200-wqashyqo-ts0601.json | 38 +- .../data/devices/tze200-xu4a5rhj-ts0601.json | 7 - .../data/devices/tze200-ya4ft0w4-ts0601.json | 6 - .../data/devices/tze200-yia0p3tr-ts0601.json | 7 - .../data/devices/tze200-yjjdcqsq-ts0601.json | 9 - .../data/devices/tze200-yojqa8xn-ts0601.json | 8 - .../data/devices/tze200-yvx5lh6k-ts0601.json | 13 - .../data/devices/tze200-yw7cahqs-ts0601.json | 7 - .../data/devices/tze200-ztvwu4nk-ts0601.json | 6 - .../data/devices/tze204-1fuxihti-ts0601.json | 24 +- .../data/devices/tze204-1v1dxkck-ts0601.json | 82 +- .../data/devices/tze204-1youk3hj-ts0601.json | 9 - .../data/devices/tze204-4fblxpma-ts0601.json | 124 +- .../data/devices/tze204-58of2pfn-ts0601.json | 43 +- .../data/devices/tze204-5slehgeo-ts0601.json | 7 - .../data/devices/tze204-5toc8efa-ts0601.json | 7 - .../data/devices/tze204-7ytb3h8u-ts0601.json | 9 - .../data/devices/tze204-81yrt3lo-ts0601.json | 1141 +-- .../data/devices/tze204-9yapgbuv-ts0601.json | 9 - .../data/devices/tze204-a2jcoyuk-ts0601.json | 7 - .../data/devices/tze204-ai4rqhky-ts0601.json | 6 - .../data/devices/tze204-aoclfnxz-ts0601.json | 7 - .../data/devices/tze204-bkkmqmyo-ts0601.json | 397 +- .../data/devices/tze204-bxoo2swd-ts0601.json | 56 +- .../data/devices/tze204-c2fmom5z-ts0601.json | 13 - .../data/devices/tze204-chbyv06x-ts0601.json | 8 - .../data/devices/tze204-cirvgep4-ts0601.json | 9 - .../data/devices/tze204-cjbofhxw-ts0601.json | 384 +- .../data/devices/tze204-d6i25bwg-ts0601.json | 25 +- .../data/devices/tze204-dqolcpcp-ts0601.json | 115 +- .../data/devices/tze204-dtzziy1e-ts0601.json | 8 - .../data/devices/tze204-dwcarsat-ts0601.json | 13 - .../data/devices/tze204-eekpf0ft-ts0601.json | 6 - .../data/devices/tze204-ex3rcdha-ts0601.json | 15 - .../data/devices/tze204-fhvdgeuh-ts0601.json | 7 - .../data/devices/tze204-g2ki0ejr-ts0601.json | 6 - .../data/devices/tze204-goecjd1t-ts0601.json | 7 - .../data/devices/tze204-gops3slb-ts0601.json | 8 - .../data/devices/tze204-guvc7pdy-ts0601.json | 24 +- .../data/devices/tze204-hlx9tnzb-ts0601.json | 25 +- .../data/devices/tze204-iaeejhvf-ts0601.json | 15 - .../data/devices/tze204-ijxvkhd0-ts0601.json | 7 - .../data/devices/tze204-jrcfsaa3-ts0601.json | 7 - .../data/devices/tze204-k7mfgaen-ts0601.json | 8 - .../data/devices/tze204-kobbcyum-ts0601.json | 6 - .../data/devices/tze204-kyhbrfyl-ts0601.json | 8 - .../data/devices/tze204-l8xiyymq-ts0601.json | 6 - .../data/devices/tze204-lb0fsvba-ts0601.json | 7 - .../data/devices/tze204-lbbg34rj-ts0601.json | 7 - .../data/devices/tze204-lpedvtvr-ts0601.json | 97 +- .../data/devices/tze204-lsanae15-ts0601.json | 7 - .../data/devices/tze204-ltwbm23f-ts0601.json | 8 - .../data/devices/tze204-lzriup1j-ts0601.json | 8 - .../data/devices/tze204-m64smti7-ts0601.json | 7 - .../data/devices/tze204-m9dzckna-ts0601.json | 7 - .../data/devices/tze204-mpbki2zm-ts0601.json | 7 - .../data/devices/tze204-mtoaryre-ts0601.json | 9 - .../data/devices/tze204-muvkrjr5-ts0601.json | 8 - .../data/devices/tze204-mwomyz5n-ts0601.json | 7 - .../data/devices/tze204-nbkshs6k-ts0601.json | 7 - .../data/devices/tze204-nklqjk62-ts0601.json | 7 - .../data/devices/tze204-nlrfgpny-ts0601.json | 9 - .../data/devices/tze204-nqqylykc-ts0601.json | 32 +- .../data/devices/tze204-nvxorhcj-ts0601.json | 7 - .../data/devices/tze204-ogx8u5z6-ts0601.json | 7 - .../data/devices/tze204-p3lqqy2r-ts0601.json | 7 - .../data/devices/tze204-pcdmj88b-ts0601.json | 6 - .../data/devices/tze204-ptaqh9tk-ts0601.json | 16 +- .../data/devices/tze204-pxbjch8m-ts0601.json | 7 - .../data/devices/tze204-qasjif9e-ts0601.json | 9 - .../data/devices/tze204-qtnjuoae-ts0601.json | 6 - .../data/devices/tze204-qvxrkeif-ts0601.json | 8 - .../data/devices/tze204-qyr2m29i-ts0601.json | 8 - .../data/devices/tze204-r32ctezx-ts0601.json | 7 - .../data/devices/tze204-rhblgy0z-ts0601.json | 7 - .../data/devices/tze204-rtrmfadk-ts0601.json | 8 - .../data/devices/tze204-sooucan5-ts0601.json | 9 - .../data/devices/tze204-srmahpwl-ts0601.json | 7 - .../data/devices/tze204-sxm7l9xa-ts0601.json | 9 - .../data/devices/tze204-tagezcph-ts0601.json | 7 - .../data/devices/tze204-tdhnhhiy-ts0601.json | 7 - .../data/devices/tze204-ue3rzddr-ts0601.json | 7 - .../data/devices/tze204-upagmta9-ts0601.json | 9 - .../data/devices/tze204-uxllnywp-ts0601.json | 9 - .../data/devices/tze204-vjpaih9f-ts0601.json | 6 - .../data/devices/tze204-vmcgja59-ts0601.json | 151 +- .../data/devices/tze204-w1wwxoja-ts0601.json | 7 - .../data/devices/tze204-wbhaespm-ts0601.json | 7 - .../data/devices/tze204-x8fp01wi-ts0601.json | 7 - .../data/devices/tze204-x9usygq1-ts0601.json | 6 - .../data/devices/tze204-xalsoe3m-ts0601.json | 141 +- .../data/devices/tze204-xlppj4f5-ts0601.json | 164 +- .../data/devices/tze204-xnbkhhdr-ts0601.json | 7 - .../data/devices/tze204-xu4a5rhj-ts0601.json | 7 - .../data/devices/tze204-ya4ft0w4-ts0601.json | 9 - .../data/devices/tze204-yjjdcqsq-ts0601.json | 9 - .../data/devices/tze204-yvx5lh6k-ts0601.json | 13 - .../data/devices/tze204-zenj4lxv-ts0601.json | 57 +- .../data/devices/tze204-ztqnh5cg-ts0601.json | 9 - .../data/devices/tze204-zxkwaztm-ts0601.json | 119 +- .../data/devices/tze20c-xbexmf8h-ts130f.json | 8 - .../data/devices/tze20c-zka46xbw-ts0601.json | 53 +- .../data/devices/tze284-0zaf1cr8-ts0601.json | 8 - .../data/devices/tze284-2gi1hy8s-ts0601.json | 7 - .../data/devices/tze284-3mzb0sdz-ts0601.json | 9 - .../data/devices/tze284-6fopvb6v-ts0601.json | 7 - .../data/devices/tze284-6hrnp30w-ts0601.json | 7 - .../data/devices/tze284-6ycgarab-ts0601.json | 7 - .../data/devices/tze284-78ioiaml-ts0601.json | 7 - .../data/devices/tze284-7zazvlyn-ts0601.json | 7 - .../data/devices/tze284-81yrt3lo-ts0601.json | 8 - .../data/devices/tze284-8se38w3c-ts0601.json | 7 - .../data/devices/tze284-a2xewxoo-ts0601.json | 8 - .../data/devices/tze284-aao3yzhs-ts0601.json | 10 - .../data/devices/tze284-c6wv4xyo-ts0601.json | 8 - .../data/devices/tze284-cjbofhxw-ts0601.json | 7 - .../data/devices/tze284-dmckrsxg-ts0601.json | 8 - .../data/devices/tze284-f5efvtbv-ts0601.json | 8 - .../data/devices/tze284-fhvpaltk-ts0601.json | 8 - .../data/devices/tze284-fzo2pocs-ts0601.json | 7 - .../data/devices/tze284-g2e6cpnw-ts0601.json | 7 - .../data/devices/tze284-hodyryli-ts0601.json | 7 - .../data/devices/tze284-iadro9bf-ts0601.json | 8 - .../data/devices/tze284-idvyees9-ts0601.json | 8 - .../data/devices/tze284-kyyu8rbj-ts0601.json | 7 - .../data/devices/tze284-l8xiyymq-ts0601.json | 7 - .../data/devices/tze284-ltwbm23f-ts0601.json | 7 - .../data/devices/tze284-myd45weu-ts0601.json | 10 - .../data/devices/tze284-ne4pikwm-ts0601.json | 8 - .../data/devices/tze284-nklqjk62-ts0601.json | 8 - .../data/devices/tze284-nnhwcvbk-ts0601.json | 7 - .../data/devices/tze284-o3x45p96-ts0601.json | 8 - .../data/devices/tze284-o9ofysmo-ts0601.json | 7 - .../data/devices/tze284-ogx8u5z6-ts0601.json | 8 - .../data/devices/tze284-oitavov2-ts0601.json | 46 +- .../data/devices/tze284-pcdmj88b-ts0601.json | 7 - .../data/devices/tze284-qyflbnbj-ts0601.json | 10 - .../data/devices/tze284-rjxqso4a-ts0601.json | 9 - .../data/devices/tze284-rlytpmij-ts0601.json | 8 - .../data/devices/tze284-rqcuwlsa-ts0601.json | 11 - .../data/devices/tze284-sgabhwa6-ts0601.json | 10 - .../data/devices/tze284-upagmta9-ts0601.json | 10 - .../data/devices/tze284-vawy74yh-ts0601.json | 7 - .../data/devices/tze284-vuwtqx0t-ts0601.json | 7 - .../data/devices/tze284-wtikaxzs-ts0601.json | 7 - .../data/devices/tze284-zjhoqbrd-ts0601.json | 7 - .../data/devices/tze284-zm8zpwas-ts0601.json | 7 - .../data/devices/tze284-znvwzxkq-ts0601.json | 7 - .../data/devices/tze600-iypcp4py-ts0105.json | 6 - .../data/devices/tze608-c75zqghm-ts0603.json | 8 - tests/data/devices/ubisys-s1-5501.json | 343 +- .../uiot-uiot-windowcovring2-0402.json | 76 +- ...versal-electronics-inc-urc4460bc0-x-r.json | 32 +- .../devices/unk-manufacturer-unk-model.json | 29 +- tests/data/devices/visonic-mct-340-sma.json | 36 +- tests/data/devices/xiaomi-lywsd03mmc.json | 40 +- tests/data/devices/xiaoyan-terncy-sd01.json | 22 +- tests/data/devices/xyzroe-diy-zintercom.json | 3 - tests/data/devices/yale-yrd256-tsdb.json | 34 +- tests/data/devices/yooksmart-d10110.json | 41 +- tests/data/devices/yunding-ford.json | 34 +- tests/data/devices/zbeacon-ts0001.json | 18 +- tests/data/devices/zbeacon-ts0505.json | 527 +- ...ux-andigny-alcantara2-d1-00p1-02z1-00.json | 117 +- tests/data/devices/zen-within-zen-01.json | 125 +- 771 files changed, 4755 insertions(+), 62701 deletions(-) diff --git a/tests/data/devices/adeo-sin-4-fp-21-equ.json b/tests/data/devices/adeo-sin-4-fp-21-equ.json index 9e7113d25..4a6b0d38e 100644 --- a/tests/data/devices/adeo-sin-4-fp-21-equ.json +++ b/tests/data/devices/adeo-sin-4-fp-21-equ.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,103 +95,48 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 39737, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0001", - "name": "current_summ_received", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 39737 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -220,13 +154,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 1028, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1028 }, { "id": "0x0306", @@ -244,13 +172,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -269,13 +191,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "pilot_wire_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -283,7 +203,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -298,7 +217,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -306,7 +224,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/adeo-zb-watersensor-d0001.json b/tests/data/devices/adeo-zb-watersensor-d0001.json index 8c16d2690..b25eb645b 100644 --- a/tests/data/devices/adeo-zb-watersensor-d0001.json +++ b/tests/data/devices/adeo-zb-watersensor-d0001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,44 +62,16 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -113,7 +84,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -141,7 +111,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -149,7 +118,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/adurosmart-eria-ad-rgbw3001.json b/tests/data/devices/adurosmart-eria-ad-rgbw3001.json index 4e020db08..b9bcbc9ca 100644 --- a/tests/data/devices/adurosmart-eria-ad-rgbw3001.json +++ b/tests/data/devices/adurosmart-eria-ad-rgbw3001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -112,19 +101,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -167,7 +149,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -203,13 +184,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 397, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 397 }, { "id": "0x0000", @@ -227,25 +202,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 30604, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 30604 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 25165, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 25165 }, { "id": "0x4000", @@ -270,7 +233,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -278,7 +240,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -301,7 +262,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/adurosmart-eria-adurolight-csc.json b/tests/data/devices/adurosmart-eria-adurolight-csc.json index b0ff4f116..d0673a595 100644 --- a/tests/data/devices/adurosmart-eria-adurolight-csc.json +++ b/tests/data/devices/adurosmart-eria-adurolight-csc.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,143 +62,66 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 120, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 120 }, { "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": true } ] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "current_level", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0007", - "name": "color_temperature", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0003", - "name": "current_x", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0004", - "name": "current_y", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfccc", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -207,55 +129,46 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfccc", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -270,7 +183,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -278,7 +190,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/adurosmart-eria-vms-adurolight.json b/tests/data/devices/adurosmart-eria-vms-adurolight.json index 958a81b92..69e1a1836 100644 --- a/tests/data/devices/adurosmart-eria-vms-adurolight.json +++ b/tests/data/devices/adurosmart-eria-vms-adurolight.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 180, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 180 }, { "id": "0x0033", @@ -99,26 +91,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -158,7 +142,6 @@ { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/aeotec-zga004.json b/tests/data/devices/aeotec-zga004.json index 28c1faf7a..5a3adbf94 100644 --- a/tests/data/devices/aeotec-zga004.json +++ b/tests/data/devices/aeotec-zga004.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,50 +62,38 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 41, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 41 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -118,25 +105,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "value": 255, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 255 }, { "id": "0x0011", @@ -179,13 +154,11 @@ { "cluster_id": "0xfd01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd03", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -193,13 +166,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -221,31 +192,26 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -257,25 +223,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0011", @@ -328,13 +282,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -342,25 +294,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [] } ] @@ -375,25 +323,21 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd00", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -401,37 +345,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -446,19 +384,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd00", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -466,31 +401,26 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] } ] @@ -506,7 +436,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/alab-alab-co2-1-1.json b/tests/data/devices/alab-alab-co2-1-1.json index 80770f217..da85a7702 100644 --- a/tests/data/devices/alab-alab-co2-1-1.json +++ b/tests/data/devices/alab-alab-co2-1-1.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 255, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 255 }, { "id": "0x0033", @@ -93,76 +85,48 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 255, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 255 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2010, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2010 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 3592, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 3592 } ] }, { "cluster_id": "0x040d", "endpoint_attribute": "carbon_dioxide_concentration", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "single", - "value": 812.0, - "reporting": { - "min": 30, - "max": 900, - "change": 1e-06, - "status": "SUCCESS" - } + "value": 812.0 } ] } @@ -180,7 +144,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/aqara-lumi-airrtc-aeu001.json b/tests/data/devices/aqara-lumi-airrtc-aeu001.json index c264bd3eb..d773ad64f 100644 --- a/tests/data/devices/aqara-lumi-airrtc-aeu001.json +++ b/tests/data/devices/aqara-lumi-airrtc-aeu001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,7 +95,6 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -148,13 +136,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 0.0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0.0 }, { "id": "0x0067", @@ -179,7 +161,6 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -215,13 +196,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2330, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2330 }, { "id": "0x0010", @@ -257,85 +232,43 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2600, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2600 }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0030", @@ -347,13 +280,7 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0023", @@ -371,166 +298,91 @@ "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": -1, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": -1 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5100, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 5100 } ] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -548,13 +400,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -572,13 +418,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -597,43 +437,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -657,61 +478,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -735,145 +526,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -885,13 +550,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -915,25 +574,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050a", @@ -957,37 +604,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0507", @@ -1011,44 +640,25 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -1056,13 +666,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/aqara-lumi-airrtc-aeu005.json b/tests/data/devices/aqara-lumi-airrtc-aeu005.json index 0c77236ea..d25acc4f9 100644 --- a/tests/data/devices/aqara-lumi-airrtc-aeu005.json +++ b/tests/data/devices/aqara-lumi-airrtc-aeu005.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -126,7 +125,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -145,7 +143,6 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -181,13 +178,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 1800, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1800 }, { "id": "0x0010", @@ -223,85 +214,43 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2000, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2000 }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0030", @@ -313,13 +262,7 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 1, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0023", @@ -337,32 +280,19 @@ "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -370,7 +300,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -389,7 +318,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", diff --git a/tests/data/devices/aqara-lumi-curtain-acn04.json b/tests/data/devices/aqara-lumi-curtain-acn04.json index 731db6b9c..b05426a9a 100644 --- a/tests/data/devices/aqara-lumi-curtain-acn04.json +++ b/tests/data/devices/aqara-lumi-curtain-acn04.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,49 +62,33 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 22, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 22 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0017", @@ -118,7 +101,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -126,13 +108,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/aqara-lumi-light-acn132.json b/tests/data/devices/aqara-lumi-light-acn132.json index 52fc7e967..0a52a8ced 100644 --- a/tests/data/devices/aqara-lumi-light-acn132.json +++ b/tests/data/devices/aqara-lumi-light-acn132.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 41, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 41 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,37 +178,19 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 154, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 154 }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 20512, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 20512 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 13762, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 13762 }, { "id": "0x000f", @@ -246,7 +209,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -254,13 +216,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/aqara-lumi-light-agl003.json b/tests/data/devices/aqara-lumi-light-agl003.json index fde2a4876..3bde2c529 100644 --- a/tests/data/devices/aqara-lumi-light-agl003.json +++ b/tests/data/devices/aqara-lumi-light-agl003.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -112,19 +101,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 1, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0014", @@ -167,7 +149,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -203,37 +184,19 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 153, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 153 }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 20486, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 20486 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 21474, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 21474 }, { "id": "0x000f", @@ -252,103 +215,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -366,13 +280,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -390,13 +298,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -415,43 +317,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -475,61 +358,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -553,145 +406,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -703,13 +430,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -733,25 +454,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050a", @@ -775,37 +484,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0507", @@ -829,44 +520,19 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -874,13 +540,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -902,21 +566,7 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0055", - "name": "present_value", - "zcl_type": "single", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] diff --git a/tests/data/devices/aqara-lumi-light-agl005.json b/tests/data/devices/aqara-lumi-light-agl005.json index 640a9e1e1..b458d38cd 100644 --- a/tests/data/devices/aqara-lumi-light-agl005.json +++ b/tests/data/devices/aqara-lumi-light-agl005.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -75,37 +74,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -118,19 +107,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -173,7 +155,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -209,37 +190,19 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 111, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 111 }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 8912, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 8912 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 2621, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2621 }, { "id": "0x000f", @@ -258,103 +221,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -372,13 +286,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -396,13 +304,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -421,43 +323,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -481,61 +364,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -559,145 +412,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -709,13 +436,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -739,25 +460,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050a", @@ -781,37 +490,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0507", @@ -835,44 +526,19 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -880,13 +546,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -908,21 +572,7 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0055", - "name": "present_value", - "zcl_type": "single", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] diff --git a/tests/data/devices/aqara-lumi-lunar-acn01.json b/tests/data/devices/aqara-lumi-lunar-acn01.json index c0ed10a1f..65627fac2 100644 --- a/tests/data/devices/aqara-lumi-lunar-acn01.json +++ b/tests/data/devices/aqara-lumi-lunar-acn01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,13 +68,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -83,13 +80,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/aqara-lumi-motion-ac01.json b/tests/data/devices/aqara-lumi-motion-ac01.json index 5cc5863d9..b1e452276 100644 --- a/tests/data/devices/aqara-lumi-motion-ac01.json +++ b/tests/data/devices/aqara-lumi-motion-ac01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -75,51 +74,35 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 2700, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2700 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [ { "id": "0x0146", @@ -158,13 +141,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/aqara-lumi-sensor-occupy-agl1.json b/tests/data/devices/aqara-lumi-sensor-occupy-agl1.json index b8db87b57..30949abb0 100644 --- a/tests/data/devices/aqara-lumi-sensor-occupy-agl1.json +++ b/tests/data/devices/aqara-lumi-sensor-occupy-agl1.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,51 +68,21 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "current_temperature", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "occupancy", - "zcl_type": "map8", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -132,7 +101,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -140,13 +108,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/aqara-lumi-sensor-occupy-agl8.json b/tests/data/devices/aqara-lumi-sensor-occupy-agl8.json index ce0ac34a0..161586c7d 100644 --- a/tests/data/devices/aqara-lumi-sensor-occupy-agl8.json +++ b/tests/data/devices/aqara-lumi-sensor-occupy-agl8.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -126,19 +125,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0033", @@ -156,20 +148,13 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -188,7 +173,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x004a", @@ -219,7 +203,6 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -237,13 +220,7 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", @@ -256,7 +233,6 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -274,13 +250,7 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2365, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2365 }, { "id": "0x0001", @@ -293,7 +263,6 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -311,13 +280,7 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5200, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 5200 }, { "id": "0x0001", @@ -330,7 +293,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -338,7 +300,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -357,7 +318,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", diff --git a/tests/data/devices/aqara-lumi-switch-acn047.json b/tests/data/devices/aqara-lumi-switch-acn047.json index 10c5b18ad..ec37a8636 100644 --- a/tests/data/devices/aqara-lumi-switch-acn047.json +++ b/tests/data/devices/aqara-lumi-switch-acn047.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -81,13 +79,7 @@ "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 3500, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 3500 }, { "id": "0x0010", @@ -118,37 +110,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -161,13 +143,11 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0020", @@ -179,97 +159,49 @@ "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -287,13 +219,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -311,13 +237,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -336,43 +256,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -396,61 +297,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 7899, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 7899 }, { "id": "0x050d", @@ -474,145 +345,31 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0103", "name": "dc_current", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "dc_voltage", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0502", @@ -648,13 +405,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0510", @@ -678,25 +429,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050a", @@ -720,37 +459,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0507", @@ -774,44 +495,25 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [ { "id": "0x0200", @@ -856,13 +558,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -884,37 +584,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -927,13 +617,11 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [ { "id": "0x0200", @@ -974,7 +662,6 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -1016,13 +703,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 789.8800048828125, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 789.8800048828125 }, { "id": "0x0067", diff --git a/tests/data/devices/aqara-lumi-switch-aeu003.json b/tests/data/devices/aqara-lumi-switch-aeu003.json index 2ff6ebf94..96170d567 100644 --- a/tests/data/devices/aqara-lumi-switch-aeu003.json +++ b/tests/data/devices/aqara-lumi-switch-aeu003.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -93,25 +88,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0011", @@ -154,103 +137,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -268,13 +202,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -292,13 +220,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -317,43 +239,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -377,61 +280,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -455,145 +328,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -605,13 +352,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -635,25 +376,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050a", @@ -677,37 +406,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0507", @@ -731,44 +442,25 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -776,13 +468,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -804,7 +494,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -820,7 +509,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -833,7 +521,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -849,7 +536,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -862,7 +548,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -878,7 +563,6 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -920,13 +604,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 0.0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0.0 }, { "id": "0x0067", diff --git a/tests/data/devices/aqara-lumi-switch-agl010.json b/tests/data/devices/aqara-lumi-switch-agl010.json index 34281404d..2ebe1ffb8 100644 --- a/tests/data/devices/aqara-lumi-switch-agl010.json +++ b/tests/data/devices/aqara-lumi-switch-agl010.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,7 +95,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -119,103 +107,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -233,13 +172,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -257,13 +190,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -282,43 +209,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -342,61 +250,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -420,145 +298,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -570,13 +322,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -600,25 +346,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050a", @@ -642,37 +376,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0507", @@ -696,44 +412,19 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -741,13 +432,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -769,31 +458,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -806,7 +486,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -819,7 +498,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -835,7 +513,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -851,13 +528,11 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -873,13 +548,11 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -895,7 +568,6 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -937,13 +609,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 0.0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0.0 }, { "id": "0x0067", diff --git a/tests/data/devices/atlantic-group-adapter-zigbee-fujitsu.json b/tests/data/devices/atlantic-group-adapter-zigbee-fujitsu.json index 26c2524fa..50a0157b0 100644 --- a/tests/data/devices/atlantic-group-adapter-zigbee-fujitsu.json +++ b/tests/data/devices/atlantic-group-adapter-zigbee-fujitsu.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,13 +62,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -105,13 +102,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2000, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2000 }, { "id": "0x0018", @@ -141,140 +132,73 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2600, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2600 }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2300, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2300 }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0202", "endpoint_attribute": "fan", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "fan_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0001", @@ -287,7 +211,6 @@ { "cluster_id": "0xfc03", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -295,7 +218,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -310,19 +232,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -330,7 +249,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -345,7 +263,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -353,7 +270,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/aug-winkhaus-gmbh-co-kg-fm-v-zb.json b/tests/data/devices/aug-winkhaus-gmbh-co-kg-fm-v-zb.json index e8bffca11..099ddff58 100644 --- a/tests/data/devices/aug-winkhaus-gmbh-co-kg-fm-v-zb.json +++ b/tests/data/devices/aug-winkhaus-gmbh-co-kg-fm-v-zb.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,44 +62,16 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -113,7 +84,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -149,13 +119,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/aurora-doublesocket50au.json b/tests/data/devices/aurora-doublesocket50au.json index c5749fd2f..6083e6d81 100644 --- a/tests/data/devices/aurora-doublesocket50au.json +++ b/tests/data/devices/aurora-doublesocket50au.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,43 +143,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 50, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 50 }, { "id": "0x0401", @@ -221,61 +184,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -283,149 +216,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 65535, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 65535 }, { "id": "0x0000", @@ -437,37 +232,19 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 6, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6 }, { "id": "0x050a", @@ -475,83 +252,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 246, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 246 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -560,7 +271,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -575,43 +285,32 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -624,43 +323,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 50, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 50 }, { "id": "0x0401", @@ -684,61 +364,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -746,149 +396,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 65535, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 65535 }, { "id": "0x0000", @@ -900,37 +412,19 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 3, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 3 }, { "id": "0x050a", @@ -938,83 +432,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 246, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 246 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } diff --git a/tests/data/devices/awox-ercu-ws-zm.json b/tests/data/devices/awox-ercu-ws-zm.json index 017aa627c..105f8639f 100644 --- a/tests/data/devices/awox-ercu-ws-zm.json +++ b/tests/data/devices/awox-ercu-ws-zm.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -83,49 +79,41 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -140,13 +128,11 @@ { "cluster_id": "0xff50", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff51", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -154,13 +140,11 @@ { "cluster_id": "0xff50", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff51", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/awox-esmlfzm-w6-dimm.json b/tests/data/devices/awox-esmlfzm-w6-dimm.json index f28f53f5b..dda552e81 100644 --- a/tests/data/devices/awox-esmlfzm-w6-dimm.json +++ b/tests/data/devices/awox-esmlfzm-w6-dimm.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -167,13 +149,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -209,37 +189,19 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x000f", @@ -258,13 +220,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -272,7 +232,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] } ] @@ -287,19 +246,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff50", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff51", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -307,13 +263,11 @@ { "cluster_id": "0xff50", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff51", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -329,7 +283,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/awox-tlsr82xx.json b/tests/data/devices/awox-tlsr82xx.json index 918d96ed3..a283f7ae9 100644 --- a/tests/data/devices/awox-tlsr82xx.json +++ b/tests/data/devices/awox-tlsr82xx.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -83,49 +79,41 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -140,13 +128,11 @@ { "cluster_id": "0xff50", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff51", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -154,13 +140,11 @@ { "cluster_id": "0xff50", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff51", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/bega-gantenbrink-leuchten-kg-smart-dimmable-light.json b/tests/data/devices/bega-gantenbrink-leuchten-kg-smart-dimmable-light.json index 36eb5afb5..1ddb18bc7 100644 --- a/tests/data/devices/bega-gantenbrink-leuchten-kg-smart-dimmable-light.json +++ b/tests/data/devices/bega-gantenbrink-leuchten-kg-smart-dimmable-light.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -194,37 +193,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -237,19 +226,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 94, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 94 }, { "id": "0x0014", @@ -310,19 +292,16 @@ { "cluster_id": "0xfcbe", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc5", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -330,37 +309,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -373,7 +346,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -392,7 +364,6 @@ { "cluster_id": "0xfcc5", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -408,7 +379,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/bitron-video-902010-24a.json b/tests/data/devices/bitron-video-902010-24a.json index e35fabcf4..16b7ac90d 100644 --- a/tests/data/devices/bitron-video-902010-24a.json +++ b/tests/data/devices/bitron-video-902010-24a.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,13 +62,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -109,7 +106,6 @@ { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", - "bind": "SUCCESS", "attributes": [] } ], @@ -117,7 +113,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -133,7 +128,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/bituo-technik-spm01x001.json b/tests/data/devices/bituo-technik-spm01x001.json index 93681b364..66a288e63 100644 --- a/tests/data/devices/bituo-technik-spm01x001.json +++ b/tests/data/devices/bituo-technik-spm01x001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,176 +62,83 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 10, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "status", - "zcl_type": "map8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ - { - "id": "0x0603", - "name": "ac_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 4992, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4992 }, { "id": "0x0302", @@ -256,61 +162,19 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0601", - "name": "ac_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0600", - "name": "ac_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -318,161 +182,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0403", - "name": "power_divisor", - "zcl_type": "uint32", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0510", @@ -480,18 +194,6 @@ "zcl_type": "int8", "value": 100 }, - { - "id": "0x0402", - "name": "power_multiplier", - "zcl_type": "uint32", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050e", "name": "reactive_power", @@ -502,13 +204,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -516,41 +212,11 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 24178, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 24178 }, { "id": "0x0507", @@ -558,41 +224,11 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0306", @@ -611,7 +247,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -619,13 +254,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/bosch-rbsh-mms-zb-eu.json b/tests/data/devices/bosch-rbsh-mms-zb-eu.json index dabacf44f..ae6ac9f4f 100644 --- a/tests/data/devices/bosch-rbsh-mms-zb-eu.json +++ b/tests/data/devices/bosch-rbsh-mms-zb-eu.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -93,25 +88,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0011", @@ -154,103 +137,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 221, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 221 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -268,13 +202,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0306", @@ -292,13 +220,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -317,43 +239,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -377,61 +280,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -455,145 +328,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -605,13 +352,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -635,25 +376,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050a", @@ -677,37 +406,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0507", @@ -731,50 +442,24 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfca0", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -782,13 +467,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -810,37 +493,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -853,7 +526,6 @@ { "cluster_id": "0xfca0", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -869,37 +541,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -912,7 +574,6 @@ { "cluster_id": "0xfca0", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/bosch-rbsh-rth0-bat-zb-eu.json b/tests/data/devices/bosch-rbsh-rth0-bat-zb-eu.json index f0ae2774f..d33d407f8 100644 --- a/tests/data/devices/bosch-rbsh-rth0-bat-zb-eu.json +++ b/tests/data/devices/bosch-rbsh-rth0-bat-zb-eu.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -75,13 +73,7 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -99,26 +91,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 62, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 62 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -131,7 +115,6 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -163,53 +146,11 @@ "zcl_type": "enum8", "value": 6 }, - { - "id": "0x5000", - "name": "error_code", - "zcl_type": "map8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x4052", - "name": "external_temperature", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, - { - "id": "0x4020", - "name": "heating_demand", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2180, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2180 }, { "id": "0x0010", @@ -245,97 +186,43 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2300, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2300 }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1700, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, - { - "id": "0x4051", - "name": "outdoor_temperature", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1700 }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0030", @@ -347,56 +234,25 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, - { - "id": "0x4022", - "name": "valve_state", - "zcl_type": "enum8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -409,26 +265,18 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5326, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 5326 } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -436,13 +284,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/bosch-rbsh-rth0-zb-eu.json b/tests/data/devices/bosch-rbsh-rth0-zb-eu.json index 397fce68f..23688b450 100644 --- a/tests/data/devices/bosch-rbsh-rth0-zb-eu.json +++ b/tests/data/devices/bosch-rbsh-rth0-zb-eu.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -99,7 +98,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -118,7 +116,6 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -168,53 +165,11 @@ "zcl_type": "enum8", "value": 6 }, - { - "id": "0x5000", - "name": "error_code", - "zcl_type": "map8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x4052", - "name": "external_temperature", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, - { - "id": "0x4020", - "name": "heating_demand", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2295, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2295 }, { "id": "0x0010", @@ -262,37 +217,19 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2150, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2150 }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2150, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2150 }, { "id": "0x4007", @@ -300,41 +237,11 @@ "zcl_type": "enum8", "value": 1 }, - { - "id": "0x4051", - "name": "outdoor_temperature", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } - }, - { - "id": "0x0008", - "name": "pi_heating_demand", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x001a", @@ -346,25 +253,13 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 2, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2 }, { "id": "0x0031", @@ -388,13 +283,7 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 3, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 3 }, { "id": "0x0009", @@ -418,37 +307,13 @@ "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, - { - "id": "0x4022", - "name": "valve_state", - "zcl_type": "enum8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4042", @@ -461,7 +326,6 @@ { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [ { "id": "0x403b", @@ -498,7 +362,6 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0002", @@ -510,13 +373,7 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5198, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 5198 }, { "id": "0x0001", @@ -541,7 +398,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffe", @@ -556,13 +412,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/bosch-rbsh-trv0-zb-eu.json b/tests/data/devices/bosch-rbsh-trv0-zb-eu.json index d440758e0..055ec1c08 100644 --- a/tests/data/devices/bosch-rbsh-trv0-zb-eu.json +++ b/tests/data/devices/bosch-rbsh-trv0-zb-eu.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 16, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 16 }, { "id": "0x0033", @@ -93,32 +85,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 27, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 27 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -131,7 +114,6 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -161,13 +143,7 @@ "id": "0x4043", "name": "boost_heating", "zcl_type": "enum8", - "value": 0, - "reporting": { - "min": 10, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x001b", @@ -179,13 +155,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2170, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2170 }, { "id": "0x0010", @@ -221,73 +191,37 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2300, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2300 }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1800, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1800 }, { "id": "0x4007", "name": "operating_mode", "zcl_type": "enum8", - "value": 1, - "reporting": { - "min": 10, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4020", "name": "pi_heating_demand", "zcl_type": "enum8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4040", @@ -299,25 +233,13 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0030", @@ -329,49 +251,19 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, - { - "id": "0x4022", - "name": "valve_adapt_status", - "zcl_type": "enum8", - "unsupported": false, - "reporting": { - "min": 10, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4042", @@ -384,7 +276,6 @@ { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [ { "id": "0x403b", @@ -421,7 +312,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -429,13 +319,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/bosch-rbsh-us4btn-zb-eu.json b/tests/data/devices/bosch-rbsh-us4btn-zb-eu.json index 6f23f4506..735a1db28 100644 --- a/tests/data/devices/bosch-rbsh-us4btn-zb-eu.json +++ b/tests/data/devices/bosch-rbsh-us4btn-zb-eu.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -159,7 +158,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0052", @@ -183,13 +181,7 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -207,13 +199,7 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 31 }, { "id": "0xfffd", @@ -238,7 +224,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -263,7 +248,6 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -276,7 +260,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0116", @@ -289,7 +272,6 @@ { "cluster_id": "0xfca1", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -297,7 +279,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -310,7 +291,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", diff --git a/tests/data/devices/busch-jaeger-rb01.json b/tests/data/devices/busch-jaeger-rb01.json index 6b6a2ceb2..bcd39bc72 100644 --- a/tests/data/devices/busch-jaeger-rb01.json +++ b/tests/data/devices/busch-jaeger-rb01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -71,37 +69,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -114,13 +106,11 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/candeo-c-zb-lc20-dim.json b/tests/data/devices/candeo-c-zb-lc20-dim.json index 600ba4418..f329defb4 100644 --- a/tests/data/devices/candeo-c-zb-lc20-dim.json +++ b/tests/data/devices/candeo-c-zb-lc20-dim.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -169,7 +150,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/candeo-c-zb-lc20-rgb.json b/tests/data/devices/candeo-c-zb-lc20-rgb.json index 2e42de8fd..cf601316c 100644 --- a/tests/data/devices/candeo-c-zb-lc20-rgb.json +++ b/tests/data/devices/candeo-c-zb-lc20-rgb.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 2, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -193,41 +174,17 @@ "zcl_type": "uint16", "value": 158 }, - { - "id": "0x0007", - "name": "color_temperature", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 4915, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4915 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 52428, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 52428 }, { "id": "0x000f", @@ -240,7 +197,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -248,7 +204,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/centralite-3300.json b/tests/data/devices/centralite-3300.json index 634d30194..839702e8a 100644 --- a/tests/data/devices/centralite-3300.json +++ b/tests/data/devices/centralite-3300.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0040", @@ -81,13 +79,7 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -105,26 +97,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -137,26 +121,18 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2335, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2335 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -196,7 +172,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -204,7 +179,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/centralite-3310-g.json b/tests/data/devices/centralite-3310-g.json index eee8a0022..9fb6b9434 100644 --- a/tests/data/devices/centralite-3310-g.json +++ b/tests/data/devices/centralite-3310-g.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -75,19 +74,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 185, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 185 }, { "id": "0x0033", @@ -105,26 +97,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 27, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 27 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -161,19 +145,12 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2137, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2137 }, { "id": "0xfffe", @@ -186,25 +163,17 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc45", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5987, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 5987 } ] } @@ -213,13 +182,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/centralite-3320-l.json b/tests/data/devices/centralite-3320-l.json index 275abdbcc..726c96c03 100644 --- a/tests/data/devices/centralite-3320-l.json +++ b/tests/data/devices/centralite-3320-l.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -75,13 +73,7 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -99,51 +91,35 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2017, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2017 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -183,7 +159,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -191,7 +166,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -206,25 +180,21 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc0f", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -232,7 +202,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/centralite-3326-l.json b/tests/data/devices/centralite-3326-l.json index 68e06ea47..8f1fb1e81 100644 --- a/tests/data/devices/centralite-3326-l.json +++ b/tests/data/devices/centralite-3326-l.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 169, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 169 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 26, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 26 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,26 +109,18 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1838, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 1838 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -184,7 +160,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -192,7 +167,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -207,25 +181,21 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc46", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -233,7 +203,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/centralite-3405-l.json b/tests/data/devices/centralite-3405-l.json index 8c8c3cc95..a6adcea8b 100644 --- a/tests/data/devices/centralite-3405-l.json +++ b/tests/data/devices/centralite-3405-l.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,26 +109,18 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2281, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2281 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -184,19 +160,16 @@ { "cluster_id": "0x0501", "endpoint_attribute": "ias_ace", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc04", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -204,7 +177,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -217,7 +189,6 @@ { "cluster_id": "0x0501", "endpoint_attribute": "ias_ace", - "bind": "SUCCESS", "attributes": [] } ] diff --git a/tests/data/devices/centralite-systems-3156105.json b/tests/data/devices/centralite-systems-3156105.json index edd850884..78e95611e 100644 --- a/tests/data/devices/centralite-systems-3156105.json +++ b/tests/data/devices/centralite-systems-3156105.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -99,13 +91,7 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29 }, { "id": "0x0000", @@ -118,25 +104,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -184,13 +166,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2005, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2005 }, { "id": "0x0010", @@ -232,37 +208,19 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2333, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2333 }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2055, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2055 }, { "id": "0x0001", @@ -274,25 +232,13 @@ "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x001a", @@ -304,25 +250,13 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0031", @@ -340,13 +274,7 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0009", @@ -358,44 +286,25 @@ "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "value": 2600, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2600 }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "value": 2000, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2000 } ] }, { "cluster_id": "0x0202", "endpoint_attribute": "fan", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "fan_mode", "zcl_type": "enum8", - "value": 5, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5 }, { "id": "0x0001", @@ -408,7 +317,6 @@ { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -429,13 +337,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/climaxtechnology-sd8sc-00-00-03-12tc.json b/tests/data/devices/climaxtechnology-sd8sc-00-00-03-12tc.json index 6d46181e4..99d3a6021 100644 --- a/tests/data/devices/climaxtechnology-sd8sc-00-00-03-12tc.json +++ b/tests/data/devices/climaxtechnology-sd8sc-00-00-03-12tc.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,13 +62,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -109,7 +106,6 @@ { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", - "bind": "SUCCESS", "attributes": [] } ], @@ -117,7 +113,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/computime-slr2b.json b/tests/data/devices/computime-slr2b.json index 8b14b12c4..4bccae7d7 100644 --- a/tests/data/devices/computime-slr2b.json +++ b/tests/data/devices/computime-slr2b.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,13 +62,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -82,7 +79,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -95,7 +91,6 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -143,13 +138,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 1864, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1864 }, { "id": "0x0010", @@ -185,37 +174,19 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2100, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2100 }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1900, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1900 }, { "id": "0x0001", @@ -227,25 +198,13 @@ "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0025", @@ -263,25 +222,13 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0031", @@ -299,13 +246,7 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0009", @@ -329,32 +270,19 @@ "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xfd00", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -362,31 +290,26 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd00", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -401,7 +324,6 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -443,13 +365,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2100, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2100 }, { "id": "0x0018", @@ -479,121 +395,61 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2100, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2100 }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2200, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2200 }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true } ] } @@ -610,7 +466,6 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -622,13 +477,7 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 0 } ] } @@ -645,19 +494,12 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 0 } ] } diff --git a/tests/data/devices/d5x84yu-et093wrg.json b/tests/data/devices/d5x84yu-et093wrg.json index 4f5374b9e..fad8ce4b7 100644 --- a/tests/data/devices/d5x84yu-et093wrg.json +++ b/tests/data/devices/d5x84yu-et093wrg.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -65,19 +64,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 198, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 198 }, { "id": "0x0033", @@ -95,32 +87,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 32, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 32 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -133,7 +116,6 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -171,59 +153,17 @@ "zcl_type": "enum8", "unsupported": true }, - { - "id": "0x404d", - "name": "adaptation_run_status", - "zcl_type": "map8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x001b", "name": "ctrl_sequence_of_oper", "zcl_type": "enum8", "value": 2 }, - { - "id": "0x4031", - "name": "heat_required", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x404a", - "name": "load_estimate", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 1537, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1537 }, { "id": "0x0018", @@ -255,53 +195,23 @@ "zcl_type": "int8", "unsupported": true }, - { - "id": "0x4012", - "name": "mounting_mode_active", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1100, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1100 }, { "id": "0x0035", @@ -309,89 +219,29 @@ "zcl_type": "uint8", "unsupported": true }, - { - "id": "0x4000", - "name": "open_window_detection", - "zcl_type": "enum8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "value": 1, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } - }, - { - "id": "0x404f", - "name": "preheat_status", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x4050", - "name": "preheat_time", - "zcl_type": "uint32", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0030", @@ -403,13 +253,7 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0023", @@ -421,77 +265,36 @@ "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x4010", - "name": "motor_step_counter", - "zcl_type": "uint32", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x4000", - "name": "sw_error_code", - "zcl_type": "map16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/danfoss-0x8040.json b/tests/data/devices/danfoss-0x8040.json index 14eea6bcd..b0a2a62d6 100644 --- a/tests/data/devices/danfoss-0x8040.json +++ b/tests/data/devices/danfoss-0x8040.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,7 +109,6 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -161,13 +144,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2392, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2392 }, { "id": "0x0010", @@ -203,172 +180,96 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2100, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2100 }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": -32768, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": -32768 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 2700, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 2700 } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -376,13 +277,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/danfoss-etrv0103.json b/tests/data/devices/danfoss-etrv0103.json index 4f98f8f18..f4e787b54 100644 --- a/tests/data/devices/danfoss-etrv0103.json +++ b/tests/data/devices/danfoss-etrv0103.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -65,19 +64,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 70, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 70 }, { "id": "0x0033", @@ -95,26 +87,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 27, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 27 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -139,7 +123,6 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -152,7 +135,6 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -194,13 +176,7 @@ "id": "0x404d", "name": "adaptation_run_status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4020", @@ -248,13 +224,7 @@ "id": "0x4031", "name": "heat_required", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4032", @@ -266,13 +236,7 @@ "id": "0x404a", "name": "load_estimate", "zcl_type": "int16", - "value": 437, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 437 }, { "id": "0x4040", @@ -284,13 +248,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2014, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2014 }, { "id": "0x0010", @@ -326,13 +284,7 @@ "id": "0x4012", "name": "mounting_mode_active", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4013", @@ -344,49 +296,25 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 500, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 500 }, { "id": "0x4000", "name": "open_window_detection", "zcl_type": "enum8", - "value": 1, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4014", @@ -398,49 +326,25 @@ "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x404f", "name": "preheat_status", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4050", "name": "preheat_time", "zcl_type": "uint32", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4016", @@ -458,25 +362,13 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0030", @@ -488,37 +380,19 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4051", @@ -531,7 +405,6 @@ { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -550,7 +423,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "SUCCESS", "attributes": [ { "id": "0x4021", @@ -565,25 +437,13 @@ "id": "0x4010", "name": "motor_step_counter", "zcl_type": "uint32", - "value": 63774, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 63774 }, { "id": "0x4000", "name": "sw_error_code", "zcl_type": "map16", - "value": 512, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 512 } ] } @@ -592,13 +452,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/datek-pop.json b/tests/data/devices/datek-pop.json index 7a9b5ccc7..8161ba1a7 100644 --- a/tests/data/devices/datek-pop.json +++ b/tests/data/devices/datek-pop.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,7 +95,6 @@ { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -119,62 +107,36 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2238, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2238 } ] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 50403, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 50403 }, { "id": "0x0401", @@ -198,61 +160,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -260,149 +192,11 @@ "zcl_type": "int16", "value": 2245 }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -414,37 +208,19 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -452,102 +228,33 @@ "zcl_type": "uint16", "value": 9591 }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 23633, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 23633 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "value": 24254 - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfee1", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfeed", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -555,19 +262,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -582,7 +286,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -590,7 +293,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/datek-ssds.json b/tests/data/devices/datek-ssds.json index 9ee32f99c..6b7f60cae 100644 --- a/tests/data/devices/datek-ssds.json +++ b/tests/data/devices/datek-ssds.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -93,51 +85,35 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 255, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 255 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2435, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2435 } ] }, { "cluster_id": "0xfea7", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfeed", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -145,43 +121,36 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/develco-products-a-s-zhemi-zigbee-external-meter-interface.json b/tests/data/devices/develco-products-a-s-zhemi-zigbee-external-meter-interface.json index 2bb8bdad7..c8a827a73 100644 --- a/tests/data/devices/develco-products-a-s-zhemi-zigbee-external-meter-interface.json +++ b/tests/data/devices/develco-products-a-s-zhemi-zigbee-external-meter-interface.json @@ -44,19 +44,16 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -64,7 +61,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -79,7 +75,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -122,109 +117,59 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 42317930, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 42317930 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "value": 281474976710655, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 281474976710655 }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "value": 281474976710655, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 281474976710655 }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -254,13 +199,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 1140, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1140 }, { "id": "0x0306", @@ -278,13 +217,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -305,7 +238,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/digi-xbee3.json b/tests/data/devices/digi-xbee3.json index ab0831e07..99c762c92 100644 --- a/tests/data/devices/digi-xbee3.json +++ b/tests/data/devices/digi-xbee3.json @@ -44,40 +44,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0055", - "name": "present_value", - "zcl_type": "single", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -92,40 +64,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0055", - "name": "present_value", - "zcl_type": "single", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -140,40 +91,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0055", - "name": "present_value", - "zcl_type": "single", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -188,40 +118,19 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0055", - "name": "present_value", - "zcl_type": "single", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -236,21 +145,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -265,21 +160,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -294,21 +175,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -323,40 +190,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0055", - "name": "present_value", - "zcl_type": "single", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -371,21 +210,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -400,21 +225,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -429,26 +240,11 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0041", @@ -468,18 +264,6 @@ "zcl_type": "bool", "value": 0 }, - { - "id": "0x0055", - "name": "present_value", - "zcl_type": "single", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x006a", "name": "resolution", @@ -507,26 +291,11 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0041", @@ -546,18 +315,6 @@ "zcl_type": "bool", "value": 0 }, - { - "id": "0x0055", - "name": "present_value", - "zcl_type": "single", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x006a", "name": "resolution", @@ -585,21 +342,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -614,21 +357,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -643,21 +372,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -672,7 +387,6 @@ { "cluster_id": "0x00a1", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -680,7 +394,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -695,7 +408,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0007", @@ -714,13 +426,11 @@ { "cluster_id": "0x0011", "endpoint_attribute": "xbee_serial_data", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0092", "endpoint_attribute": "binary_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -728,13 +438,11 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0011", "endpoint_attribute": "xbee_serial_data", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ecodim-bv-eco-dim-05-zigbee.json b/tests/data/devices/ecodim-bv-eco-dim-05-zigbee.json index c0f3241ed..23dfb9f72 100644 --- a/tests/data/devices/ecodim-bv-eco-dim-05-zigbee.json +++ b/tests/data/devices/ecodim-bv-eco-dim-05-zigbee.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -169,7 +150,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -191,43 +171,32 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -240,19 +209,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -295,7 +257,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -303,7 +264,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -326,7 +286,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ecodim-bv-ecodim-zigbee-3-0.json b/tests/data/devices/ecodim-bv-ecodim-zigbee-3-0.json index a7d46b3f1..5079030fb 100644 --- a/tests/data/devices/ecodim-bv-ecodim-zigbee-3-0.json +++ b/tests/data/devices/ecodim-bv-ecodim-zigbee-3-0.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -105,13 +100,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0xfffe", @@ -130,19 +119,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 190, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 190 }, { "id": "0x0014", @@ -185,7 +167,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -193,7 +174,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -208,43 +188,32 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -257,19 +226,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 210, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 210 }, { "id": "0x0014", @@ -312,7 +274,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -320,7 +281,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -336,7 +296,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ecolink-4655bc0-r.json b/tests/data/devices/ecolink-4655bc0-r.json index 35870d53f..75b58aa62 100644 --- a/tests/data/devices/ecolink-4655bc0-r.json +++ b/tests/data/devices/ecolink-4655bc0-r.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,20 +68,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0033", "name": "battery_quantity", @@ -123,26 +109,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -161,26 +139,18 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2500, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2500 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -220,7 +190,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -228,7 +197,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/enktro-acmidea.json b/tests/data/devices/enktro-acmidea.json index 7377f2532..877d80c62 100644 --- a/tests/data/devices/enktro-acmidea.json +++ b/tests/data/devices/enktro-acmidea.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,13 +62,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -105,13 +102,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2450, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2450 }, { "id": "0x0010", @@ -147,85 +138,43 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2600, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2600 }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2000, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2000 }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0030", @@ -237,56 +186,31 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0202", "endpoint_attribute": "fan", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "fan_mode", "zcl_type": "enum8", - "value": 5, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5 }, { "id": "0x0001", @@ -301,7 +225,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ericsity-gl-c-008p.json b/tests/data/devices/ericsity-gl-c-008p.json index d70074b45..0491d2639 100755 --- a/tests/data/devices/ericsity-gl-c-008p.json +++ b/tests/data/devices/ericsity-gl-c-008p.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,13 +178,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 455, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 455 }, { "id": "0x0000", @@ -221,25 +196,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 9568, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 9568 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 3145, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 3145 }, { "id": "0x4000", @@ -264,7 +227,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -272,7 +234,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/ericsity-gl-c-009p.json b/tests/data/devices/ericsity-gl-c-009p.json index 64cc7df60..8a0cf6176 100644 --- a/tests/data/devices/ericsity-gl-c-009p.json +++ b/tests/data/devices/ericsity-gl-c-009p.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -81,37 +80,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -124,19 +113,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -179,7 +161,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -227,13 +208,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 500 }, { "id": "0x0000", @@ -251,25 +226,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 33904, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 33904 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 65280, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 65280 }, { "id": "0x4000", @@ -300,7 +263,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -308,7 +270,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/espressif-zigbeeanalogdevice.json b/tests/data/devices/espressif-zigbeeanalogdevice.json index 9a400d941..f118db1bb 100644 --- a/tests/data/devices/espressif-zigbeeanalogdevice.json +++ b/tests/data/devices/espressif-zigbeeanalogdevice.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,13 +62,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -111,13 +108,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 280.0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 280.0 }, { "id": "0x0067", @@ -142,7 +133,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -178,13 +168,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 0.0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0.0 }, { "id": "0x0068", diff --git a/tests/data/devices/espressif-zigbeebinaryoutputdevice.json b/tests/data/devices/espressif-zigbeebinaryoutputdevice.json index 5cd3f0a8c..a02fe39c0 100644 --- a/tests/data/devices/espressif-zigbeebinaryoutputdevice.json +++ b/tests/data/devices/espressif-zigbeebinaryoutputdevice.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,13 +62,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0010", "endpoint_attribute": "binary_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -81,13 +78,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": true } ] } diff --git a/tests/data/devices/espressif-zigbeecarbondioxidesensor.json b/tests/data/devices/espressif-zigbeecarbondioxidesensor.json index b2ea19bf8..1581a594d 100644 --- a/tests/data/devices/espressif-zigbeecarbondioxidesensor.json +++ b/tests/data/devices/espressif-zigbeecarbondioxidesensor.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,17 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x040d", "endpoint_attribute": "carbon_dioxide_concentration", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "single", - "value": 0.0003239999932702631, - "reporting": { - "min": 30, - "max": 900, - "change": 1e-06, - "status": "SUCCESS" - } + "value": 0.0003239999932702631 } ] } diff --git a/tests/data/devices/eurotronic-spzb0001.json b/tests/data/devices/eurotronic-spzb0001.json index c104047d6..78ddfccc6 100644 --- a/tests/data/devices/eurotronic-spzb0001.json +++ b/tests/data/devices/eurotronic-spzb0001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 130, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 130 }, { "id": "0x0033", @@ -93,32 +85,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 229, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 229 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -154,13 +137,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2250, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2250 }, { "id": "0x0010", @@ -196,85 +173,43 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2000, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2000 }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0030", @@ -286,37 +221,19 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "value": 2000, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2000 } ] } @@ -325,7 +242,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/ewelink-ck-bl702-al-01-7009-z102lg03-1.json b/tests/data/devices/ewelink-ck-bl702-al-01-7009-z102lg03-1.json index c6a85e5bb..a360e22a4 100644 --- a/tests/data/devices/ewelink-ck-bl702-al-01-7009-z102lg03-1.json +++ b/tests/data/devices/ewelink-ck-bl702-al-01-7009-z102lg03-1.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,13 +178,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 142, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 142 }, { "id": "0x0000", @@ -221,25 +196,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 19957, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 19957 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 20682, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 20682 }, { "id": "0x4000", @@ -264,25 +227,21 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc11", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -290,7 +249,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/ewelink-ck-tlsr8656-ss5-01-7000.json b/tests/data/devices/ewelink-ck-tlsr8656-ss5-01-7000.json index 6d6737cc6..c5f45fdc5 100644 --- a/tests/data/devices/ewelink-ck-tlsr8656-ss5-01-7000.json +++ b/tests/data/devices/ewelink-ck-tlsr8656-ss5-01-7000.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,32 +85,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -133,13 +116,11 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/ewelink-ds01.json b/tests/data/devices/ewelink-ds01.json index 3980d10c5..107e58bd5 100644 --- a/tests/data/devices/ewelink-ds01.json +++ b/tests/data/devices/ewelink-ds01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -154,7 +138,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ewelink-ms01.json b/tests/data/devices/ewelink-ms01.json index f48f03118..777aaacb3 100644 --- a/tests/data/devices/ewelink-ms01.json +++ b/tests/data/devices/ewelink-ms01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -154,7 +138,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ewelink-sa-003-zigbee.json b/tests/data/devices/ewelink-sa-003-zigbee.json index 1dda893be..72ba880db 100644 --- a/tests/data/devices/ewelink-sa-003-zigbee.json +++ b/tests/data/devices/ewelink-sa-003-zigbee.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -108,7 +97,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ewelink-snzb-01p.json b/tests/data/devices/ewelink-snzb-01p.json index 8dbd4a04f..29a8d0e3f 100644 --- a/tests/data/devices/ewelink-snzb-01p.json +++ b/tests/data/devices/ewelink-snzb-01p.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,7 +109,6 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -133,19 +116,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/ewelink-snzb-02p.json b/tests/data/devices/ewelink-snzb-02p.json index 543cb441d..6684c2fbb 100644 --- a/tests/data/devices/ewelink-snzb-02p.json +++ b/tests/data/devices/ewelink-snzb-02p.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,51 +109,35 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2420, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2420 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4700, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 4700 } ] }, { "cluster_id": "0xfc11", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -177,7 +145,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/ewelink-snzb-03p.json b/tests/data/devices/ewelink-snzb-03p.json index 5816c549e..4f485d526 100644 --- a/tests/data/devices/ewelink-snzb-03p.json +++ b/tests/data/devices/ewelink-snzb-03p.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 31 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,19 +109,12 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0020", @@ -156,7 +133,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -196,7 +172,6 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -204,13 +179,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/ewelink-snzb-04p.json b/tests/data/devices/ewelink-snzb-04p.json index aa062591d..9553fe292 100644 --- a/tests/data/devices/ewelink-snzb-04p.json +++ b/tests/data/devices/ewelink-snzb-04p.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,13 +85,7 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 }, { "id": "0x0010", @@ -118,13 +104,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -137,7 +121,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -177,26 +160,11 @@ { "cluster_id": "0xfc11", "endpoint_attribute": "sonoff_contact_cluster", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x2000", - "name": "tamper", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -204,13 +172,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -229,7 +195,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/ewelink-th01.json b/tests/data/devices/ewelink-th01.json index dc3944619..29ecf120f 100644 --- a/tests/data/devices/ewelink-th01.json +++ b/tests/data/devices/ewelink-th01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,57 +85,36 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 31 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2660, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2660 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5775, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 5775 } ] } @@ -152,7 +123,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ewelink-wb01.json b/tests/data/devices/ewelink-wb01.json index 1e56a3d0c..be8aa03df 100644 --- a/tests/data/devices/ewelink-wb01.json +++ b/tests/data/devices/ewelink-wb01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,20 +85,13 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -114,13 +99,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] } ] diff --git a/tests/data/devices/ewelink-zb-sw01.json b/tests/data/devices/ewelink-zb-sw01.json index 2121ed5d5..331104b3f 100644 --- a/tests/data/devices/ewelink-zb-sw01.json +++ b/tests/data/devices/ewelink-zb-sw01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -108,7 +97,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ewelink-zb-sw02.json b/tests/data/devices/ewelink-zb-sw02.json index 9ba47d617..76240d18a 100644 --- a/tests/data/devices/ewelink-zb-sw02.json +++ b/tests/data/devices/ewelink-zb-sw02.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -108,7 +97,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -123,43 +111,32 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -174,7 +151,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ezviz-cs-t55-r100-g.json b/tests/data/devices/ezviz-cs-t55-r100-g.json index 2b8ef7adb..4708ebcb7 100644 --- a/tests/data/devices/ezviz-cs-t55-r100-g.json +++ b/tests/data/devices/ezviz-cs-t55-r100-g.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 100, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0033", @@ -93,38 +85,24 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 33, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 33 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -137,7 +115,6 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -150,7 +127,6 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -186,13 +162,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0010", @@ -228,85 +198,43 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 3500, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 3500 }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0030", @@ -318,63 +246,37 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 1, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2850, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2850 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -414,19 +316,16 @@ { "cluster_id": "0x0704", "endpoint_attribute": "smartenergy_tunneling", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe00", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfec0", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -434,7 +333,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -447,7 +345,6 @@ { "cluster_id": "0x0704", "endpoint_attribute": "smartenergy_tunneling", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/feibit-inc-co-fzb56-zcw27lx1-0.json b/tests/data/devices/feibit-inc-co-fzb56-zcw27lx1-0.json index 965705b03..1f1e39bbd 100644 --- a/tests/data/devices/feibit-inc-co-fzb56-zcw27lx1-0.json +++ b/tests/data/devices/feibit-inc-co-fzb56-zcw27lx1-0.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -112,19 +101,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 76, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 76 }, { "id": "0x0014", @@ -167,7 +149,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -203,13 +184,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 222, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 222 }, { "id": "0x0000", @@ -227,25 +202,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 45677, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 45677 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 19529, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 19529 }, { "id": "0x4000", @@ -280,7 +243,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -288,7 +250,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/frient-a-s-aqszb-110.json b/tests/data/devices/frient-a-s-aqszb-110.json index a33eeecda..0d50bc2d6 100644 --- a/tests/data/devices/frient-a-s-aqszb-110.json +++ b/tests/data/devices/frient-a-s-aqszb-110.json @@ -44,19 +44,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -72,7 +69,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -91,7 +87,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -103,13 +98,7 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 150, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 150 }, { "id": "0x0033", @@ -127,26 +116,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -159,19 +140,12 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2060, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2060 }, { "id": "0x0003", @@ -184,19 +158,12 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4180, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 4180 }, { "id": "0x0003", @@ -209,46 +176,28 @@ { "cluster_id": "0x042e", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "develco_voc_level", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "measured_value", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 10, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/frient-a-s-emizb-141.json b/tests/data/devices/frient-a-s-emizb-141.json index 0f1e5505f..02be95a06 100644 --- a/tests/data/devices/frient-a-s-emizb-141.json +++ b/tests/data/devices/frient-a-s-emizb-141.json @@ -44,13 +44,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -66,7 +64,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -85,7 +82,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -97,13 +93,7 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -121,26 +111,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 31 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -153,103 +135,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -267,13 +200,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0306", @@ -291,13 +218,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -316,19 +237,16 @@ { "cluster_id": "0x0b01", "endpoint_attribute": "meter_id", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd10", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -336,19 +254,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/frient-a-s-emizb-151.json b/tests/data/devices/frient-a-s-emizb-151.json index d82ac5540..a2d152951 100644 --- a/tests/data/devices/frient-a-s-emizb-151.json +++ b/tests/data/devices/frient-a-s-emizb-151.json @@ -44,13 +44,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -79,7 +77,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -98,19 +95,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -128,13 +118,7 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -147,13 +131,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -166,103 +148,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 41984478, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 41984478 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 9532077, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 9532077 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "value": 26339666, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 26339666 }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "value": 15644812, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 15644812 }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -280,13 +213,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 1821, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1821 }, { "id": "0x0306", @@ -304,13 +231,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -329,55 +250,34 @@ { "cluster_id": "0x0704", "endpoint_attribute": "smartenergy_tunneling", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b01", "endpoint_attribute": "meter_id", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -401,61 +301,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 517, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 517 }, { "id": "0x050d", @@ -479,145 +349,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "value": 1274, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1274 }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "value": 29, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 29 }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -629,13 +373,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0510", @@ -659,13 +397,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050e", @@ -689,13 +421,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 5, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5 }, { "id": "0x050a", @@ -719,37 +445,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "value": 5, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5 }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 2280, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2280 }, { "id": "0x0507", @@ -773,37 +481,19 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "value": 2280, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2280 }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "value": 2270, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2270 }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "value": 1821, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1821 }, { "id": "0x0305", @@ -816,7 +506,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -824,19 +513,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -858,115 +544,64 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 2950491, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2950491 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -984,13 +619,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -1008,13 +637,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -1033,7 +656,6 @@ { "cluster_id": "0x0b01", "endpoint_attribute": "meter_id", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -1041,7 +663,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -1056,115 +677,64 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 281474976710655, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 281474976710655 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -1182,13 +752,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -1206,13 +770,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -1231,7 +789,6 @@ { "cluster_id": "0x0b01", "endpoint_attribute": "meter_id", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -1239,7 +796,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -1254,115 +810,64 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 281474976710655, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 281474976710655 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -1380,13 +885,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -1404,13 +903,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -1429,7 +922,6 @@ { "cluster_id": "0x0b01", "endpoint_attribute": "meter_id", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -1437,7 +929,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -1452,115 +943,64 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 281474976710655, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 281474976710655 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -1578,13 +1018,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -1602,13 +1036,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -1627,7 +1055,6 @@ { "cluster_id": "0x0b01", "endpoint_attribute": "meter_id", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -1635,7 +1062,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/frient-a-s-flszb-110.json b/tests/data/devices/frient-a-s-flszb-110.json index f0e062f02..58afdea0f 100644 --- a/tests/data/devices/frient-a-s-flszb-110.json +++ b/tests/data/devices/frient-a-s-flszb-110.json @@ -46,19 +46,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -81,7 +78,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -100,7 +96,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -108,54 +103,28 @@ "zcl_type": "map32", "value": 0 }, - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 32, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 32 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x006f", @@ -168,7 +137,6 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -181,7 +149,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -209,7 +176,6 @@ { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", - "bind": "SUCCESS", "attributes": [] } ], @@ -217,13 +183,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -245,31 +209,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2193, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2193 } ] } @@ -278,7 +233,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/frient-a-s-hmszb-120.json b/tests/data/devices/frient-a-s-hmszb-120.json index 5da83951e..7807cc353 100644 --- a/tests/data/devices/frient-a-s-hmszb-120.json +++ b/tests/data/devices/frient-a-s-hmszb-120.json @@ -44,19 +44,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -72,7 +69,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -91,7 +87,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -103,13 +98,7 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -127,26 +116,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -159,19 +140,12 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2060, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2060 }, { "id": "0x0003", @@ -184,19 +158,12 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4150, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 4150 }, { "id": "0x0003", @@ -211,19 +178,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/frient-a-s-iomzb-110.json b/tests/data/devices/frient-a-s-iomzb-110.json index fc080e8f0..b1330d95b 100644 --- a/tests/data/devices/frient-a-s-iomzb-110.json +++ b/tests/data/devices/frient-a-s-iomzb-110.json @@ -44,13 +44,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -66,7 +64,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -85,25 +82,17 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x006f", @@ -116,7 +105,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -124,19 +112,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -158,31 +143,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x006f", @@ -197,7 +173,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -212,31 +187,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x006f", @@ -251,7 +217,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -266,31 +231,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x006f", @@ -305,7 +261,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -320,43 +275,32 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -371,13 +315,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -392,43 +334,32 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -443,13 +374,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -465,7 +394,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/frient-a-s-kepzb-110.json b/tests/data/devices/frient-a-s-kepzb-110.json index a822453fc..ec95fe604 100644 --- a/tests/data/devices/frient-a-s-kepzb-110.json +++ b/tests/data/devices/frient-a-s-kepzb-110.json @@ -44,13 +44,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -66,7 +64,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -85,7 +82,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -97,13 +93,7 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 130, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 130 }, { "id": "0x0033", @@ -121,26 +111,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 53, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 53 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -153,7 +135,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -193,7 +174,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -201,19 +181,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -226,7 +203,6 @@ { "cluster_id": "0x0501", "endpoint_attribute": "ias_ace", - "bind": "SUCCESS", "attributes": [] } ] diff --git a/tests/data/devices/frient-a-s-moszb-140.json b/tests/data/devices/frient-a-s-moszb-140.json index e3c7b5e7b..15bfe8ee5 100644 --- a/tests/data/devices/frient-a-s-moszb-140.json +++ b/tests/data/devices/frient-a-s-moszb-140.json @@ -44,19 +44,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -72,7 +69,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -91,25 +87,17 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] } @@ -126,13 +114,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -144,13 +130,7 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -168,26 +148,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -199,13 +171,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x006f", @@ -218,13 +184,11 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -266,19 +230,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -300,31 +261,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2043, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2043 } ] } @@ -341,31 +293,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 26490, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 26490 } ] } @@ -382,31 +325,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] } @@ -423,31 +357,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] } diff --git a/tests/data/devices/frient-a-s-moszb-153.json b/tests/data/devices/frient-a-s-moszb-153.json index fd5678a76..d3364789e 100644 --- a/tests/data/devices/frient-a-s-moszb-153.json +++ b/tests/data/devices/frient-a-s-moszb-153.json @@ -44,13 +44,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -66,7 +64,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -85,25 +82,17 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0010", @@ -118,7 +107,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -133,13 +121,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -151,13 +137,7 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 190, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 190 }, { "id": "0x0033", @@ -175,38 +155,24 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0067", @@ -225,7 +191,6 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -238,7 +203,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -278,7 +242,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -286,19 +249,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -320,31 +280,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2256, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2256 } ] } @@ -353,7 +304,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -368,31 +318,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 19815, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 19815 } ] } @@ -401,7 +342,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -416,31 +356,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] } @@ -449,7 +380,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -464,31 +394,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] } @@ -497,7 +418,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/frient-a-s-sbtzb-110.json b/tests/data/devices/frient-a-s-sbtzb-110.json index 9e339154f..d5e724cb4 100644 --- a/tests/data/devices/frient-a-s-sbtzb-110.json +++ b/tests/data/devices/frient-a-s-sbtzb-110.json @@ -44,13 +44,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -66,7 +64,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -85,7 +82,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -97,13 +93,7 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 160, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 160 }, { "id": "0x0033", @@ -121,38 +111,24 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x006f", @@ -165,7 +141,6 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -178,7 +153,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -186,13 +160,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -211,13 +183,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/frient-a-s-scazb-141.json b/tests/data/devices/frient-a-s-scazb-141.json index af19f6706..0554309b1 100644 --- a/tests/data/devices/frient-a-s-scazb-141.json +++ b/tests/data/devices/frient-a-s-scazb-141.json @@ -46,13 +46,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -68,7 +66,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -105,7 +102,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -113,18 +109,6 @@ "zcl_type": "map32", "value": 0 }, - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0033", "name": "battery_quantity", @@ -141,26 +125,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0004", @@ -178,13 +154,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0067", @@ -203,13 +173,11 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -249,7 +217,6 @@ { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", - "bind": "SUCCESS", "attributes": [] } ], @@ -257,19 +224,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -291,31 +255,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2037, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2037 } ] } @@ -332,19 +287,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0004", @@ -362,13 +314,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0067", @@ -387,26 +333,18 @@ { "cluster_id": "0x040c", "endpoint_attribute": "carbon_monoxide_concentration", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "single", - "value": 0.0, - "reporting": { - "min": 30, - "max": 900, - "change": 1e-06, - "status": "SUCCESS" - } + "value": 0.0 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -448,7 +386,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/frient-a-s-sirzb-111.json b/tests/data/devices/frient-a-s-sirzb-111.json index dc6c3d7c1..397b941be 100644 --- a/tests/data/devices/frient-a-s-sirzb-111.json +++ b/tests/data/devices/frient-a-s-sirzb-111.json @@ -44,13 +44,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -66,7 +64,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -85,7 +82,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -97,13 +93,7 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 10, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0033", @@ -127,32 +117,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -192,7 +173,6 @@ { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", - "bind": "SUCCESS", "attributes": [] } ], @@ -200,19 +180,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -235,7 +212,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/frient-a-s-smszb-120.json b/tests/data/devices/frient-a-s-smszb-120.json index e7a808b9d..e1890ccdf 100644 --- a/tests/data/devices/frient-a-s-smszb-120.json +++ b/tests/data/devices/frient-a-s-smszb-120.json @@ -46,19 +46,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -74,7 +71,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -93,7 +89,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -105,13 +100,7 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 150, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 150 }, { "id": "0x0033", @@ -129,38 +118,24 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x006f", @@ -173,7 +148,6 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -186,7 +160,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -226,7 +199,6 @@ { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", - "bind": "SUCCESS", "attributes": [] } ], @@ -234,13 +206,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -262,31 +232,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2281, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2281 } ] } @@ -295,7 +256,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/frient-a-s-splzb-141.json b/tests/data/devices/frient-a-s-splzb-141.json index f627bb2ca..e3067b1b4 100644 --- a/tests/data/devices/frient-a-s-splzb-141.json +++ b/tests/data/devices/frient-a-s-splzb-141.json @@ -44,13 +44,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -66,7 +64,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -85,56 +82,39 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 32, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 32 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -147,109 +127,59 @@ { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 41, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 41 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -267,13 +197,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 2, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2 }, { "id": "0x0306", @@ -291,13 +215,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -316,43 +234,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 59986, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 59986 }, { "id": "0x0401", @@ -376,61 +275,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 2, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2 }, { "id": "0x050d", @@ -454,145 +323,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -604,13 +347,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -634,25 +371,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 37, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 37 }, { "id": "0x050a", @@ -676,37 +401,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12308, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 12308 }, { "id": "0x0507", @@ -730,44 +437,19 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -775,19 +457,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -800,7 +479,6 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -816,7 +494,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/frient-a-s-wiszb-131.json b/tests/data/devices/frient-a-s-wiszb-131.json index 39a992408..b1bf60d3d 100644 --- a/tests/data/devices/frient-a-s-wiszb-131.json +++ b/tests/data/devices/frient-a-s-wiszb-131.json @@ -44,13 +44,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -66,7 +64,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -85,7 +82,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -97,13 +93,7 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 180, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 180 }, { "id": "0x0033", @@ -121,38 +111,24 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0067", @@ -171,7 +147,6 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -184,7 +159,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -224,7 +198,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -232,13 +205,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -260,31 +231,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2012, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2012 } ] } @@ -293,7 +255,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/generic-zigbee-coordinator-ezsp.json b/tests/data/devices/generic-zigbee-coordinator-ezsp.json index cff50bad0..9ec198e16 100644 --- a/tests/data/devices/generic-zigbee-coordinator-ezsp.json +++ b/tests/data/devices/generic-zigbee-coordinator-ezsp.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0501", "endpoint_attribute": "ias_ace", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -89,25 +84,21 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -122,7 +113,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/gledopto-gl-b-008p.json b/tests/data/devices/gledopto-gl-b-008p.json index 7cc757116..ffe8334fc 100644 --- a/tests/data/devices/gledopto-gl-b-008p.json +++ b/tests/data/devices/gledopto-gl-b-008p.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -93,37 +92,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -136,19 +125,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -191,7 +173,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -227,13 +208,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 158, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 158 }, { "id": "0x0000", @@ -251,25 +226,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 17623, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 17623 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 43739, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 43739 }, { "id": "0x4000", @@ -294,7 +257,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -302,7 +264,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -325,7 +286,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/gledopto-gl-b-008z.json b/tests/data/devices/gledopto-gl-b-008z.json index 1d3af8de8..a58e2a38d 100644 --- a/tests/data/devices/gledopto-gl-b-008z.json +++ b/tests/data/devices/gledopto-gl-b-008z.json @@ -44,43 +44,32 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -93,19 +82,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -148,7 +130,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -184,13 +165,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 500 }, { "id": "0x0000", @@ -208,25 +183,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 12480, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 12480 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 47190, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 47190 }, { "id": "0x4000", diff --git a/tests/data/devices/gledopto-gl-c-009p.json b/tests/data/devices/gledopto-gl-c-009p.json index cd352d109..85f9c57af 100644 --- a/tests/data/devices/gledopto-gl-c-009p.json +++ b/tests/data/devices/gledopto-gl-c-009p.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 166, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 166 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -169,7 +150,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/gledpopto-gl-c-007p.json b/tests/data/devices/gledpopto-gl-c-007p.json index a10554567..764270c7e 100644 --- a/tests/data/devices/gledpopto-gl-c-007p.json +++ b/tests/data/devices/gledpopto-gl-c-007p.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0014", @@ -75,13 +74,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -100,13 +97,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -118,13 +113,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -143,19 +132,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 211, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 211 }, { "id": "0x0014", @@ -198,7 +180,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -234,13 +215,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 495, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 495 }, { "id": "0x0006", @@ -264,25 +239,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 17623, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 17623 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 43739, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 43739 }, { "id": "0x4000", @@ -313,7 +276,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -321,7 +283,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -337,7 +298,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/handshake-finland-agge-zigbee-smart-rotary-dimmer.json b/tests/data/devices/handshake-finland-agge-zigbee-smart-rotary-dimmer.json index ef34f60c9..e1898f823 100644 --- a/tests/data/devices/handshake-finland-agge-zigbee-smart-rotary-dimmer.json +++ b/tests/data/devices/handshake-finland-agge-zigbee-smart-rotary-dimmer.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -112,19 +101,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 137, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 137 }, { "id": "0x0014", @@ -167,13 +149,11 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -181,7 +161,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -204,7 +183,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/heiman-smokesensor-em.json b/tests/data/devices/heiman-smokesensor-em.json index d1db42b91..c8a15fea3 100644 --- a/tests/data/devices/heiman-smokesensor-em.json +++ b/tests/data/devices/heiman-smokesensor-em.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 32, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 32 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -154,7 +138,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/hive-mbr1.json b/tests/data/devices/hive-mbr1.json index fa722873c..3c3184bf0 100644 --- a/tests/data/devices/hive-mbr1.json +++ b/tests/data/devices/hive-mbr1.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -129,13 +128,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe00", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -143,37 +140,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0015", "endpoint_attribute": "commissioning", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -207,43 +198,36 @@ { "cluster_id": "0xfe01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe02", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe03", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe04", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe05", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe06", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe07", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -259,43 +243,36 @@ { "cluster_id": "0xfe01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe02", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe03", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe04", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe05", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe06", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe07", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -311,43 +288,36 @@ { "cluster_id": "0xfe01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe02", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe03", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe04", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe05", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe06", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe07", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -363,43 +333,36 @@ { "cluster_id": "0xfe01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe02", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe03", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe04", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe05", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe06", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe07", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/hobeian-zg-101zl.json b/tests/data/devices/hobeian-zg-101zl.json index e95efd7b5..8f14a7ec7 100644 --- a/tests/data/devices/hobeian-zg-101zl.json +++ b/tests/data/devices/hobeian-zg-101zl.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -111,19 +110,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -141,13 +133,7 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 }, { "id": "0xfffd", @@ -160,7 +146,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -179,7 +164,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -198,7 +182,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -222,13 +205,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -247,13 +224,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -261,7 +236,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -280,7 +254,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -299,7 +272,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -342,19 +314,16 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -367,7 +336,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/hobeian-zg-102zm.json b/tests/data/devices/hobeian-zg-102zm.json index d49eb4d39..72bb7bfe0 100644 --- a/tests/data/devices/hobeian-zg-102zm.json +++ b/tests/data/devices/hobeian-zg-102zm.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -152,7 +136,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], diff --git a/tests/data/devices/hobeian-zg-204zv.json b/tests/data/devices/hobeian-zg-204zv.json index dfce85758..d05a81cd9 100644 --- a/tests/data/devices/hobeian-zg-204zv.json +++ b/tests/data/devices/hobeian-zg-204zv.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,83 +85,54 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 31688, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 31688 } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2330, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2330 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4130, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 4130 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -209,7 +172,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -217,7 +179,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/homr-hrmsn01.json b/tests/data/devices/homr-hrmsn01.json index e85b9b9d7..d14dfabf7 100644 --- a/tests/data/devices/homr-hrmsn01.json +++ b/tests/data/devices/homr-hrmsn01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,108 +62,71 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2400, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2400 } ] }, { "cluster_id": "0x0403", "endpoint_attribute": "pressure", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 997, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 997 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4178, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 4178 } ] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] }, { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", - "bind": "SUCCESS", "attributes": [] } ], @@ -172,7 +134,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -187,7 +148,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -195,7 +155,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -210,43 +169,32 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -259,19 +207,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 255, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 255 }, { "id": "0x0014", @@ -314,7 +255,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -350,13 +290,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0000", @@ -374,25 +308,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4000", @@ -419,7 +341,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/horn-zone-haier-hs-22zw-0000011216.json b/tests/data/devices/horn-zone-haier-hs-22zw-0000011216.json index 97c78f751..473c98318 100644 --- a/tests/data/devices/horn-zone-haier-hs-22zw-0000011216.json +++ b/tests/data/devices/horn-zone-haier-hs-22zw-0000011216.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -71,7 +69,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", diff --git a/tests/data/devices/ikea-of-sweden-badring-water-leakage-sensor.json b/tests/data/devices/ikea-of-sweden-badring-water-leakage-sensor.json index 9108c7c76..5ea4f4e6e 100644 --- a/tests/data/devices/ikea-of-sweden-badring-water-leakage-sensor.json +++ b/tests/data/devices/ikea-of-sweden-badring-water-leakage-sensor.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 15, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 15 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,7 +109,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -165,19 +148,16 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc81", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -185,19 +165,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/ikea-of-sweden-fyrtur-block-out-roller-blind.json b/tests/data/devices/ikea-of-sweden-fyrtur-block-out-roller-blind.json index a5739775d..ce8dd274f 100644 --- a/tests/data/devices/ikea-of-sweden-fyrtur-block-out-roller-blind.json +++ b/tests/data/devices/ikea-of-sweden-fyrtur-block-out-roller-blind.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 154, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 154 }, { "id": "0x0033", @@ -99,38 +91,28 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 76, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 76 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -143,7 +125,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -155,25 +136,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -222,13 +191,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -236,7 +203,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -249,7 +215,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-inspelning-smart-plug.json b/tests/data/devices/ikea-of-sweden-inspelning-smart-plug.json index a22368019..8a5ecd108 100644 --- a/tests/data/devices/ikea-of-sweden-inspelning-smart-plug.json +++ b/tests/data/devices/ikea-of-sweden-inspelning-smart-plug.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,103 +95,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 2440, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2440 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -220,13 +160,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -244,13 +178,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -269,43 +197,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -329,61 +238,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -407,145 +286,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -557,13 +310,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -587,25 +334,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 7, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 7 }, { "id": "0x050a", @@ -629,37 +364,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0507", @@ -683,56 +400,29 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc85", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -740,7 +430,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -762,7 +451,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -770,7 +458,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-ormanas-led-strip.json b/tests/data/devices/ikea-of-sweden-ormanas-led-strip.json index f9d6d7211..b0aa0bfc7 100644 --- a/tests/data/devices/ikea-of-sweden-ormanas-led-strip.json +++ b/tests/data/devices/ikea-of-sweden-ormanas-led-strip.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -87,19 +86,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -112,19 +108,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", @@ -143,7 +132,6 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0004", @@ -155,13 +143,7 @@ "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 56, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 56 }, { "id": "0x0014", @@ -204,7 +186,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -246,13 +227,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 264, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 264 }, { "id": "0x0000", @@ -270,25 +245,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 21167, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 21167 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 21561, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 21561 }, { "id": "0x4001", @@ -373,13 +336,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -387,7 +348,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -409,7 +369,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -417,7 +376,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-parasoll-door-window-sensor.json b/tests/data/devices/ikea-of-sweden-parasoll-door-window-sensor.json index e1f2c6d46..b91202680 100644 --- a/tests/data/devices/ikea-of-sweden-parasoll-door-window-sensor.json +++ b/tests/data/devices/ikea-of-sweden-parasoll-door-window-sensor.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 16, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 16 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,25 +109,21 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc81", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -151,25 +131,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -182,7 +158,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -197,19 +172,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -251,7 +223,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-praktlysing-cellular-blind.json b/tests/data/devices/ikea-of-sweden-praktlysing-cellular-blind.json index 41689c0a0..f5367d5c1 100644 --- a/tests/data/devices/ikea-of-sweden-praktlysing-cellular-blind.json +++ b/tests/data/devices/ikea-of-sweden-praktlysing-cellular-blind.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 190, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 190 }, { "id": "0x0033", @@ -99,32 +91,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 81, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 81 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -143,7 +126,6 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -156,7 +138,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -168,25 +149,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -229,13 +198,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -243,7 +210,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -256,7 +222,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-remote-control-n2.json b/tests/data/devices/ikea-of-sweden-remote-control-n2.json index e2e75740c..4d7d2de27 100644 --- a/tests/data/devices/ikea-of-sweden-remote-control-n2.json +++ b/tests/data/devices/ikea-of-sweden-remote-control-n2.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,20 +68,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0033", "name": "battery_quantity", @@ -100,43 +86,27 @@ "name": "battery_size", "zcl_type": "enum8", "value": 4 - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -144,37 +114,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-rodret-dimmer.json b/tests/data/devices/ikea-of-sweden-rodret-dimmer.json index 2c456882a..ec65ee5cb 100644 --- a/tests/data/devices/ikea-of-sweden-rodret-dimmer.json +++ b/tests/data/devices/ikea-of-sweden-rodret-dimmer.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 156, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 156 }, { "id": "0x0033", @@ -99,26 +91,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 12, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 12 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -131,13 +115,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -145,31 +127,26 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -182,7 +159,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-rodret-wireless-dimmer.json b/tests/data/devices/ikea-of-sweden-rodret-wireless-dimmer.json index 8a5e95962..1cce57e6b 100644 --- a/tests/data/devices/ikea-of-sweden-rodret-wireless-dimmer.json +++ b/tests/data/devices/ikea-of-sweden-rodret-wireless-dimmer.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -75,19 +74,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -111,26 +103,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 15, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 15 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -143,13 +127,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -157,31 +139,26 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -194,7 +171,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-somrig-shortcut-button.json b/tests/data/devices/ikea-of-sweden-somrig-shortcut-button.json index 52e7f021c..0fc29e69e 100644 --- a/tests/data/devices/ikea-of-sweden-somrig-shortcut-button.json +++ b/tests/data/devices/ikea-of-sweden-somrig-shortcut-button.json @@ -44,25 +44,17 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 168, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 168 }, { "id": "0x0033", @@ -86,26 +78,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 13, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 13 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -118,19 +102,16 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc80", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -138,31 +119,26 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -175,13 +151,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc80", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ] @@ -196,19 +170,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc80", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -216,31 +187,26 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc80", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-starkvind-air-purifier-table.json b/tests/data/devices/ikea-of-sweden-starkvind-air-purifier-table.json index 59c17c04b..2f2e1ca1c 100644 --- a/tests/data/devices/ikea-of-sweden-starkvind-air-purifier-table.json +++ b/tests/data/devices/ikea-of-sweden-starkvind-air-purifier-table.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -81,25 +80,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042a", "endpoint_attribute": "pm25", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -117,13 +112,7 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "single", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 0.1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", @@ -148,127 +137,70 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7d", "endpoint_attribute": "ikea_airpurifier", - "bind": "SUCCESS", "attributes": [ { "id": "0x0004", "name": "air_quality_25pm", "zcl_type": "uint16", - "value": 65535, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 65535 }, { "id": "0x0005", "name": "child_lock", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0008", "name": "device_run_time", "zcl_type": "uint32", - "value": 59343, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 59343 }, { "id": "0x0003", "name": "disable_led", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0006", "name": "fan_mode", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0007", "name": "fan_speed", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0002", "name": "filter_life_time", "zcl_type": "uint32", - "value": 259200, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 259200 }, { "id": "0x0000", "name": "filter_run_time", "zcl_type": "uint32", - "value": 59343, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 59343 }, { "id": "0x0001", "name": "replace_filter", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] } @@ -277,7 +209,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -308,7 +239,6 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -324,7 +254,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-starkvind-air-purifier.json b/tests/data/devices/ikea-of-sweden-starkvind-air-purifier.json index 434342815..7964e3bd7 100644 --- a/tests/data/devices/ikea-of-sweden-starkvind-air-purifier.json +++ b/tests/data/devices/ikea-of-sweden-starkvind-air-purifier.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,158 +62,92 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042a", "endpoint_attribute": "pm25", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "single", - "value": 16, - "reporting": { - "min": 30, - "max": 900, - "change": 0.1, - "status": "SUCCESS" - } + "value": 16 } ] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7d", "endpoint_attribute": "ikea_airpurifier", - "bind": "SUCCESS", "attributes": [ { "id": "0x0004", "name": "air_quality_25pm", "zcl_type": "uint16", - "value": 16, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 16 }, { "id": "0x0005", "name": "child_lock", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0008", "name": "device_run_time", "zcl_type": "uint32", - "value": 118729, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 118729 }, { "id": "0x0003", "name": "disable_led", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0006", "name": "fan_mode", "zcl_type": "uint8", - "value": 2, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2 }, { "id": "0x0007", "name": "fan_speed", "zcl_type": "uint8", - "value": 2, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2 }, { "id": "0x0002", "name": "filter_life_time", "zcl_type": "uint32", - "value": 259200, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 259200 }, { "id": "0x0000", "name": "filter_run_time", "zcl_type": "uint32", - "value": 118729, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 118729 }, { "id": "0x0001", "name": "replace_filter", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] } @@ -223,7 +156,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -236,7 +168,6 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -252,7 +183,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-symfonisk-sound-remote-gen2.json b/tests/data/devices/ikea-of-sweden-symfonisk-sound-remote-gen2.json index 6255ef525..3e1cab9c3 100644 --- a/tests/data/devices/ikea-of-sweden-symfonisk-sound-remote-gen2.json +++ b/tests/data/devices/ikea-of-sweden-symfonisk-sound-remote-gen2.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x4000", @@ -57,19 +56,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,38 +85,28 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -132,31 +114,26 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -169,13 +146,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7f", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e12-w-op-ch-400lm.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e12-w-op-ch-400lm.json index 93ef22cbd..740a8d7f9 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e12-w-op-ch-400lm.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e12-w-op-ch-400lm.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -81,19 +80,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -106,19 +102,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -131,19 +120,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 3, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 3 }, { "id": "0x0014", @@ -192,13 +174,11 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -206,13 +186,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -225,13 +203,11 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e12-ws-opal-400lm.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e12-ws-opal-400lm.json index 4acd1387d..b3e8f892d 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e12-ws-opal-400lm.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e12-ws-opal-400lm.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -81,19 +80,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -106,19 +102,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -131,19 +120,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -186,7 +168,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -222,13 +203,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 250, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 250 }, { "id": "0x0000", @@ -246,25 +221,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 30138, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 30138 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26909, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 26909 }, { "id": "0x4000", @@ -289,7 +252,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -297,13 +259,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -316,13 +276,11 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -337,7 +295,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -345,7 +302,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e14-ws-globe-470lm.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e14-ws-globe-470lm.json index eeed911de..0b92b343c 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e14-ws-globe-470lm.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e14-ws-globe-470lm.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,37 +178,19 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 370, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 370 }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 24939, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 24939 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 24701, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 24701 }, { "id": "0x000f", @@ -246,13 +209,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -260,7 +221,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -282,7 +242,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -290,7 +249,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-opal-1000lm.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-opal-1000lm.json index 75ae28c7e..087c96707 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-opal-1000lm.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-opal-1000lm.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,13 +143,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -175,13 +155,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -194,13 +172,11 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -215,7 +191,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -223,7 +198,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-w-opal-1000lm.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-w-opal-1000lm.json index 6a2802fb8..b29a934e2 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-w-opal-1000lm.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-w-opal-1000lm.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -81,19 +80,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -106,19 +102,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -131,19 +120,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -186,13 +168,11 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -200,13 +180,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -219,13 +197,11 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-ws-opal-980lm.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-ws-opal-980lm.json index 972880561..c1a479f91 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-ws-opal-980lm.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e26-ws-opal-980lm.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -88,19 +84,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -113,19 +102,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 3, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 3 }, { "id": "0x0014", @@ -168,7 +150,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -204,13 +185,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 452, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 452 }, { "id": "0x0000", @@ -228,25 +203,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 30138, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 30138 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26909, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 26909 }, { "id": "0x4000", @@ -271,13 +234,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -285,13 +246,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -304,13 +263,11 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -326,7 +283,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e27-ws-globe-1055lm.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e27-ws-globe-1055lm.json index 03012f461..eaae510f3 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e27-ws-globe-1055lm.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e27-ws-globe-1055lm.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 234, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 234 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,13 +178,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 250, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 250 }, { "id": "0x0000", @@ -221,25 +196,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 30015, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 30015 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26870, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 26870 }, { "id": "0x4000", @@ -264,19 +227,16 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -284,7 +244,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -307,7 +266,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e27-ww-g95-cl-470lm.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e27-ww-g95-cl-470lm.json index eba97a481..e876bd3c2 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-e27-ww-g95-cl-470lm.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-e27-ww-g95-cl-470lm.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,19 +143,16 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -181,7 +160,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -204,7 +182,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ws-400lm.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ws-400lm.json index cf6308efa..e5b340b69 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ws-400lm.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ws-400lm.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -81,19 +80,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -106,19 +102,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -131,19 +120,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 1, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0014", @@ -186,7 +168,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -222,13 +203,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 250, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 250 }, { "id": "0x0000", @@ -246,25 +221,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 30138, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 30138 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26909, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 26909 }, { "id": "0x4000", @@ -289,13 +252,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -303,13 +264,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -322,13 +281,11 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -343,7 +300,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -351,7 +307,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ww-345lm8.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ww-345lm8.json index 1a0a742a0..aaaafdefe 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ww-345lm8.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ww-345lm8.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 1, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0014", @@ -161,13 +143,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -175,7 +155,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -190,7 +169,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -198,7 +176,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-tradfri-control-outlet.json b/tests/data/devices/ikea-of-sweden-tradfri-control-outlet.json index 3da2d7545..116b9266c 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-control-outlet.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-control-outlet.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -81,19 +80,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -106,19 +102,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -131,13 +120,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -145,13 +132,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -164,13 +149,11 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -185,7 +168,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -193,7 +175,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-tradfri-motion-sensor.json b/tests/data/devices/ikea-of-sweden-tradfri-motion-sensor.json index 97c482865..4a47830ad 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-motion-sensor.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-motion-sensor.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 174, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 174 }, { "id": "0x0033", @@ -99,32 +91,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -137,13 +120,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -151,37 +132,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-tradfri-on-off-switch.json b/tests/data/devices/ikea-of-sweden-tradfri-on-off-switch.json index 7b1d2ff93..11d3bbacb 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-on-off-switch.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-on-off-switch.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -99,44 +91,33 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -144,43 +125,36 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-tradfri-open-close-remote.json b/tests/data/devices/ikea-of-sweden-tradfri-open-close-remote.json index c26546ce0..d87b2b45c 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-open-close-remote.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-open-close-remote.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 174, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 174 }, { "id": "0x0033", @@ -105,32 +97,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 31 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -143,13 +126,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -157,25 +138,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -188,13 +165,11 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-tradfri-remote-control.json b/tests/data/devices/ikea-of-sweden-tradfri-remote-control.json index 5709d2b5d..6018af8e2 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-remote-control.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-remote-control.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 32, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 32 }, { "id": "0x0033", @@ -105,38 +97,28 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 26, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 26 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -144,43 +126,36 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-tradfri-shortcut-button.json b/tests/data/devices/ikea-of-sweden-tradfri-shortcut-button.json index 32e65bb4e..707b5eadb 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-shortcut-button.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-shortcut-button.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 360, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 360 }, { "id": "0x0033", @@ -99,32 +91,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -137,7 +120,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -145,37 +127,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-tradfri-wireless-dimmer.json b/tests/data/devices/ikea-of-sweden-tradfri-wireless-dimmer.json index 3fb39f8f6..d6a905ba7 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-wireless-dimmer.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-wireless-dimmer.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -81,19 +80,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 68, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 68 }, { "id": "0x0033", @@ -117,26 +109,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -149,7 +133,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -157,37 +140,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ikea-of-sweden-vallhorn-wireless-motion-sensor.json b/tests/data/devices/ikea-of-sweden-vallhorn-wireless-motion-sensor.json index 1eb9fc322..906233fd7 100644 --- a/tests/data/devices/ikea-of-sweden-vallhorn-wireless-motion-sensor.json +++ b/tests/data/devices/ikea-of-sweden-vallhorn-wireless-motion-sensor.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 140, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 140 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 25, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 25 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -131,7 +115,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x010b", @@ -162,19 +145,16 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc81", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -182,19 +162,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -213,7 +190,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -226,7 +202,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -241,31 +216,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0010", @@ -292,7 +258,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -307,31 +272,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4771, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4771 } ] } @@ -340,7 +296,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/imagic-by-greatstar-1112-s.json b/tests/data/devices/imagic-by-greatstar-1112-s.json index 744f7daf0..518afe582 100644 --- a/tests/data/devices/imagic-by-greatstar-1112-s.json +++ b/tests/data/devices/imagic-by-greatstar-1112-s.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 56, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 56 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,45 +109,30 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2570, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2570 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 3080, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 3080 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -203,25 +172,21 @@ { "cluster_id": "0x0501", "endpoint_attribute": "ias_ace", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -229,19 +194,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0501", "endpoint_attribute": "ias_ace", - "bind": "SUCCESS", "attributes": [] } ] diff --git a/tests/data/devices/innr-ae-280-c.json b/tests/data/devices/innr-ae-280-c.json index 3c7b8086e..86e45b685 100644 --- a/tests/data/devices/innr-ae-280-c.json +++ b/tests/data/devices/innr-ae-280-c.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -112,19 +101,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -167,7 +149,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -203,13 +184,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 420, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 420 }, { "id": "0x0000", @@ -227,25 +202,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 32051, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 32051 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 27169, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 27169 }, { "id": "0x4000", @@ -272,7 +235,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/innr-rb-285-c.json b/tests/data/devices/innr-rb-285-c.json index b4ee0364d..b1ed32b5a 100644 --- a/tests/data/devices/innr-rb-285-c.json +++ b/tests/data/devices/innr-rb-285-c.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -75,37 +74,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -118,19 +107,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -173,7 +155,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -209,13 +190,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 236, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 236 }, { "id": "0x0000", @@ -233,25 +208,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 24443, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 24443 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 24501, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 24501 }, { "id": "0x4000", @@ -276,7 +239,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -284,7 +246,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -307,7 +268,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/innr-rc-250.json b/tests/data/devices/innr-rc-250.json index 0e52f9b04..2e6001033 100644 --- a/tests/data/devices/innr-rc-250.json +++ b/tests/data/devices/innr-rc-250.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 20, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 20 }, { "id": "0x0033", @@ -93,38 +85,28 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 25, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 25 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -132,31 +114,26 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -169,13 +146,11 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/innr-rs-232-c.json b/tests/data/devices/innr-rs-232-c.json index 7420c01ca..6834a9aa9 100644 --- a/tests/data/devices/innr-rs-232-c.json +++ b/tests/data/devices/innr-rs-232-c.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,37 +178,19 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 497, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 497 }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 34443, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 34443 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 27097, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 27097 }, { "id": "0x000f", @@ -246,19 +209,16 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc82", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -266,7 +226,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -289,7 +248,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/innr-sp-120.json b/tests/data/devices/innr-sp-120.json index 381f5dd7a..889795773 100644 --- a/tests/data/devices/innr-sp-120.json +++ b/tests/data/devices/innr-sp-120.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -112,19 +101,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -167,109 +149,59 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 14526, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 14526 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -287,13 +219,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -317,13 +243,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -342,43 +262,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -402,61 +303,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -480,145 +351,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -630,13 +375,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -660,25 +399,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -702,37 +429,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 238, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 238 }, { "id": "0x0507", @@ -756,37 +465,13 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] } @@ -795,19 +480,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -829,7 +511,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/innr-sp-234.json b/tests/data/devices/innr-sp-234.json index cb2fab31e..f2d0da3e9 100755 --- a/tests/data/devices/innr-sp-234.json +++ b/tests/data/devices/innr-sp-234.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,103 +95,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 541, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 541 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -220,13 +160,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -244,13 +178,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -269,43 +197,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -329,61 +238,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -391,149 +270,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -545,13 +286,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -563,25 +298,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 7, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 7 }, { "id": "0x050a", @@ -589,108 +312,38 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 123, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 123 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc82", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -698,19 +351,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -733,7 +383,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/innr-sp-240.json b/tests/data/devices/innr-sp-240.json index b5b15b5d2..499692086 100644 --- a/tests/data/devices/innr-sp-240.json +++ b/tests/data/devices/innr-sp-240.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,103 +143,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 143, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 143 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -275,13 +208,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -299,13 +226,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -324,43 +245,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -384,61 +286,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 2, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2 }, { "id": "0x050d", @@ -462,145 +334,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -612,13 +358,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -642,25 +382,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 14, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 14 }, { "id": "0x050a", @@ -684,37 +412,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 231, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 231 }, { "id": "0x0507", @@ -738,50 +448,24 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -789,13 +473,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -836,7 +518,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/innr-sp-242.json b/tests/data/devices/innr-sp-242.json index be9794fda..15626e143 100644 --- a/tests/data/devices/innr-sp-242.json +++ b/tests/data/devices/innr-sp-242.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,103 +143,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 466, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 466 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -275,13 +208,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -299,13 +226,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -324,43 +245,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -384,61 +286,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -462,145 +334,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -612,13 +358,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -642,25 +382,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -684,37 +412,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 240, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 240 }, { "id": "0x0507", @@ -738,50 +448,30 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -789,13 +479,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -818,7 +506,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/inovelli-vzm30-sn.json b/tests/data/devices/inovelli-vzm30-sn.json index e93252381..a6ab18b82 100644 --- a/tests/data/devices/inovelli-vzm30-sn.json +++ b/tests/data/devices/inovelli-vzm30-sn.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,103 +143,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 7061, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 7061 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -275,13 +208,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -299,13 +226,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -324,43 +245,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 99, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 99 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -384,61 +286,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -462,145 +334,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -612,13 +358,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -642,25 +382,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -684,37 +412,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 1244, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1244 }, { "id": "0x0507", @@ -738,50 +448,24 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc31", "endpoint_attribute": "inovelli_vzm31sn_cluster", - "bind": "SUCCESS", "attributes": [ { "id": "0x0020", @@ -800,7 +484,6 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -808,7 +491,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -830,25 +512,21 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -856,25 +534,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc31", "endpoint_attribute": "inovelli_vzm31sn_cluster", - "bind": "SUCCESS", "attributes": [] } ] @@ -889,25 +563,21 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -915,25 +585,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc31", "endpoint_attribute": "inovelli_vzm31sn_cluster", - "bind": "SUCCESS", "attributes": [] } ] @@ -948,50 +614,34 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2224, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2224 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5051, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 5051 } ] } @@ -1000,7 +650,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -1016,7 +665,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/inovelli-vzm31-sn.json b/tests/data/devices/inovelli-vzm31-sn.json index e289c8817..4478d9fb5 100644 --- a/tests/data/devices/inovelli-vzm31-sn.json +++ b/tests/data/devices/inovelli-vzm31-sn.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -112,19 +101,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -167,103 +149,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 302, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 302 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -281,13 +214,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -305,13 +232,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -330,43 +251,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -390,61 +292,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -468,145 +340,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -618,13 +364,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -648,25 +388,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050a", @@ -690,37 +418,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0507", @@ -744,50 +454,24 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc31", "endpoint_attribute": "inovelli_vzm31sn_cluster", - "bind": "SUCCESS", "attributes": [ { "id": "0x0014", @@ -1058,7 +742,6 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -1066,7 +749,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -1088,25 +770,21 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -1114,25 +792,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc31", "endpoint_attribute": "inovelli_vzm31sn_cluster", - "bind": "SUCCESS", "attributes": [] } ] @@ -1148,7 +822,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/inovelli-vzm35-sn.json b/tests/data/devices/inovelli-vzm35-sn.json index c925a167e..b1335f3ab 100644 --- a/tests/data/devices/inovelli-vzm35-sn.json +++ b/tests/data/devices/inovelli-vzm35-sn.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,13 +143,11 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc31", "endpoint_attribute": "inovelli_vzm31sn_cluster", - "bind": "SUCCESS", "attributes": [ { "id": "0x000c", @@ -402,7 +382,6 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -410,7 +389,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -432,25 +410,21 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -458,25 +432,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc31", "endpoint_attribute": "inovelli_vzm31sn_cluster", - "bind": "SUCCESS", "attributes": [] } ] @@ -492,7 +462,6 @@ { "cluster_id": "0xfc31", "endpoint_attribute": "inovelli_vzm31sn_cluster", - "bind": "SUCCESS", "attributes": [] } ] @@ -508,7 +477,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/isilentllc-dog-feeder.json b/tests/data/devices/isilentllc-dog-feeder.json index d765c8cc1..788a4bd4d 100644 --- a/tests/data/devices/isilentllc-dog-feeder.json +++ b/tests/data/devices/isilentllc-dog-feeder.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -88,26 +80,18 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 27.0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 27.0 } ] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -143,13 +127,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 3.0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 3.0 }, { "id": "0x0068", @@ -168,7 +146,6 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -180,20 +157,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -216,26 +186,18 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -258,7 +220,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -274,19 +235,12 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] } diff --git a/tests/data/devices/isilentllc-doorbell.json b/tests/data/devices/isilentllc-doorbell.json index 28cc89dc5..a059b602a 100644 --- a/tests/data/devices/isilentllc-doorbell.json +++ b/tests/data/devices/isilentllc-doorbell.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -69,7 +68,6 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -81,13 +79,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] } @@ -104,44 +96,29 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2640, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2640 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4680, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 4680 } ] } diff --git a/tests/data/devices/isilentllc-freezer-monitor.json b/tests/data/devices/isilentllc-freezer-monitor.json index bc90c7e62..a3b620216 100644 --- a/tests/data/devices/isilentllc-freezer-monitor.json +++ b/tests/data/devices/isilentllc-freezer-monitor.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,17 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x006f", @@ -96,7 +87,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -111,19 +101,12 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": -2381, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": -2381 } ] } @@ -141,7 +124,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/isilentllc-home-energy-monitor.json b/tests/data/devices/isilentllc-home-energy-monitor.json index 396edf25b..4242cdf12 100644 --- a/tests/data/devices/isilentllc-home-energy-monitor.json +++ b/tests/data/devices/isilentllc-home-energy-monitor.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -73,43 +72,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6017, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6017 }, { "id": "0x0401", @@ -133,61 +113,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 1061, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1061 }, { "id": "0x050d", @@ -195,149 +145,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 5361, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5361 }, { "id": "0x0000", @@ -349,13 +161,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -367,13 +173,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -385,13 +185,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 628, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 628 }, { "id": "0x050a", @@ -399,83 +193,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11851, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 11851 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -492,43 +220,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5936, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5936 }, { "id": "0x0401", @@ -552,61 +261,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 3933, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 3933 }, { "id": "0x050d", @@ -614,149 +293,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 640, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 640 }, { "id": "0x0000", @@ -768,13 +309,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -786,13 +321,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -804,13 +333,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 529, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 529 }, { "id": "0x050a", @@ -818,83 +341,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11519, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 11519 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -911,43 +368,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5999, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5999 }, { "id": "0x0401", @@ -971,61 +409,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 6377, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6377 }, { "id": "0x050d", @@ -1033,149 +441,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 6139, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6139 }, { "id": "0x0000", @@ -1187,13 +457,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -1205,13 +469,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -1223,13 +481,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 833, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 833 }, { "id": "0x050a", @@ -1237,83 +489,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11745, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 11745 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -1330,43 +516,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6057, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6057 }, { "id": "0x0401", @@ -1390,61 +557,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 437, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 437 }, { "id": "0x050d", @@ -1452,149 +589,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 2223, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2223 }, { "id": "0x0000", @@ -1606,13 +605,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -1624,13 +617,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -1642,13 +629,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1464, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1464 }, { "id": "0x050a", @@ -1656,83 +637,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12416, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 12416 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -1749,43 +664,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5900, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5900 }, { "id": "0x0401", @@ -1809,61 +705,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 3148, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 3148 }, { "id": "0x050d", @@ -1871,203 +737,47 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 8149, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 8149 }, { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "id": "0x0000", + "name": "measurement_type", + "zcl_type": "map32", + "value": 15 }, { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "id": "0x0403", + "name": "power_divisor", + "zcl_type": "uint32", + "unsupported": true }, { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "id": "0x0510", + "name": "power_factor", + "zcl_type": "int8", + "value": 23 + }, + { + "id": "0x0402", + "name": "power_multiplier", + "zcl_type": "uint32", + "unsupported": true }, { - "id": "0x0106", - "name": "dc_power", + "id": "0x050e", + "name": "reactive_power", "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0000", - "name": "measurement_type", - "zcl_type": "map32", - "value": 15 - }, - { - "id": "0x0403", - "name": "power_divisor", - "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0510", - "name": "power_factor", - "zcl_type": "int8", - "value": 23 - }, - { - "id": "0x0402", - "name": "power_multiplier", - "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x050e", - "name": "reactive_power", - "zcl_type": "int16", - "value": 272 + "value": 272 }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1024, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1024 }, { "id": "0x050a", @@ -2075,83 +785,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12342, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 12342 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -2168,43 +812,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6092, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6092 }, { "id": "0x0401", @@ -2228,61 +853,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 760, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 760 }, { "id": "0x050d", @@ -2290,149 +885,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 3656, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 3656 }, { "id": "0x0000", @@ -2444,13 +901,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -2462,13 +913,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -2480,13 +925,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 339, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 339 }, { "id": "0x050a", @@ -2494,83 +933,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11860, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 11860 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -2587,43 +960,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6004, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6004 }, { "id": "0x0401", @@ -2647,61 +1001,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 247, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 247 }, { "id": "0x050d", @@ -2709,149 +1033,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 4342, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4342 }, { "id": "0x0000", @@ -2863,13 +1049,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -2881,13 +1061,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -2899,13 +1073,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 409, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 409 }, { "id": "0x050a", @@ -2913,83 +1081,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12438, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 12438 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -3006,43 +1108,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6071, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6071 }, { "id": "0x0401", @@ -3066,61 +1149,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 6360, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6360 }, { "id": "0x050d", @@ -3128,149 +1181,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 2572, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2572 }, { "id": "0x0000", @@ -3282,13 +1197,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -3300,13 +1209,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -3318,13 +1221,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 348, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 348 }, { "id": "0x050a", @@ -3332,83 +1229,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12469, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 12469 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -3425,43 +1256,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6004, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6004 }, { "id": "0x0401", @@ -3485,61 +1297,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 1611, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1611 }, { "id": "0x050d", @@ -3547,185 +1329,35 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 2501, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2501 }, { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "id": "0x0000", + "name": "measurement_type", + "zcl_type": "map32", + "value": 15 }, { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "id": "0x0403", + "name": "power_divisor", + "zcl_type": "uint32", + "unsupported": true }, { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "id": "0x0510", + "name": "power_factor", + "zcl_type": "int8", + "value": 55 }, { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0000", - "name": "measurement_type", - "zcl_type": "map32", - "value": 15 - }, - { - "id": "0x0403", - "name": "power_divisor", - "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0510", - "name": "power_factor", - "zcl_type": "int8", - "value": 55 - }, - { - "id": "0x0402", - "name": "power_multiplier", - "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "id": "0x0402", + "name": "power_multiplier", + "zcl_type": "uint32", + "unsupported": true }, { "id": "0x050e", @@ -3737,13 +1369,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1104, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1104 }, { "id": "0x050a", @@ -3751,83 +1377,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11842, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 11842 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -3844,43 +1404,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6057, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6057 }, { "id": "0x0401", @@ -3904,61 +1445,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 6125, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6125 }, { "id": "0x050d", @@ -3966,149 +1477,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 8322, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 8322 }, { "id": "0x0000", @@ -4120,13 +1493,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -4138,13 +1505,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -4156,13 +1517,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1050, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1050 }, { "id": "0x050a", @@ -4170,83 +1525,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12193, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 12193 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -4263,43 +1552,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6004, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6004 }, { "id": "0x0401", @@ -4323,61 +1593,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 37, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 37 }, { "id": "0x050d", @@ -4385,149 +1625,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 2904, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2904 }, { "id": "0x0000", @@ -4539,13 +1641,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -4557,13 +1653,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -4575,13 +1665,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 435, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 435 }, { "id": "0x050a", @@ -4589,83 +1673,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12332, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 12332 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -4682,43 +1700,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6065, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6065 }, { "id": "0x0401", @@ -4742,61 +1741,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 7387, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 7387 }, { "id": "0x050d", @@ -4804,149 +1773,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 7156, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 7156 }, { "id": "0x0000", @@ -4958,13 +1789,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -4976,13 +1801,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -4994,13 +1813,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 436, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 436 }, { "id": "0x050a", @@ -5008,83 +1821,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11729, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 11729 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -5101,43 +1848,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6094, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6094 }, { "id": "0x0401", @@ -5161,61 +1889,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 8066, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 8066 }, { "id": "0x050d", @@ -5223,149 +1921,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 5859, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5859 }, { "id": "0x0000", @@ -5377,13 +1937,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -5395,13 +1949,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -5413,13 +1961,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 826, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 826 }, { "id": "0x050a", @@ -5427,83 +1969,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11736, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 11736 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -5520,43 +1996,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6074, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6074 }, { "id": "0x0401", @@ -5580,61 +2037,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 534, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 534 }, { "id": "0x050d", @@ -5642,149 +2069,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 7712, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 7712 }, { "id": "0x0000", @@ -5796,13 +2085,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -5814,13 +2097,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -5832,13 +2109,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1219, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1219 }, { "id": "0x050a", @@ -5846,83 +2117,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12067, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 12067 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -5939,43 +2144,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6032, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6032 }, { "id": "0x0401", @@ -5999,61 +2185,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 8207, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 8207 }, { "id": "0x050d", @@ -6061,149 +2217,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 898, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 898 }, { "id": "0x0000", @@ -6215,13 +2233,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -6233,13 +2245,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -6251,13 +2257,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1193, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1193 }, { "id": "0x050a", @@ -6265,83 +2265,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11678, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 11678 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -6358,43 +2292,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6088, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6088 }, { "id": "0x0401", @@ -6418,61 +2333,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 5388, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5388 }, { "id": "0x050d", @@ -6480,149 +2365,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 6555, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6555 }, { "id": "0x0000", @@ -6634,13 +2381,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -6652,13 +2393,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -6670,13 +2405,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1007, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1007 }, { "id": "0x050a", @@ -6684,83 +2413,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12071, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 12071 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -6777,43 +2440,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6085, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6085 }, { "id": "0x0401", @@ -6828,220 +2472,52 @@ "unsupported": true }, { - "id": "0x0400", - "name": "ac_frequency_multiplier", - "zcl_type": "uint16", - "value": 1 - }, - { - "id": "0x0605", - "name": "ac_power_divisor", - "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0604", - "name": "ac_power_multiplier", - "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0601", - "name": "ac_voltage_divisor", - "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0600", - "name": "ac_voltage_multiplier", - "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x050b", - "name": "active_power", - "zcl_type": "int16", - "value": 1529, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x050d", - "name": "active_power_max", - "zcl_type": "int16", - "unsupported": true - }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x050f", - "name": "apparent_power", - "zcl_type": "uint16", - "value": 5531, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", + "id": "0x0400", + "name": "ac_frequency_multiplier", "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { - "id": "0x0202", - "name": "dc_current_multiplier", + "id": "0x0605", + "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "id": "0x0604", + "name": "ac_power_multiplier", + "zcl_type": "uint16", + "value": 1 }, { - "id": "0x0205", - "name": "dc_power_divisor", + "id": "0x0601", + "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { - "id": "0x0204", - "name": "dc_power_multiplier", + "id": "0x0600", + "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { - "id": "0x0100", - "name": "dc_voltage", + "id": "0x050b", + "name": "active_power", "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1529 }, { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "id": "0x050d", + "name": "active_power_max", + "zcl_type": "int16", + "unsupported": true }, { - "id": "0x0200", - "name": "dc_voltage_multiplier", + "id": "0x050f", + "name": "apparent_power", "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5531 }, { "id": "0x0000", @@ -7053,13 +2529,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -7071,13 +2541,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -7089,13 +2553,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1446, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1446 }, { "id": "0x050a", @@ -7103,83 +2561,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11615, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 11615 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -7196,43 +2588,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5993, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5993 }, { "id": "0x0401", @@ -7256,61 +2629,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 292, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 292 }, { "id": "0x050d", @@ -7318,149 +2661,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 5075, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5075 }, { "id": "0x0000", @@ -7472,13 +2677,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -7490,13 +2689,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -7508,13 +2701,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 523, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 523 }, { "id": "0x050a", @@ -7522,83 +2709,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12130, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 12130 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -7615,43 +2736,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6021, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6021 }, { "id": "0x0401", @@ -7675,61 +2777,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 5951, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5951 }, { "id": "0x050d", @@ -7737,149 +2809,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 9269, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 9269 }, { "id": "0x0000", @@ -7891,13 +2825,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -7909,13 +2837,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -7927,13 +2849,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 670, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 670 }, { "id": "0x050a", @@ -7941,83 +2857,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11991, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 11991 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -8034,43 +2884,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5917, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5917 }, { "id": "0x0401", @@ -8094,61 +2925,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 417, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 417 }, { "id": "0x050d", @@ -8156,149 +2957,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 7990, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 7990 }, { "id": "0x0000", @@ -8310,13 +2973,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -8328,13 +2985,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -8346,13 +2997,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 394, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 394 }, { "id": "0x050a", @@ -8360,83 +3005,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11688, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 11688 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -8453,43 +3032,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5933, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5933 }, { "id": "0x0401", @@ -8513,211 +3073,43 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0604", - "name": "ac_power_multiplier", - "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0601", - "name": "ac_voltage_divisor", - "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0600", - "name": "ac_voltage_multiplier", - "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x050b", - "name": "active_power", - "zcl_type": "int16", - "value": 6128, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x050d", - "name": "active_power_max", - "zcl_type": "int16", - "unsupported": true - }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x050f", - "name": "apparent_power", - "zcl_type": "uint16", - "value": 513, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "id": "0x0604", + "name": "ac_power_multiplier", + "zcl_type": "uint16", + "value": 1 }, { - "id": "0x0205", - "name": "dc_power_divisor", + "id": "0x0601", + "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { - "id": "0x0204", - "name": "dc_power_multiplier", + "id": "0x0600", + "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { - "id": "0x0100", - "name": "dc_voltage", + "id": "0x050b", + "name": "active_power", "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6128 }, { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "id": "0x050d", + "name": "active_power_max", + "zcl_type": "int16", + "unsupported": true }, { - "id": "0x0200", - "name": "dc_voltage_multiplier", + "id": "0x050f", + "name": "apparent_power", "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 513 }, { "id": "0x0000", @@ -8729,13 +3121,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -8747,13 +3133,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -8765,13 +3145,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 564, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 564 }, { "id": "0x050a", @@ -8779,83 +3153,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12272, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 12272 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -8872,43 +3180,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5934, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5934 }, { "id": "0x0401", @@ -8932,61 +3221,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 1190, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1190 }, { "id": "0x050d", @@ -8994,149 +3253,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 3919, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 3919 }, { "id": "0x0000", @@ -9148,13 +3269,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -9166,13 +3281,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -9184,13 +3293,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 391, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 391 }, { "id": "0x050a", @@ -9198,83 +3301,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11666, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 11666 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -9291,43 +3328,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5999, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5999 }, { "id": "0x0401", @@ -9351,61 +3369,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 411, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 411 }, { "id": "0x050d", @@ -9413,149 +3401,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 9432, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 9432 }, { "id": "0x0000", @@ -9567,13 +3417,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -9585,13 +3429,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -9603,13 +3441,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 184, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 184 }, { "id": "0x050a", @@ -9617,83 +3449,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12141, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 12141 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -9710,43 +3476,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5946, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5946 }, { "id": "0x0401", @@ -9770,61 +3517,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 1349, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1349 }, { "id": "0x050d", @@ -9832,149 +3549,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 2808, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2808 }, { "id": "0x0000", @@ -9986,13 +3565,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -10004,13 +3577,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -10022,13 +3589,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 168, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 168 }, { "id": "0x050a", @@ -10036,83 +3597,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 11804, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 11804 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -10129,43 +3624,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5958, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5958 }, { "id": "0x0401", @@ -10189,61 +3665,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 8408, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 8408 }, { "id": "0x050d", @@ -10251,149 +3697,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 918, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 918 }, { "id": "0x0000", @@ -10405,13 +3713,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -10423,13 +3725,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -10441,13 +3737,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 352, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 352 }, { "id": "0x050a", @@ -10455,83 +3745,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12404, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 12404 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } diff --git a/tests/data/devices/isilentllc-masterbed-light-controller.json b/tests/data/devices/isilentllc-masterbed-light-controller.json index 68cd3c95d..dab8ed0ec 100644 --- a/tests/data/devices/isilentllc-masterbed-light-controller.json +++ b/tests/data/devices/isilentllc-masterbed-light-controller.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -88,19 +80,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -143,7 +128,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -179,13 +163,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -203,25 +181,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 21364, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 21364 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 21823, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 21823 }, { "id": "0x4000", @@ -256,7 +222,6 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -274,20 +239,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 2.1322579383850098, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2.1322579383850098 } ] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -323,13 +281,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 1.5, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1.5 }, { "id": "0x0068", @@ -348,7 +300,6 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0004", @@ -360,13 +311,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] } @@ -383,7 +328,6 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -395,20 +339,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 1.122580647468567, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1.122580647468567 } ] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -444,13 +381,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 1.5, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1.5 }, { "id": "0x0068", @@ -469,19 +400,12 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] } @@ -498,38 +422,24 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2490, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2490 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4370, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 4370 } ] } diff --git a/tests/data/devices/isilentllc-safe.json b/tests/data/devices/isilentllc-safe.json index f5e006af8..20285375c 100644 --- a/tests/data/devices/isilentllc-safe.json +++ b/tests/data/devices/isilentllc-safe.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] } @@ -92,44 +84,29 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2520, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2520 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4190, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 4190 } ] } @@ -146,13 +123,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -202,25 +177,17 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -233,19 +200,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -288,7 +248,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -314,41 +273,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0007", - "name": "color_temperature", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 21364, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 21364 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 21823, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 21823 }, { "id": "0x000f", diff --git a/tests/data/devices/isilentllc-test-device.json b/tests/data/devices/isilentllc-test-device.json index 4a3ec085b..17399e5e2 100644 --- a/tests/data/devices/isilentllc-test-device.json +++ b/tests/data/devices/isilentllc-test-device.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,17 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -104,7 +95,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -117,25 +107,17 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", diff --git a/tests/data/devices/isilentllc-test-mule.json b/tests/data/devices/isilentllc-test-mule.json index 47c1afcb0..4d80b3118 100644 --- a/tests/data/devices/isilentllc-test-mule.json +++ b/tests/data/devices/isilentllc-test-mule.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,17 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x006f", @@ -96,7 +87,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -112,7 +102,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/isilentllc-water-heater.json b/tests/data/devices/isilentllc-water-heater.json index c5001b59b..73c1def36 100644 --- a/tests/data/devices/isilentllc-water-heater.json +++ b/tests/data/devices/isilentllc-water-heater.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -88,43 +80,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0401", @@ -148,61 +121,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050d", @@ -210,149 +153,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -364,13 +169,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -382,25 +181,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -408,83 +195,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "value": 0 - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -501,25 +222,17 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 4750, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 4750 } ] } @@ -536,25 +249,17 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 5600, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 5600 } ] } diff --git a/tests/data/devices/jasco-products-45856.json b/tests/data/devices/jasco-products-45856.json index d30ef18ad..84c624e17 100644 --- a/tests/data/devices/jasco-products-45856.json +++ b/tests/data/devices/jasco-products-45856.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -112,103 +101,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -226,13 +166,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0306", @@ -250,13 +184,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -275,7 +203,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -283,13 +210,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -311,7 +236,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0007", @@ -324,13 +248,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -338,13 +260,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] } ] diff --git a/tests/data/devices/jasco-products-45857.json b/tests/data/devices/jasco-products-45857.json index 883632fc0..b91a42533 100644 --- a/tests/data/devices/jasco-products-45857.json +++ b/tests/data/devices/jasco-products-45857.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -112,19 +101,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -167,103 +149,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 1309, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1309 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -281,13 +214,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0306", @@ -305,13 +232,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -330,7 +251,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -338,13 +258,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -366,7 +284,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0007", @@ -379,13 +296,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -393,19 +308,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] } ] diff --git a/tests/data/devices/ke-tradfri-open-close-remote.json b/tests/data/devices/ke-tradfri-open-close-remote.json index 3b518dd49..ee12a939f 100644 --- a/tests/data/devices/ke-tradfri-open-close-remote.json +++ b/tests/data/devices/ke-tradfri-open-close-remote.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 174, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 174 }, { "id": "0x0033", @@ -105,32 +97,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -143,13 +126,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc7c", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -157,25 +138,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -188,13 +165,11 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/keen-home-inc-sv01-410-mp-1-1.json b/tests/data/devices/keen-home-inc-sv01-410-mp-1-1.json index 6abac33f1..f48a8e5a6 100644 --- a/tests/data/devices/keen-home-inc-sv01-410-mp-1-1.json +++ b/tests/data/devices/keen-home-inc-sv01-410-mp-1-1.json @@ -44,25 +44,17 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -80,50 +72,34 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 31 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -136,19 +112,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -191,7 +160,6 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -204,57 +172,40 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2811, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2811 } ] }, { "cluster_id": "0x0403", "endpoint_attribute": "pressure", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 991, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 991 } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -262,7 +213,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/keen-home-inc-sv02-610-mp-1-3.json b/tests/data/devices/keen-home-inc-sv02-610-mp-1-3.json index a2f685a2a..60645e422 100644 --- a/tests/data/devices/keen-home-inc-sv02-610-mp-1-3.json +++ b/tests/data/devices/keen-home-inc-sv02-610-mp-1-3.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 10, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0033", @@ -93,132 +85,91 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 23, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 23 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 } ] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2073, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2073 } ] }, { "cluster_id": "0x0403", "endpoint_attribute": "pressure", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 994, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 994 } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -226,7 +177,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/keen-home-inc-sv02-612-mp-1-3.json b/tests/data/devices/keen-home-inc-sv02-612-mp-1-3.json index eab1f935e..113c646a4 100644 --- a/tests/data/devices/keen-home-inc-sv02-612-mp-1-3.json +++ b/tests/data/devices/keen-home-inc-sv02-612-mp-1-3.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0033", @@ -93,50 +85,34 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 13, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 13 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -149,19 +125,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -204,7 +173,6 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -217,57 +185,40 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1670, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 1670 } ] }, { "cluster_id": "0x0403", "endpoint_attribute": "pressure", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1004, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1004 } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -275,7 +226,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/king-of-fans-inc-hbuniversalcfremote.json b/tests/data/devices/king-of-fans-inc-hbuniversalcfremote.json index d3d07cede..89f420ea0 100644 --- a/tests/data/devices/king-of-fans-inc-hbuniversalcfremote.json +++ b/tests/data/devices/king-of-fans-inc-hbuniversalcfremote.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,19 +143,12 @@ { "cluster_id": "0x0202", "endpoint_attribute": "fan", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "fan_mode", "zcl_type": "enum8", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", @@ -188,13 +163,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/king-of-fans-inc-hdc52eastwindfan.json b/tests/data/devices/king-of-fans-inc-hdc52eastwindfan.json index 1d9eae8ad..9b192d211 100644 --- a/tests/data/devices/king-of-fans-inc-hdc52eastwindfan.json +++ b/tests/data/devices/king-of-fans-inc-hdc52eastwindfan.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -112,19 +101,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -167,19 +149,12 @@ { "cluster_id": "0x0202", "endpoint_attribute": "fan", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "fan_mode", "zcl_type": "enum8", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", @@ -194,13 +169,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/konke-3afe140103020000.json b/tests/data/devices/konke-3afe140103020000.json index f5eba6cb3..b3d6bac3a 100644 --- a/tests/data/devices/konke-3afe140103020000.json +++ b/tests/data/devices/konke-3afe140103020000.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,20 +68,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0033", "name": "battery_quantity", @@ -99,57 +85,36 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 40, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 40 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2390, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2390 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4669, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 4669 } ] } @@ -158,7 +123,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/konke-3afe220103020000.json b/tests/data/devices/konke-3afe220103020000.json index 443f7b57d..182bb5fab 100644 --- a/tests/data/devices/konke-3afe220103020000.json +++ b/tests/data/devices/konke-3afe220103020000.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,20 +68,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0033", "name": "battery_quantity", @@ -99,57 +85,36 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2533, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2533 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4476, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 4476 } ] } @@ -158,7 +123,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/konke-3afe270104020015.json b/tests/data/devices/konke-3afe270104020015.json index f541f4192..3e12de8fd 100644 --- a/tests/data/devices/konke-3afe270104020015.json +++ b/tests/data/devices/konke-3afe270104020015.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,20 +68,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0033", "name": "battery_quantity", @@ -99,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -158,7 +136,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -166,13 +143,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/konke-3afe280100510001.json b/tests/data/devices/konke-3afe280100510001.json index a8a6308cd..87b5169ac 100644 --- a/tests/data/devices/konke-3afe280100510001.json +++ b/tests/data/devices/konke-3afe280100510001.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -71,20 +70,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0033", "name": "battery_quantity", @@ -101,26 +87,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "konke_on_off", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -133,7 +111,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -141,13 +118,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/konke-3afe28010402000d.json b/tests/data/devices/konke-3afe28010402000d.json index c0086f233..ad6f1ced9 100755 --- a/tests/data/devices/konke-3afe28010402000d.json +++ b/tests/data/devices/konke-3afe28010402000d.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,20 +68,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0033", "name": "battery_quantity", @@ -99,45 +85,30 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -177,7 +148,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -185,13 +155,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/kwikset-smartcode-convert-gen1.json b/tests/data/devices/kwikset-smartcode-convert-gen1.json index 60a55686b..517d9f679 100644 --- a/tests/data/devices/kwikset-smartcode-convert-gen1.json +++ b/tests/data/devices/kwikset-smartcode-convert-gen1.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -99,44 +91,33 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 62, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 62 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -149,7 +130,6 @@ { "cluster_id": "0x0101", "endpoint_attribute": "door_lock", - "bind": "SUCCESS", "attributes": [ { "id": "0x0004", @@ -179,13 +159,7 @@ "id": "0x0000", "name": "lock_state", "zcl_type": "enum8", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0001", @@ -198,32 +172,23 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2500, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2500 } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfdbd", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -231,13 +196,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/lds-zb-onoffplug-d0005.json b/tests/data/devices/lds-zb-onoffplug-d0005.json index 83983d61d..d8d945965 100644 --- a/tests/data/devices/lds-zb-onoffplug-d0005.json +++ b/tests/data/devices/lds-zb-onoffplug-d0005.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,170 +95,90 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 3, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 3 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -293,61 +202,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 67, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 67 }, { "id": "0x050d", @@ -355,149 +234,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -509,13 +250,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -527,25 +262,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -553,90 +276,23 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xfc82", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -644,19 +300,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -679,7 +332,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lds-zbt-cctswitch-d0001.json b/tests/data/devices/lds-zbt-cctswitch-d0001.json index 4d9243b23..dd2fd903f 100644 --- a/tests/data/devices/lds-zbt-cctswitch-d0001.json +++ b/tests/data/devices/lds-zbt-cctswitch-d0001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 178, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 178 }, { "id": "0x0033", @@ -99,32 +91,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -132,31 +115,26 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -169,13 +147,11 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ledvance-a60s-rgbw.json b/tests/data/devices/ledvance-a60s-rgbw.json index 3f3d88c0d..459520f37 100644 --- a/tests/data/devices/ledvance-a60s-rgbw.json +++ b/tests/data/devices/ledvance-a60s-rgbw.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -117,7 +116,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -136,7 +134,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -155,7 +152,6 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -198,7 +194,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -222,13 +217,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -247,7 +236,6 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -265,13 +253,7 @@ "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -344,7 +326,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -428,13 +409,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 153, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 153 }, { "id": "0x0006", @@ -464,25 +439,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 2399, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2399 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 2409, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2409 }, { "id": "0x4001", @@ -549,7 +512,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x011b", @@ -580,7 +542,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -588,7 +549,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -665,7 +625,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ledvance-flex-rgbw.json b/tests/data/devices/ledvance-flex-rgbw.json index ab17ee6d4..a501e1b86 100755 --- a/tests/data/devices/ledvance-flex-rgbw.json +++ b/tests/data/devices/ledvance-flex-rgbw.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -93,37 +92,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -136,19 +125,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -191,7 +173,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -227,13 +208,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 370, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 370 }, { "id": "0x0000", @@ -251,25 +226,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 24939, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 24939 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 24701, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 24701 }, { "id": "0x4000", @@ -294,13 +257,11 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "ledvance_light", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -308,7 +269,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/ledvance-outdoor-accent-light-rgb.json b/tests/data/devices/ledvance-outdoor-accent-light-rgb.json index 2d897f3f9..a6d597859 100644 --- a/tests/data/devices/ledvance-outdoor-accent-light-rgb.json +++ b/tests/data/devices/ledvance-outdoor-accent-light-rgb.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -112,19 +101,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 202, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 202 }, { "id": "0x0014", @@ -167,7 +149,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -203,13 +184,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 1901, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1901 }, { "id": "0x0000", @@ -227,25 +202,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 10747, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10747 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 8650, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 8650 }, { "id": "0x4000", @@ -270,13 +233,11 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -284,7 +245,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/ledvance-plug.json b/tests/data/devices/ledvance-plug.json index e94dce993..87417abf4 100644 --- a/tests/data/devices/ledvance-plug.json +++ b/tests/data/devices/ledvance-plug.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -75,37 +74,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -118,19 +107,16 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc08", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -138,13 +124,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/legrand-contactor.json b/tests/data/devices/legrand-contactor.json index 7e9c846b2..76377372d 100644 --- a/tests/data/devices/legrand-contactor.json +++ b/tests/data/devices/legrand-contactor.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -165,7 +164,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -184,31 +182,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -221,7 +210,6 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0004", @@ -245,56 +233,31 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -318,61 +281,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -380,149 +313,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0000", @@ -534,13 +329,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -552,25 +341,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -578,96 +355,28 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc41", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -675,25 +384,21 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -736,7 +441,6 @@ { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -751,7 +455,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -759,7 +462,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/legrand-dimmer-switch-w-o-neutral.json b/tests/data/devices/legrand-dimmer-switch-w-o-neutral.json index 8b5f269a5..2968999d6 100644 --- a/tests/data/devices/legrand-dimmer-switch-w-o-neutral.json +++ b/tests/data/devices/legrand-dimmer-switch-w-o-neutral.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -93,13 +88,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -112,19 +101,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 76, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 76 }, { "id": "0x0014", @@ -167,7 +149,6 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -179,20 +160,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0301", "endpoint_attribute": "light_ballast", - "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -223,7 +197,6 @@ { "cluster_id": "0xfc01", "endpoint_attribute": "legrand_cluster", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -231,13 +204,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -250,7 +221,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -263,7 +233,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -282,7 +251,6 @@ { "cluster_id": "0xfc01", "endpoint_attribute": "legrand_cluster", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -297,7 +265,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -305,7 +272,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/legrand-double-gangs-remote-switch.json b/tests/data/devices/legrand-double-gangs-remote-switch.json index a3e091461..992b04ebc 100644 --- a/tests/data/devices/legrand-double-gangs-remote-switch.json +++ b/tests/data/devices/legrand-double-gangs-remote-switch.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,20 +62,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0033", "name": "battery_quantity", @@ -93,45 +79,30 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -144,7 +115,6 @@ { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -152,31 +122,26 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -189,7 +154,6 @@ { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -204,25 +168,17 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] } @@ -231,19 +187,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] } ] diff --git a/tests/data/devices/legrand-light-switch-with-neutral.json b/tests/data/devices/legrand-light-switch-with-neutral.json index 9137d3b79..060ce5d46 100644 --- a/tests/data/devices/legrand-light-switch-with-neutral.json +++ b/tests/data/devices/legrand-light-switch-with-neutral.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,7 +95,6 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -118,20 +106,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0xfc01", "endpoint_attribute": "legrand_cluster", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -139,25 +120,21 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -170,13 +147,11 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -191,7 +166,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -199,7 +173,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/legrand-mobile-outlet.json b/tests/data/devices/legrand-mobile-outlet.json index 61fe509a8..b44c140e7 100644 --- a/tests/data/devices/legrand-mobile-outlet.json +++ b/tests/data/devices/legrand-mobile-outlet.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -123,25 +122,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -165,13 +160,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", @@ -196,7 +185,6 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -208,20 +196,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0803", @@ -233,37 +214,19 @@ "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -287,61 +250,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 13, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 13 }, { "id": "0x050d", @@ -365,145 +298,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 19, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 19 }, { "id": "0x0000", @@ -515,13 +322,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -545,25 +346,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -587,37 +376,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0507", @@ -641,44 +412,25 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -686,25 +438,21 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -786,7 +534,6 @@ { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -801,7 +548,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -809,7 +555,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/level-home-b2.json b/tests/data/devices/level-home-b2.json index 9af274534..6e1853779 100644 --- a/tests/data/devices/level-home-b2.json +++ b/tests/data/devices/level-home-b2.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -107,7 +106,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -129,7 +127,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -178,19 +175,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 100, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0033", @@ -220,26 +210,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -252,7 +234,6 @@ { "cluster_id": "0x0101", "endpoint_attribute": "door_lock", - "bind": "SUCCESS", "attributes": [ { "id": "0x0002", @@ -276,13 +257,7 @@ "id": "0x0000", "name": "lock_state", "zcl_type": "enum8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", diff --git a/tests/data/devices/level-home-bolt.json b/tests/data/devices/level-home-bolt.json index 38ec2196d..39f0e49a4 100644 --- a/tests/data/devices/level-home-bolt.json +++ b/tests/data/devices/level-home-bolt.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -52,7 +51,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -74,7 +72,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -93,19 +90,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -123,26 +113,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -155,19 +137,12 @@ { "cluster_id": "0x0101", "endpoint_attribute": "door_lock", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "lock_state", "zcl_type": "enum8", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] } diff --git a/tests/data/devices/lk-zb-doorsensor-d0003.json b/tests/data/devices/lk-zb-doorsensor-d0003.json index fadd73236..ce0af3c86 100755 --- a/tests/data/devices/lk-zb-doorsensor-d0003.json +++ b/tests/data/devices/lk-zb-doorsensor-d0003.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -81,13 +79,7 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 36, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 36 }, { "id": "0x0033", @@ -105,32 +97,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 24, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 24 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -170,7 +153,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -178,7 +160,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lk-zbt-dimswitch-d0001.json b/tests/data/devices/lk-zbt-dimswitch-d0001.json index eab53672e..0dc8604ca 100644 --- a/tests/data/devices/lk-zbt-dimswitch-d0001.json +++ b/tests/data/devices/lk-zbt-dimswitch-d0001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -75,13 +73,7 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 74, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 74 }, { "id": "0x0033", @@ -99,38 +91,28 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 25, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 25 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -138,31 +120,26 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -175,7 +152,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lk-zbt-onoffplug-d0001.json b/tests/data/devices/lk-zbt-onoffplug-d0001.json index 18c7f898b..e67c691a6 100644 --- a/tests/data/devices/lk-zbt-onoffplug-d0001.json +++ b/tests/data/devices/lk-zbt-onoffplug-d0001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -112,19 +101,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0014", @@ -167,19 +149,16 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc82", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -187,13 +166,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -216,7 +193,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-airmonitor-acn01.json b/tests/data/devices/lumi-lumi-airmonitor-acn01.json index 4a7193abd..54465fc1a 100644 --- a/tests/data/devices/lumi-lumi-airmonitor-acn01.json +++ b/tests/data/devices/lumi-lumi-airmonitor-acn01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -99,83 +91,54 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 98.0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 98.0 } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2204, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2204 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4146, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 4146 } ] }, { "cluster_id": "0x042e", "endpoint_attribute": "voc_level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -188,7 +151,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -196,7 +158,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-airrtc-agl001.json b/tests/data/devices/lumi-lumi-airrtc-agl001.json index ac4da575d..7dcef4d2b 100644 --- a/tests/data/devices/lumi-lumi-airrtc-agl001.json +++ b/tests/data/devices/lumi-lumi-airrtc-agl001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -75,19 +74,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -100,37 +92,22 @@ "name": "battery_size", "zcl_type": "enum8", "value": 10 - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -166,13 +143,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2090, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2090 }, { "id": "0x0010", @@ -204,89 +175,17 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x0002", - "name": "occupancy", - "zcl_type": "map8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2600, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2600 }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2300, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, - { - "id": "0x0007", - "name": "pi_cooling_demand", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } - }, - { - "id": "0x0008", - "name": "pi_heating_demand", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } - }, - { - "id": "0x001e", - "name": "running_mode", - "zcl_type": "enum8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0029", - "name": "running_state", - "zcl_type": "map16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2300 }, { "id": "0x0030", @@ -298,44 +197,25 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [ { "id": "0x0279", @@ -425,13 +305,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -444,7 +322,6 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001b", @@ -457,7 +334,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-ctrl-neutral2.json b/tests/data/devices/lumi-lumi-ctrl-neutral2.json index 432961b28..0aa494542 100644 --- a/tests/data/devices/lumi-lumi-ctrl-neutral2.json +++ b/tests/data/devices/lumi-lumi-ctrl-neutral2.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,69 +68,33 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 2300, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2300 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -139,19 +102,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -166,52 +126,29 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] }, { "cluster_id": "0x0010", "endpoint_attribute": "binary_output", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0055", - "name": "present_value", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -226,52 +163,29 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] }, { "cluster_id": "0x0010", "endpoint_attribute": "binary_output", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0055", - "name": "present_value", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -286,26 +200,18 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -321,26 +227,18 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/lumi-lumi-curtain-acn002.json b/tests/data/devices/lumi-lumi-curtain-acn002.json index a68023982..5d6daf6af 100644 --- a/tests/data/devices/lumi-lumi-curtain-acn002.json +++ b/tests/data/devices/lumi-lumi-curtain-acn002.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 158, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 158 }, { "id": "0x0033", @@ -94,87 +86,49 @@ "name": "battery_size", "zcl_type": "enum8", "value": 255 - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 2400, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2400 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -216,13 +170,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 0.0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0.0 }, { "id": "0x0068", @@ -247,7 +195,6 @@ { "cluster_id": "0x0013", "endpoint_attribute": "multistate_output", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -260,7 +207,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -272,25 +218,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -333,7 +267,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [ { "id": "0x00f7", @@ -369,13 +302,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -398,7 +329,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-curtain-acn003.json b/tests/data/devices/lumi-lumi-curtain-acn003.json index 736c682cd..83a9fba42 100644 --- a/tests/data/devices/lumi-lumi-curtain-acn003.json +++ b/tests/data/devices/lumi-lumi-curtain-acn003.json @@ -44,25 +44,17 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -80,32 +72,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -117,51 +100,31 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 20001.0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 20001.0 } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -169,19 +132,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-curtain-agl001.json b/tests/data/devices/lumi-lumi-curtain-agl001.json index ebaafe23c..c101bb9fc 100644 --- a/tests/data/devices/lumi-lumi-curtain-agl001.json +++ b/tests/data/devices/lumi-lumi-curtain-agl001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 114, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 114 }, { "id": "0x0033", @@ -99,32 +91,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -142,13 +125,7 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 98, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 98 }, { "id": "0x0004", @@ -160,13 +137,7 @@ "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -221,26 +192,18 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [ { "id": "0x0401", @@ -285,19 +248,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/lumi-lumi-curtain-hagl04.json b/tests/data/devices/lumi-lumi-curtain-hagl04.json index a7bdaddb8..9bb233268 100644 --- a/tests/data/devices/lumi-lumi-curtain-hagl04.json +++ b/tests/data/devices/lumi-lumi-curtain-hagl04.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 101, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 101 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -148,13 +132,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 1.0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1.0 }, { "id": "0x0068", @@ -179,7 +157,6 @@ { "cluster_id": "0x0013", "endpoint_attribute": "multistate_output", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -192,7 +169,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -210,13 +186,7 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0004", @@ -224,18 +194,6 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0009", - "name": "current_position_tilt_percentage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0017", "name": "window_covering_mode", @@ -255,13 +213,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-flood-acn001.json b/tests/data/devices/lumi-lumi-flood-acn001.json index 35789aa66..5f27a2bc5 100644 --- a/tests/data/devices/lumi-lumi-flood-acn001.json +++ b/tests/data/devices/lumi-lumi-flood-acn001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 101, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 101 }, { "id": "0x0033", @@ -99,26 +91,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29.6, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29.6 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -158,7 +142,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -166,13 +149,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/lumi-lumi-flood-agl02.json b/tests/data/devices/lumi-lumi-flood-agl02.json index fc2a9e76a..581fbda9d 100644 --- a/tests/data/devices/lumi-lumi-flood-agl02.json +++ b/tests/data/devices/lumi-lumi-flood-agl02.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 161, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 161 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -152,7 +136,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -160,7 +143,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/lumi-lumi-light-aqcn02.json b/tests/data/devices/lumi-lumi-light-aqcn02.json index 9808a3091..15cebc3e3 100644 --- a/tests/data/devices/lumi-lumi-light-aqcn02.json +++ b/tests/data/devices/lumi-lumi-light-aqcn02.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -99,50 +91,34 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -155,19 +131,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 178, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 178 }, { "id": "0x0014", @@ -210,7 +179,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -246,13 +214,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 190, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 190 }, { "id": "0x0000", @@ -270,25 +232,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 22362, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 22362 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 22981, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 22981 }, { "id": "0x4000", @@ -315,13 +265,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -334,7 +282,6 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-magnet-ac01.json b/tests/data/devices/lumi-lumi-magnet-ac01.json index 850332623..313732fce 100644 --- a/tests/data/devices/lumi-lumi-magnet-ac01.json +++ b/tests/data/devices/lumi-lumi-magnet-ac01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 139, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 139 }, { "id": "0x0033", @@ -99,26 +91,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 19, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 19 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [ { "id": "0x010c", @@ -133,13 +117,11 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-magnet-acn001.json b/tests/data/devices/lumi-lumi-magnet-acn001.json index be212a9aa..fc4385b8f 100644 --- a/tests/data/devices/lumi-lumi-magnet-acn001.json +++ b/tests/data/devices/lumi-lumi-magnet-acn001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 102, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 102 }, { "id": "0x0033", @@ -99,26 +91,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -158,7 +142,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -166,13 +149,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/lumi-lumi-magnet-agl02.json b/tests/data/devices/lumi-lumi-magnet-agl02.json index 501c70767..bd6819747 100644 --- a/tests/data/devices/lumi-lumi-magnet-agl02.json +++ b/tests/data/devices/lumi-lumi-magnet-agl02.json @@ -44,25 +44,17 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -80,26 +72,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -107,13 +91,11 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/lumi-lumi-motion-ac02.json b/tests/data/devices/lumi-lumi-motion-ac02.json index 087b35270..99880a576 100755 --- a/tests/data/devices/lumi-lumi-motion-ac02.json +++ b/tests/data/devices/lumi-lumi-motion-ac02.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 151, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 151 }, { "id": "0x0033", @@ -99,64 +91,42 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30.3, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30.3 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 13803.112417116059, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 13803.112417116059 } ] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -181,7 +151,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [ { "id": "0x0102", @@ -208,19 +177,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-motion-agl02.json b/tests/data/devices/lumi-lumi-motion-agl02.json index 65ec11e11..718e56cd5 100644 --- a/tests/data/devices/lumi-lumi-motion-agl02.json +++ b/tests/data/devices/lumi-lumi-motion-agl02.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 104, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 104 }, { "id": "0x0033", @@ -99,64 +91,42 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 6021.599913279624, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6021.599913279624 } ] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -187,7 +157,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -195,13 +164,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-motion-agl04.json b/tests/data/devices/lumi-lumi-motion-agl04.json index e7b1c6b1d..1e9be9df1 100644 --- a/tests/data/devices/lumi-lumi-motion-agl04.json +++ b/tests/data/devices/lumi-lumi-motion-agl04.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,64 +85,42 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31.3, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 31.3 } ] }, { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 2500, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2500 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0002", @@ -169,7 +139,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [ { "id": "0x0102", @@ -190,13 +159,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/lumi-lumi-plug-maeu01.json b/tests/data/devices/lumi-lumi-plug-maeu01.json index 591d3ae1c..2ddca4d8d 100644 --- a/tests/data/devices/lumi-lumi-plug-maeu01.json +++ b/tests/data/devices/lumi-lumi-plug-maeu01.json @@ -44,62 +44,44 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 29, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 29 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -112,109 +94,17 @@ { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0001", - "name": "current_summ_received", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "current_tier1_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0102", - "name": "current_tier2_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0104", - "name": "current_tier3_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "current_tier4_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0108", - "name": "current_tier5_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x010a", - "name": "current_tier6_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0304", @@ -228,18 +118,6 @@ "zcl_type": "uint24", "value": 1000 }, - { - "id": "0x0400", - "name": "instantaneous_demand", - "zcl_type": "int24", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0306", "name": "metering_device_type", @@ -252,18 +130,6 @@ "zcl_type": "uint24", "value": 1 }, - { - "id": "0x0200", - "name": "status", - "zcl_type": "map8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0303", "name": "summation_formatting", @@ -281,43 +147,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -341,61 +188,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -403,149 +220,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -557,37 +236,19 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050a", @@ -595,41 +256,11 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0507", @@ -637,48 +268,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -686,13 +286,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -707,21 +305,7 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0055", - "name": "present_value", - "zcl_type": "single", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -737,7 +321,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-plug-maus01.json b/tests/data/devices/lumi-lumi-plug-maus01.json index 6db6d5039..6c7cfac73 100644 --- a/tests/data/devices/lumi-lumi-plug-maus01.json +++ b/tests/data/devices/lumi-lumi-plug-maus01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -75,19 +74,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -105,69 +97,46 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 4100, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 4100 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -180,128 +149,22 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0010", "endpoint_attribute": "binary_output", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0055", - "name": "present_value", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 5027, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0001", - "name": "current_summ_received", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "current_tier1_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0102", - "name": "current_tier2_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0104", - "name": "current_tier3_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "current_tier4_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0108", - "name": "current_tier5_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x010a", - "name": "current_tier6_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5027 }, { "id": "0x0302", @@ -309,18 +172,6 @@ "zcl_type": "uint24", "value": 1000 }, - { - "id": "0x0400", - "name": "instantaneous_demand", - "zcl_type": "int24", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0306", "name": "metering_device_type", @@ -333,18 +184,6 @@ "zcl_type": "uint24", "value": 1 }, - { - "id": "0x0200", - "name": "status", - "zcl_type": "map8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0303", "name": "summation_formatting", @@ -362,43 +201,18 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0300", - "name": "ac_frequency", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -416,205 +230,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 9, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x050f", - "name": "apparent_power", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 9 }, { "id": "0x0000", @@ -626,13 +266,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0510", @@ -644,104 +278,25 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0508", - "name": "rms_current", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "value": 5027, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5027 } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -749,13 +304,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -777,19 +330,12 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 0.9399999976158142, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0.9399999976158142 } ] } @@ -798,13 +344,11 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -819,19 +363,12 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 0.274497389793396, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0.274497389793396 } ] } @@ -840,7 +377,6 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -855,19 +391,12 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] } @@ -876,13 +405,11 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-relay-c2acn01.json b/tests/data/devices/lumi-lumi-relay-c2acn01.json index c9f3c1fe8..9ee666ac4 100644 --- a/tests/data/devices/lumi-lumi-relay-c2acn01.json +++ b/tests/data/devices/lumi-lumi-relay-c2acn01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -75,7 +74,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0020", @@ -94,7 +92,6 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -107,25 +104,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -138,13 +131,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -157,13 +148,11 @@ { "cluster_id": "0x0010", "endpoint_attribute": "binary_output", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -206,7 +195,6 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0300", @@ -305,13 +293,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -333,19 +319,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -358,7 +341,6 @@ { "cluster_id": "0x0010", "endpoint_attribute": "binary_output", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/lumi-lumi-remote-b286opcn01.json b/tests/data/devices/lumi-lumi-remote-b286opcn01.json index fb9d6c8c9..6949d8da3 100644 --- a/tests/data/devices/lumi-lumi-remote-b286opcn01.json +++ b/tests/data/devices/lumi-lumi-remote-b286opcn01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -75,19 +74,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -105,26 +97,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -137,7 +121,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [ { "id": "0x0009", @@ -152,25 +135,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] } ] @@ -185,13 +164,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -206,13 +183,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] } ] @@ -227,13 +202,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -241,7 +214,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] } ] @@ -256,13 +228,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -270,7 +240,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] } ] @@ -285,13 +254,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -299,7 +266,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] } ] @@ -314,13 +280,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -328,7 +292,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-remote-b28ac1.json b/tests/data/devices/lumi-lumi-remote-b28ac1.json index 011383b52..657a185c3 100644 --- a/tests/data/devices/lumi-lumi-remote-b28ac1.json +++ b/tests/data/devices/lumi-lumi-remote-b28ac1.json @@ -44,25 +44,17 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -80,32 +72,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -113,13 +96,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] } ] @@ -134,13 +115,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -155,13 +134,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] } ] @@ -176,13 +153,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -190,13 +165,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-remote-b486opcn01.json b/tests/data/devices/lumi-lumi-remote-b486opcn01.json index 7ba2898d8..3fb521fba 100755 --- a/tests/data/devices/lumi-lumi-remote-b486opcn01.json +++ b/tests/data/devices/lumi-lumi-remote-b486opcn01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -125,7 +109,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -133,25 +116,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] } ] @@ -166,13 +145,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -187,13 +164,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] } ] @@ -208,7 +183,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -231,7 +205,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", diff --git a/tests/data/devices/lumi-lumi-remote-b686opcn01.json b/tests/data/devices/lumi-lumi-remote-b686opcn01.json index 9d0cb73ed..2ec715c0d 100644 --- a/tests/data/devices/lumi-lumi-remote-b686opcn01.json +++ b/tests/data/devices/lumi-lumi-remote-b686opcn01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -125,7 +109,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -133,25 +116,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] } ] @@ -166,13 +145,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -180,13 +157,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] } ] @@ -201,13 +176,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -215,7 +188,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] } ] @@ -230,13 +202,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -244,7 +214,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] } ] @@ -259,13 +228,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -273,7 +240,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] } ] @@ -288,13 +254,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -302,7 +266,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-remote-cagl02.json b/tests/data/devices/lumi-lumi-remote-cagl02.json index 3a0e689b3..8ea6f90f2 100644 --- a/tests/data/devices/lumi-lumi-remote-cagl02.json +++ b/tests/data/devices/lumi-lumi-remote-cagl02.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -99,32 +91,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -132,19 +115,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -159,7 +139,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -174,7 +153,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -189,19 +167,12 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 24.570003509521484, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 24.570003509521484 } ] } @@ -210,7 +181,6 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-sen-ill-agl01.json b/tests/data/devices/lumi-lumi-sen-ill-agl01.json index f7f4f11a3..97acd3a79 100644 --- a/tests/data/devices/lumi-lumi-sen-ill-agl01.json +++ b/tests/data/devices/lumi-lumi-sen-ill-agl01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -99,45 +91,30 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 32, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 32 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 33786, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 33786 } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -145,7 +122,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-sen-ill-mgl01.json b/tests/data/devices/lumi-lumi-sen-ill-mgl01.json index d6625668a..09253b590 100644 --- a/tests/data/devices/lumi-lumi-sen-ill-mgl01.json +++ b/tests/data/devices/lumi-lumi-sen-ill-mgl01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,38 +85,24 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] } @@ -133,7 +111,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-sensor-86sw2.json b/tests/data/devices/lumi-lumi-sensor-86sw2.json index 90e600285..84e91e4b1 100644 --- a/tests/data/devices/lumi-lumi-sensor-86sw2.json +++ b/tests/data/devices/lumi-lumi-sensor-86sw2.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -100,7 +98,6 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -113,25 +110,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -139,49 +132,41 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -196,13 +181,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -210,31 +193,26 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -249,13 +227,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -263,37 +239,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-sensor-ht-agl02.json b/tests/data/devices/lumi-lumi-sensor-ht-agl02.json index 27dd9b765..27f2913f1 100644 --- a/tests/data/devices/lumi-lumi-sensor-ht-agl02.json +++ b/tests/data/devices/lumi-lumi-sensor-ht-agl02.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 132, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 132 }, { "id": "0x0033", @@ -93,57 +85,36 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30.1, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30.1 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1878, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 1878 } ] }, { "cluster_id": "0x0403", "endpoint_attribute": "pressure", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1013, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1013 }, { "id": "0x0014", @@ -162,26 +133,18 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4905, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 4905 } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -189,7 +152,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-sensor-magnet-aq2.json b/tests/data/devices/lumi-lumi-sensor-magnet-aq2.json index 630b06770..f6648d463 100644 --- a/tests/data/devices/lumi-lumi-sensor-magnet-aq2.json +++ b/tests/data/devices/lumi-lumi-sensor-magnet-aq2.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -94,7 +92,6 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -107,13 +104,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -121,19 +116,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -146,7 +138,6 @@ { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-sensor-motion-aq2.json b/tests/data/devices/lumi-lumi-sensor-motion-aq2.json index 32a6592bb..5dd4ab9a3 100644 --- a/tests/data/devices/lumi-lumi-sensor-motion-aq2.json +++ b/tests/data/devices/lumi-lumi-sensor-motion-aq2.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -100,7 +98,6 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -113,13 +110,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -132,7 +127,6 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -145,7 +139,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -170,7 +163,6 @@ { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -178,13 +170,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-sensor-smoke-acn03.json b/tests/data/devices/lumi-lumi-sensor-smoke-acn03.json index 41205920a..c0f954f40 100644 --- a/tests/data/devices/lumi-lumi-sensor-smoke-acn03.json +++ b/tests/data/devices/lumi-lumi-sensor-smoke-acn03.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 159, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 159 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30.4, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30.4 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -137,7 +121,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [ { "id": "0x013d", @@ -182,7 +165,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/lumi-lumi-sensor-smoke.json b/tests/data/devices/lumi-lumi-sensor-smoke.json index fb07fce08..f147d73fc 100644 --- a/tests/data/devices/lumi-lumi-sensor-smoke.json +++ b/tests/data/devices/lumi-lumi-sensor-smoke.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -81,7 +80,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -112,7 +110,6 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,13 +122,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -150,7 +145,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x004a", @@ -175,7 +169,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0010", @@ -220,7 +213,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-sensor-switch-aq2.json b/tests/data/devices/lumi-lumi-sensor-switch-aq2.json index f58d4a6b5..77523b418 100644 --- a/tests/data/devices/lumi-lumi-sensor-switch-aq2.json +++ b/tests/data/devices/lumi-lumi-sensor-switch-aq2.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -100,7 +98,6 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -113,7 +110,6 @@ { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -121,19 +117,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -146,7 +139,6 @@ { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-sensor-switch-aq3.json b/tests/data/devices/lumi-lumi-sensor-switch-aq3.json index 82df1fe06..72cd9a29e 100644 --- a/tests/data/devices/lumi-lumi-sensor-switch-aq3.json +++ b/tests/data/devices/lumi-lumi-sensor-switch-aq3.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -94,7 +92,6 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -107,7 +104,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -122,13 +118,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-sensor-switch.json b/tests/data/devices/lumi-lumi-sensor-switch.json index fd55784fb..3a389939b 100644 --- a/tests/data/devices/lumi-lumi-sensor-switch.json +++ b/tests/data/devices/lumi-lumi-sensor-switch.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -94,7 +92,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -102,37 +99,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-switch-b1lacn02.json b/tests/data/devices/lumi-lumi-switch-b1lacn02.json index 16e0ff684..e3146dec6 100644 --- a/tests/data/devices/lumi-lumi-switch-b1lacn02.json +++ b/tests/data/devices/lumi-lumi-switch-b1lacn02.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,57 +68,23 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 1700, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 1700 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -132,13 +97,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -146,19 +109,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -173,52 +133,29 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0010", "endpoint_attribute": "binary_output", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0055", - "name": "present_value", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -233,52 +170,29 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0010", "endpoint_attribute": "binary_output", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0055", - "name": "present_value", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -293,26 +207,18 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/lumi-lumi-switch-b1laus01.json b/tests/data/devices/lumi-lumi-switch-b1laus01.json index bb6f79b3b..c407bcce8 100755 --- a/tests/data/devices/lumi-lumi-switch-b1laus01.json +++ b/tests/data/devices/lumi-lumi-switch-b1laus01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,56 +68,39 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 20, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 20 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -131,7 +113,6 @@ { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -139,13 +120,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -168,7 +147,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-switch-b1naus01.json b/tests/data/devices/lumi-lumi-switch-b1naus01.json index 468c6055f..65e6a7810 100755 --- a/tests/data/devices/lumi-lumi-switch-b1naus01.json +++ b/tests/data/devices/lumi-lumi-switch-b1naus01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -75,56 +74,39 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 23, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 23 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -137,109 +119,59 @@ { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 253802, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 253802 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -257,13 +189,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -281,13 +207,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -306,43 +226,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -366,61 +267,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -428,149 +299,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -582,13 +315,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -600,25 +327,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050a", @@ -626,83 +341,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -711,13 +360,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -740,7 +387,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-switch-b2naus01.json b/tests/data/devices/lumi-lumi-switch-b2naus01.json index a78eee51c..9a2eb60b3 100644 --- a/tests/data/devices/lumi-lumi-switch-b2naus01.json +++ b/tests/data/devices/lumi-lumi-switch-b2naus01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -69,56 +68,39 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 1400, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 1400 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -131,115 +113,58 @@ { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0001", - "name": "current_summ_received", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -257,13 +182,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -281,13 +200,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -306,43 +219,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -366,61 +260,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 207, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 207 }, { "id": "0x050d", @@ -428,149 +292,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -582,13 +308,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0510", @@ -600,25 +320,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050a", @@ -626,41 +334,11 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0507", @@ -668,48 +346,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -717,13 +364,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -738,43 +383,32 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -787,13 +421,11 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -809,19 +441,12 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 20.666000366210938, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 20.666000366210938 } ] } @@ -838,21 +463,7 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0055", - "name": "present_value", - "zcl_type": "single", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -867,7 +478,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -890,7 +500,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -913,7 +522,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -936,7 +544,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -953,7 +560,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-switch-b2nc01.json b/tests/data/devices/lumi-lumi-switch-b2nc01.json index f3e4ee5df..d755c4709 100644 --- a/tests/data/devices/lumi-lumi-switch-b2nc01.json +++ b/tests/data/devices/lumi-lumi-switch-b2nc01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -117,7 +116,6 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -129,13 +127,7 @@ "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 24, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 24 }, { "id": "0x0010", @@ -160,7 +152,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -179,7 +170,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -198,7 +188,6 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -247,7 +236,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -265,13 +253,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -284,7 +266,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -321,7 +302,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -329,13 +309,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -350,7 +328,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -423,7 +400,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -442,7 +418,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -461,7 +436,6 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -510,7 +484,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -528,13 +501,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -547,7 +514,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -584,7 +550,6 @@ { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -600,7 +565,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -623,7 +587,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -646,7 +609,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -670,7 +632,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-switch-l1aeu1.json b/tests/data/devices/lumi-lumi-switch-l1aeu1.json index 8e234e9f8..77ebe87f6 100644 --- a/tests/data/devices/lumi-lumi-switch-l1aeu1.json +++ b/tests/data/devices/lumi-lumi-switch-l1aeu1.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,56 +62,39 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 30, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -125,13 +107,11 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -139,13 +119,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -167,7 +145,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -184,7 +161,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-switch-l2aeu1.json b/tests/data/devices/lumi-lumi-switch-l2aeu1.json index 4a989ab65..566771a2f 100644 --- a/tests/data/devices/lumi-lumi-switch-l2aeu1.json +++ b/tests/data/devices/lumi-lumi-switch-l2aeu1.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,56 +62,39 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 30, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -125,7 +107,6 @@ { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -133,13 +114,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -161,43 +140,32 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -210,13 +178,11 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -233,7 +199,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-switch-n0agl1.json b/tests/data/devices/lumi-lumi-switch-n0agl1.json index a30975ffc..8778f930f 100644 --- a/tests/data/devices/lumi-lumi-switch-n0agl1.json +++ b/tests/data/devices/lumi-lumi-switch-n0agl1.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 18, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 18 }, { "id": "0x0010", @@ -124,37 +116,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -167,19 +149,16 @@ { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0019", @@ -191,97 +170,49 @@ "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 41150, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 41150 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -305,13 +236,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -335,13 +260,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -378,43 +297,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -438,61 +338,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -516,145 +386,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -666,13 +410,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0510", @@ -696,25 +434,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050a", @@ -738,37 +464,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 229, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 229 }, { "id": "0x0507", @@ -792,44 +500,25 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "value": 42380, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 42380 } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "opple_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -837,13 +526,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -865,19 +552,12 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 0.0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0.0 } ] } @@ -894,21 +574,7 @@ { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0055", - "name": "present_value", - "zcl_type": "single", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -923,7 +589,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -940,7 +605,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-switch-n1aeu1.json b/tests/data/devices/lumi-lumi-switch-n1aeu1.json index e78a8f7ac..25cd4eabf 100644 --- a/tests/data/devices/lumi-lumi-switch-n1aeu1.json +++ b/tests/data/devices/lumi-lumi-switch-n1aeu1.json @@ -44,62 +44,44 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 28, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -112,13 +94,11 @@ { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0100", @@ -179,103 +159,48 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0001", - "name": "current_summ_received", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -293,13 +218,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -317,13 +236,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -342,43 +255,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -402,61 +296,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 12, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 12 }, { "id": "0x050d", @@ -464,149 +328,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -618,37 +344,19 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050a", @@ -656,90 +364,23 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xfcc0", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -747,13 +388,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -768,7 +407,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -785,7 +423,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-vibration-agl01.json b/tests/data/devices/lumi-lumi-vibration-agl01.json index 8a811575d..08f5bbfd4 100644 --- a/tests/data/devices/lumi-lumi-vibration-agl01.json +++ b/tests/data/devices/lumi-lumi-vibration-agl01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,44 +68,29 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -142,13 +126,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -170,7 +152,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -183,7 +164,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", diff --git a/tests/data/devices/lumi-lumi-vibration-aq1.json b/tests/data/devices/lumi-lumi-vibration-aq1.json index 5819b1c57..56a90ba52 100644 --- a/tests/data/devices/lumi-lumi-vibration-aq1.json +++ b/tests/data/devices/lumi-lumi-vibration-aq1.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -71,7 +70,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -102,7 +100,6 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -115,19 +112,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0101", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -140,7 +134,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -167,31 +160,26 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -206,7 +194,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -214,25 +201,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lumi-lumi-weather.json b/tests/data/devices/lumi-lumi-weather.json index 5fadd6190..bd4347f77 100755 --- a/tests/data/devices/lumi-lumi-weather.json +++ b/tests/data/devices/lumi-lumi-weather.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -100,13 +98,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -119,7 +115,6 @@ { "cluster_id": "0x0403", "endpoint_attribute": "pressure", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -132,7 +127,6 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -145,7 +139,6 @@ { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -153,19 +146,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lutron-lzl4bwhl01-remote.json b/tests/data/devices/lutron-lzl4bwhl01-remote.json index 4642d669b..31730042a 100644 --- a/tests/data/devices/lutron-lzl4bwhl01-remote.json +++ b/tests/data/devices/lutron-lzl4bwhl01-remote.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,16 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc44", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff00", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -89,49 +85,41 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff00", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/lutron-z3-1brl.json b/tests/data/devices/lutron-z3-1brl.json index 197d18339..2565f0c2d 100644 --- a/tests/data/devices/lutron-z3-1brl.json +++ b/tests/data/devices/lutron-z3-1brl.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,32 +85,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -126,31 +109,26 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -163,7 +141,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/mli-tint-extendedcolor.json b/tests/data/devices/mli-tint-extendedcolor.json index 14d402715..d79d8fee2 100644 --- a/tests/data/devices/mli-tint-extendedcolor.json +++ b/tests/data/devices/mli-tint-extendedcolor.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,56 +62,39 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -155,7 +137,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -191,37 +172,19 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 370, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 370 }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x000f", @@ -240,13 +203,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x100f", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -254,7 +215,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -277,7 +237,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/mli-zbt-remote-all-rgbw.json b/tests/data/devices/mli-zbt-remote-all-rgbw.json index 091478609..b6b4cf314 100644 --- a/tests/data/devices/mli-zbt-remote-all-rgbw.json +++ b/tests/data/devices/mli-zbt-remote-all-rgbw.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -192,7 +191,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -205,7 +203,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -213,7 +210,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -250,7 +246,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -269,7 +264,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -294,7 +288,6 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -307,7 +300,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -356,7 +348,6 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -423,7 +414,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -460,7 +450,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -479,7 +468,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/nabu-casa-ha-connect-zbt-1.json b/tests/data/devices/nabu-casa-ha-connect-zbt-1.json index c63bce33f..65903050e 100644 --- a/tests/data/devices/nabu-casa-ha-connect-zbt-1.json +++ b/tests/data/devices/nabu-casa-ha-connect-zbt-1.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0501", "endpoint_attribute": "ias_ace", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -89,25 +84,21 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -122,7 +113,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/namron-as-1402790.json b/tests/data/devices/namron-as-1402790.json index 4a4b93754..ea4e51bc2 100644 --- a/tests/data/devices/namron-as-1402790.json +++ b/tests/data/devices/namron-as-1402790.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -124,13 +108,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -143,7 +121,6 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0002", @@ -155,13 +132,7 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": -32768, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": -32768 }, { "id": "0xfffe", @@ -180,103 +151,48 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0001", - "name": "current_summ_received", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -294,13 +210,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -318,13 +228,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -343,43 +247,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -403,61 +288,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -465,149 +320,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -619,37 +336,19 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050a", @@ -657,83 +356,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -742,7 +375,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -757,7 +389,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -765,7 +396,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/namron-as-4512785.json b/tests/data/devices/namron-as-4512785.json index ea4888cb6..182457059 100644 --- a/tests/data/devices/namron-as-4512785.json +++ b/tests/data/devices/namron-as-4512785.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,7 +68,6 @@ { "cluster_id": "0x0002", "endpoint_attribute": "device_temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -81,13 +79,7 @@ "id": "0x0000", "name": "current_temperature", "zcl_type": "int16", - "value": 352, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 352 }, { "id": "0x0010", @@ -112,37 +104,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -155,7 +137,6 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0002", @@ -167,13 +148,7 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", @@ -192,109 +167,59 @@ { "cluster_id": "0x04e0", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 2502, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2502 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -312,13 +237,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -336,13 +255,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -361,7 +274,6 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0803", @@ -379,37 +291,19 @@ "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -439,61 +333,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -517,145 +381,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -667,13 +405,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -697,25 +429,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -739,37 +459,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 2429, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2429 }, { "id": "0x0507", @@ -793,44 +495,25 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -838,13 +521,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -867,7 +548,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/neuhaus-lighting-group-nlg-remote.json b/tests/data/devices/neuhaus-lighting-group-nlg-remote.json index 50a111996..6c83c0169 100644 --- a/tests/data/devices/neuhaus-lighting-group-nlg-remote.json +++ b/tests/data/devices/neuhaus-lighting-group-nlg-remote.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,13 +62,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -77,43 +74,36 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/niko-nv-battery-switch-2-button.json b/tests/data/devices/niko-nv-battery-switch-2-button.json index 3b336ecc0..25200ce82 100644 --- a/tests/data/devices/niko-nv-battery-switch-2-button.json +++ b/tests/data/devices/niko-nv-battery-switch-2-button.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -75,13 +73,7 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -99,44 +91,33 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 31 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -144,37 +125,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -190,19 +165,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] } ] diff --git a/tests/data/devices/niko-nv-battery-switch-4-button.json b/tests/data/devices/niko-nv-battery-switch-4-button.json index 91f0caab7..10676b58b 100644 --- a/tests/data/devices/niko-nv-battery-switch-4-button.json +++ b/tests/data/devices/niko-nv-battery-switch-4-button.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -75,13 +73,7 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -99,44 +91,33 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 32, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 32 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -144,31 +125,26 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -181,7 +157,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -197,19 +172,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] } ] @@ -225,19 +197,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] } ] @@ -253,19 +222,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] } ] diff --git a/tests/data/devices/niko-nv-connectable-motor-control-3a.json b/tests/data/devices/niko-nv-connectable-motor-control-3a.json index b77609736..d0b7270ab 100644 --- a/tests/data/devices/niko-nv-connectable-motor-control-3a.json +++ b/tests/data/devices/niko-nv-connectable-motor-control-3a.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -141,7 +140,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -160,19 +158,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -196,13 +191,7 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0004", @@ -214,13 +203,7 @@ "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0016", @@ -311,7 +294,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0116", @@ -324,13 +306,11 @@ { "cluster_id": "0xfc00", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -338,7 +318,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -361,7 +340,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/nodon-sin-4-fp-21.json b/tests/data/devices/nodon-sin-4-fp-21.json index 5081a7b1d..e4a845682 100644 --- a/tests/data/devices/nodon-sin-4-fp-21.json +++ b/tests/data/devices/nodon-sin-4-fp-21.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -117,7 +116,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -136,7 +134,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -155,7 +152,6 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -198,7 +194,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -222,13 +217,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", @@ -247,103 +236,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 4738, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4738 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x000a", @@ -367,13 +307,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0306", @@ -391,13 +325,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -416,13 +344,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "pilot_wire_cluster", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -437,7 +363,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -465,7 +390,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -473,7 +397,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/nodon-sin-4-rs-20.json b/tests/data/devices/nodon-sin-4-rs-20.json index 8a47eb844..ba88a1c79 100644 --- a/tests/data/devices/nodon-sin-4-rs-20.json +++ b/tests/data/devices/nodon-sin-4-rs-20.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0004", @@ -117,25 +112,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0011", @@ -178,7 +161,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -186,13 +168,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -205,7 +185,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0003", @@ -251,7 +230,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -259,7 +237,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/occam-temp-sensor-v1-2-jan-19-2026.json b/tests/data/devices/occam-temp-sensor-v1-2-jan-19-2026.json index beb89c7c1..dea20dac8 100644 --- a/tests/data/devices/occam-temp-sensor-v1-2-jan-19-2026.json +++ b/tests/data/devices/occam-temp-sensor-v1-2-jan-19-2026.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 186, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 186 }, { "id": "0x0033", @@ -93,57 +85,36 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 255, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 255 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": -1824, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": -1824 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 5 } ] } @@ -152,7 +123,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/orvibo-250bccf66c41421b91b5e3242942c164.json b/tests/data/devices/orvibo-250bccf66c41421b91b5e3242942c164.json index 1589e5efa..fdd7ecfb1 100644 --- a/tests/data/devices/orvibo-250bccf66c41421b91b5e3242942c164.json +++ b/tests/data/devices/orvibo-250bccf66c41421b91b5e3242942c164.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 128, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 128 }, { "id": "0x0014", @@ -173,7 +155,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -209,13 +190,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 250, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 250 }, { "id": "0x0000", @@ -233,25 +208,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 24939, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 24939 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 24701, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 24701 }, { "id": "0x4000", @@ -276,7 +239,6 @@ { "cluster_id": "0xff00", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -284,7 +246,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/osram-switch-4x-lightify.json b/tests/data/devices/osram-switch-4x-lightify.json index 6b0818e45..b15eb664b 100644 --- a/tests/data/devices/osram-switch-4x-lightify.json +++ b/tests/data/devices/osram-switch-4x-lightify.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -93,32 +85,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29 } ] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd00", "endpoint_attribute": "osram_cluster", - "bind": "SUCCESS", "attributes": [ { "id": "0x000a", @@ -211,37 +194,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -254,13 +231,11 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -275,19 +250,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd00", "endpoint_attribute": "osram_cluster", - "bind": "SUCCESS", "attributes": [ { "id": "0x000a", @@ -380,43 +352,36 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -431,19 +396,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd00", "endpoint_attribute": "osram_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -451,43 +413,36 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -502,19 +457,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd00", "endpoint_attribute": "osram_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -522,43 +474,36 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -573,19 +518,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd00", "endpoint_attribute": "osram_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -593,43 +535,36 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -644,19 +579,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfd00", "endpoint_attribute": "osram_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -664,43 +596,36 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ou-rui-bo-cf31218e11c547179c9c9ade6a492799.json b/tests/data/devices/ou-rui-bo-cf31218e11c547179c9c9ade6a492799.json index f4ae4c56c..26985e91b 100644 --- a/tests/data/devices/ou-rui-bo-cf31218e11c547179c9c9ade6a492799.json +++ b/tests/data/devices/ou-rui-bo-cf31218e11c547179c9c9ade6a492799.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0033", @@ -99,50 +91,34 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0101", "endpoint_attribute": "door_lock", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "lock_state", "zcl_type": "enum8", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] } @@ -151,7 +127,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/paulmann-licht-gmbh-501-34.json b/tests/data/devices/paulmann-licht-gmbh-501-34.json index c6a1505fb..7fccaeefd 100644 --- a/tests/data/devices/paulmann-licht-gmbh-501-34.json +++ b/tests/data/devices/paulmann-licht-gmbh-501-34.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -99,32 +91,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 33, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 33 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -132,49 +115,41 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -189,25 +164,17 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -225,32 +192,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 33, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 33 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -258,49 +216,41 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/philips-7602031u7.json b/tests/data/devices/philips-7602031u7.json index 0834aab44..20d31867c 100644 --- a/tests/data/devices/philips-7602031u7.json +++ b/tests/data/devices/philips-7602031u7.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -105,37 +104,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -148,19 +137,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -209,7 +191,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -245,13 +226,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 500 }, { "id": "0x0000", @@ -269,25 +244,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 15089, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 15089 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 5731, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5731 }, { "id": "0x4000", @@ -312,19 +275,16 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "philips_hue_light_cluster", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -332,7 +292,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -355,7 +314,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/philips-915005988601.json b/tests/data/devices/philips-915005988601.json index 184650f90..b85490f1d 100644 --- a/tests/data/devices/philips-915005988601.json +++ b/tests/data/devices/philips-915005988601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,13 +178,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 500 }, { "id": "0x0000", @@ -221,25 +196,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 36678, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 36678 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26266, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 26266 }, { "id": "0x000f", @@ -258,25 +221,21 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc04", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -284,7 +243,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -307,7 +265,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/philips-lct014.json b/tests/data/devices/philips-lct014.json index 49b4090f7..9ee96dc19 100644 --- a/tests/data/devices/philips-lct014.json +++ b/tests/data/devices/philips-lct014.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -75,37 +74,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -118,19 +107,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -173,7 +155,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -209,13 +190,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 366, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 366 }, { "id": "0x0000", @@ -233,25 +208,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 29972, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 29972 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26871, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 26871 }, { "id": "0x4000", @@ -276,13 +239,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -290,7 +251,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -312,7 +272,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -320,7 +279,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/philips-lct026.json b/tests/data/devices/philips-lct026.json index a9d07da88..49a4c4a28 100644 --- a/tests/data/devices/philips-lct026.json +++ b/tests/data/devices/philips-lct026.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -100,19 +96,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -125,19 +114,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 67, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 67 }, { "id": "0x0014", @@ -180,7 +162,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -216,13 +197,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 500 }, { "id": "0x0000", @@ -240,25 +215,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 36958, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 36958 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 25586, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 25586 }, { "id": "0x4000", @@ -283,13 +246,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -297,7 +258,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -313,7 +273,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/philips-llc020.json b/tests/data/devices/philips-llc020.json index 06cc4a4e6..9b267a987 100644 --- a/tests/data/devices/philips-llc020.json +++ b/tests/data/devices/philips-llc020.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,13 +178,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 153, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 153 }, { "id": "0x0000", @@ -221,25 +196,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 11792, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 11792 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 15680, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 15680 }, { "id": "0x4000", @@ -264,13 +227,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -278,7 +239,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -300,7 +260,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -308,7 +267,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/philips-lst002.json b/tests/data/devices/philips-lst002.json index c2f925a9f..8696b0f75 100644 --- a/tests/data/devices/philips-lst002.json +++ b/tests/data/devices/philips-lst002.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -81,19 +80,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -106,19 +102,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -131,19 +120,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 1, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0014", @@ -186,7 +168,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -222,13 +203,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 500 }, { "id": "0x0000", @@ -246,25 +221,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 34516, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 34516 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 27086, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 27086 }, { "id": "0x4000", @@ -289,7 +252,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -297,7 +259,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -325,7 +286,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -333,7 +293,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/philips-rom001.json b/tests/data/devices/philips-rom001.json index 6fc919c08..c7066ebc8 100644 --- a/tests/data/devices/philips-rom001.json +++ b/tests/data/devices/philips-rom001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -87,19 +86,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -117,32 +109,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "philips_remote_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -150,43 +133,36 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -199,7 +175,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/philips-rwl020.json b/tests/data/devices/philips-rwl020.json index 610737372..1e5f84aa2 100644 --- a/tests/data/devices/philips-rwl020.json +++ b/tests/data/devices/philips-rwl020.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -71,37 +70,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] } ] @@ -116,7 +109,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0031", @@ -135,19 +127,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -165,45 +150,30 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xfc00", "endpoint_attribute": "philips_remote_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -211,7 +181,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/philips-rwl021.json b/tests/data/devices/philips-rwl021.json index d4705d8bd..0bddddd2e 100644 --- a/tests/data/devices/philips-rwl021.json +++ b/tests/data/devices/philips-rwl021.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -65,31 +64,26 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -102,7 +96,6 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] } ] @@ -117,7 +110,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0031", @@ -130,19 +122,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 }, { "id": "0x0033", @@ -160,26 +145,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 24, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 24 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -191,20 +168,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xfc00", "endpoint_attribute": "philips_remote_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -212,7 +182,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/philips-sml001.json b/tests/data/devices/philips-sml001.json index c52ec5fcb..5b9bcf714 100644 --- a/tests/data/devices/philips-sml001.json +++ b/tests/data/devices/philips-sml001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -52,43 +51,36 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] } ] @@ -103,7 +95,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -128,19 +119,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 77, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 77 }, { "id": "0x0033", @@ -158,76 +142,48 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 25, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 25 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 7905, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 7905 } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2307, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2307 } ] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0030", @@ -242,7 +198,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/plaid-systems-ps-sprzms-slp3.json b/tests/data/devices/plaid-systems-ps-sprzms-slp3.json index f5b2542d4..01e65bbfd 100644 --- a/tests/data/devices/plaid-systems-ps-sprzms-slp3.json +++ b/tests/data/devices/plaid-systems-ps-sprzms-slp3.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -99,13 +91,7 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 }, { "id": "0x0000", @@ -118,44 +104,29 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1964, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 1964 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4593, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 4593 } ] } @@ -164,13 +135,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/ptvo-info-ptvo-switch.json b/tests/data/devices/ptvo-info-ptvo-switch.json index f46f1c831..3b1d762ec 100644 --- a/tests/data/devices/ptvo-info-ptvo-switch.json +++ b/tests/data/devices/ptvo-info-ptvo-switch.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -88,7 +80,6 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -96,13 +87,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -124,19 +113,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -149,7 +131,6 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -157,7 +138,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -179,19 +159,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -204,7 +177,6 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -212,7 +184,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -234,19 +205,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -259,7 +223,6 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -267,7 +230,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -289,19 +251,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -314,7 +269,6 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -322,7 +276,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -344,19 +297,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -369,7 +315,6 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -377,7 +322,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -399,19 +343,12 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2243, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2243 } ] } @@ -428,19 +365,12 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2200, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2200 } ] } diff --git a/tests/data/devices/samjin-button.json b/tests/data/devices/samjin-button.json index 33d2c2f8b..654fde90e 100644 --- a/tests/data/devices/samjin-button.json +++ b/tests/data/devices/samjin-button.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -99,51 +91,35 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 35, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 35 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2558, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2558 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -183,7 +159,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -191,13 +166,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/samjin-multi.json b/tests/data/devices/samjin-multi.json index 96db4ae11..dde7d2d93 100644 --- a/tests/data/devices/samjin-multi.json +++ b/tests/data/devices/samjin-multi.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 31 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,26 +109,18 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2441, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2441 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -184,55 +160,30 @@ { "cluster_id": "0xfc02", "endpoint_attribute": "accelerometer", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", "name": "acceleration", "zcl_type": "map8", - "value": 1, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0012", "name": "x_axis", "zcl_type": "int16", - "value": 122, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 122 }, { "id": "0x0013", "name": "y_axis", "zcl_type": "int16", - "value": -27, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": -27 }, { "id": "0x0014", "name": "z_axis", "zcl_type": "int16", - "value": 1055, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1055 } ] } @@ -241,13 +192,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/samjin-water.json b/tests/data/devices/samjin-water.json index a95085cc0..b48383453 100644 --- a/tests/data/devices/samjin-water.json +++ b/tests/data/devices/samjin-water.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,26 +109,18 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2229, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2229 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -184,7 +160,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -192,13 +167,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/schneider-electric-eko07259.json b/tests/data/devices/schneider-electric-eko07259.json index 43fc24a08..6b24cb00a 100644 --- a/tests/data/devices/schneider-electric-eko07259.json +++ b/tests/data/devices/schneider-electric-eko07259.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -129,7 +128,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -148,7 +146,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -167,7 +164,6 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -209,13 +205,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 1886, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1886 }, { "id": "0x0010", @@ -257,37 +247,19 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "value": 1, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2000, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2000 }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2480, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2480 }, { "id": "0x0034", @@ -317,25 +289,13 @@ "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "value": 30 }, { "id": "0x0025", @@ -353,25 +313,13 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0xe210", @@ -479,13 +427,7 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0009", @@ -509,32 +451,19 @@ "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "value": 2200, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2200 }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "value": 1600, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1600 } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -571,7 +500,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -596,13 +524,11 @@ { "cluster_id": "0xfe03", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff16", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -645,7 +571,6 @@ { "cluster_id": "0xff23", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -792,7 +717,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -805,7 +729,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -818,7 +741,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -885,7 +807,6 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -898,7 +819,6 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -920,7 +840,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -1005,7 +924,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -1024,7 +942,6 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -1042,13 +959,7 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1914, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 1914 }, { "id": "0x0001", @@ -1069,7 +980,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -1091,7 +1001,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -1176,7 +1085,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -1195,7 +1103,6 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -1213,13 +1120,7 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", @@ -1246,7 +1147,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -1268,7 +1168,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -1353,7 +1252,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -1372,7 +1270,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -1391,103 +1288,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 640678, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 640678 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -1505,13 +1353,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 500, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 500 }, { "id": "0x0306", @@ -1535,13 +1377,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -1571,7 +1407,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/schneider-electric-evsckt-outlet-1.json b/tests/data/devices/schneider-electric-evsckt-outlet-1.json index 344459c2f..2d23b2d10 100644 --- a/tests/data/devices/schneider-electric-evsckt-outlet-1.json +++ b/tests/data/devices/schneider-electric-evsckt-outlet-1.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,103 +95,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 144014000, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 144014000 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -232,13 +172,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0306", @@ -256,13 +190,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -281,49 +209,29 @@ { "cluster_id": "0x0708", "endpoint_attribute": "smartenergy_device_management", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -347,61 +255,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050d", @@ -409,149 +287,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -563,13 +303,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -581,25 +315,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -607,96 +329,28 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 233, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 233 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc04", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -704,7 +358,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -727,7 +380,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/schneider-electric-lk-dimmer.json b/tests/data/devices/schneider-electric-lk-dimmer.json index 34e482fbd..045267f81 100644 --- a/tests/data/devices/schneider-electric-lk-dimmer.json +++ b/tests/data/devices/schneider-electric-lk-dimmer.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4000", @@ -93,13 +88,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -112,19 +101,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 1, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0014", @@ -167,13 +149,11 @@ { "cluster_id": "0x0301", "endpoint_attribute": "light_ballast", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -181,7 +161,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -196,25 +175,21 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff17", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -222,31 +197,26 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] } ] @@ -261,25 +231,21 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff17", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -287,31 +253,26 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] } ] @@ -326,25 +287,21 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff17", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -352,31 +309,26 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] } ] @@ -391,25 +343,21 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff17", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -417,31 +365,26 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] } ] @@ -457,7 +400,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/schneider-electric-nhmotion-unidim-1.json b/tests/data/devices/schneider-electric-nhmotion-unidim-1.json index 95a529f66..24a9e086f 100644 --- a/tests/data/devices/schneider-electric-nhmotion-unidim-1.json +++ b/tests/data/devices/schneider-electric-nhmotion-unidim-1.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,13 +143,11 @@ { "cluster_id": "0x0301", "endpoint_attribute": "light_ballast", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -175,7 +155,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -197,63 +176,45 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 8451, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 8451 } ] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff19", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -261,25 +222,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -295,7 +252,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/schneider-electric-puck-dimmer-1.json b/tests/data/devices/schneider-electric-puck-dimmer-1.json index 85bcc36db..428ed0501 100644 --- a/tests/data/devices/schneider-electric-puck-dimmer-1.json +++ b/tests/data/devices/schneider-electric-puck-dimmer-1.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 245, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 245 }, { "id": "0x0014", @@ -161,13 +143,11 @@ { "cluster_id": "0x0301", "endpoint_attribute": "light_ballast", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -175,7 +155,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -191,7 +170,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/schneider-electric-puck-shutter-1.json b/tests/data/devices/schneider-electric-puck-shutter-1.json index ce6ce308a..349b32636 100644 --- a/tests/data/devices/schneider-electric-puck-shutter-1.json +++ b/tests/data/devices/schneider-electric-puck-shutter-1.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -138,7 +137,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -157,7 +155,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -176,7 +173,6 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -219,7 +215,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -231,25 +226,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 82, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 82 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "value": 50, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 50 }, { "id": "0x0011", @@ -292,7 +275,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -319,7 +301,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -378,7 +359,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/schneider-electric-s520619.json b/tests/data/devices/schneider-electric-s520619.json index dc608d4eb..90d4770a1 100644 --- a/tests/data/devices/schneider-electric-s520619.json +++ b/tests/data/devices/schneider-electric-s520619.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -111,13 +107,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 1895, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1895 }, { "id": "0x0010", @@ -153,85 +143,43 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "value": 1, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2000, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2000 }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1700, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1700 }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0030", @@ -243,44 +191,25 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "value": 2200, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2200 }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "value": 1600, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1600 } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -293,25 +222,21 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe03", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff16", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff23", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -319,19 +244,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -344,13 +266,11 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -365,31 +285,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1875, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 1875 } ] } @@ -398,7 +309,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -413,31 +323,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] } @@ -446,7 +347,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -461,121 +361,69 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -593,13 +441,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0306", @@ -617,13 +459,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -653,7 +489,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/schneider-electric-socket-outlet-1.json b/tests/data/devices/schneider-electric-socket-outlet-1.json index 241d9e7b6..bd3392a1d 100644 --- a/tests/data/devices/schneider-electric-socket-outlet-1.json +++ b/tests/data/devices/schneider-electric-socket-outlet-1.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,103 +95,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 10329, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10329 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -232,13 +172,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0.0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0.0 }, { "id": "0x0306", @@ -256,13 +190,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -281,49 +209,29 @@ { "cluster_id": "0x0708", "endpoint_attribute": "smartenergy_device_management", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -347,61 +255,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050d", @@ -425,145 +303,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -575,13 +327,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -605,25 +351,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -647,37 +381,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 225, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 225 }, { "id": "0x0507", @@ -701,50 +417,30 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc04", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -752,7 +448,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -775,7 +470,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/schneider-electric-socket-outlet-2.json b/tests/data/devices/schneider-electric-socket-outlet-2.json index afcca6584..86db1990a 100644 --- a/tests/data/devices/schneider-electric-socket-outlet-2.json +++ b/tests/data/devices/schneider-electric-socket-outlet-2.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,103 +95,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 23, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 23 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -232,13 +172,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0.0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0.0 }, { "id": "0x0306", @@ -256,13 +190,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -281,49 +209,29 @@ { "cluster_id": "0x0708", "endpoint_attribute": "smartenergy_device_management", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -347,61 +255,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050d", @@ -425,145 +303,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -575,13 +327,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -605,25 +351,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -647,37 +381,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 225, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 225 }, { "id": "0x0507", @@ -701,50 +417,30 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc04", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -752,7 +448,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -775,7 +470,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/securifi-ltd-unk-model.json b/tests/data/devices/securifi-ltd-unk-model.json index 73a9202fe..6b199428e 100644 --- a/tests/data/devices/securifi-ltd-unk-model.json +++ b/tests/data/devices/securifi-ltd-unk-model.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -93,50 +85,34 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -149,43 +125,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 39321, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 39321 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 72, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 72 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0401", @@ -209,61 +166,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 39321, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 39321 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 10255, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10255 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 39321, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 39321 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 180, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 180 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -271,149 +198,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -425,13 +214,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -443,25 +226,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -469,90 +240,23 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 26866, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 26866 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -560,55 +264,46 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/sengled-e11-g13.json b/tests/data/devices/sengled-e11-g13.json index c3dc0f09e..522eb7a95 100644 --- a/tests/data/devices/sengled-e11-g13.json +++ b/tests/data/devices/sengled-e11-g13.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -112,19 +101,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -167,103 +149,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 369631, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 369631 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -281,13 +214,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0306", @@ -305,13 +232,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -330,7 +251,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -338,7 +258,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/sengled-e12-n14.json b/tests/data/devices/sengled-e12-n14.json index a57473270..2a2e5a45f 100644 --- a/tests/data/devices/sengled-e12-n14.json +++ b/tests/data/devices/sengled-e12-n14.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 255, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 255 }, { "id": "0x0014", @@ -161,103 +143,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 26, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 26 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -275,13 +208,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 85, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 85 }, { "id": "0x0306", @@ -299,13 +226,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -324,7 +245,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -332,7 +252,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/sengled-e12-n1e.json b/tests/data/devices/sengled-e12-n1e.json index 0aca9a9b7..20fb5f127 100644 --- a/tests/data/devices/sengled-e12-n1e.json +++ b/tests/data/devices/sengled-e12-n1e.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,13 +178,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 397, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 397 }, { "id": "0x0000", @@ -221,25 +196,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 45940, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 45940 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 19594, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 19594 }, { "id": "0x4000", @@ -264,103 +227,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 541256, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 541256 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -378,13 +292,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 87, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 87 }, { "id": "0x0306", @@ -402,13 +310,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -427,25 +329,21 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc04", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc13", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -453,7 +351,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/sengled-e1c-nb6.json b/tests/data/devices/sengled-e1c-nb6.json index dc81b6e5b..a86d57dbe 100644 --- a/tests/data/devices/sengled-e1c-nb6.json +++ b/tests/data/devices/sengled-e1c-nb6.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -112,7 +101,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -120,7 +108,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/sengled-e1c-nb7.json b/tests/data/devices/sengled-e1c-nb7.json index 9c4e82fa2..2d4ab23bf 100644 --- a/tests/data/devices/sengled-e1c-nb7.json +++ b/tests/data/devices/sengled-e1c-nb7.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,103 +95,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 134555, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 134555 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -220,13 +160,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 18, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 18 }, { "id": "0x0306", @@ -244,13 +178,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -269,25 +197,21 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc11", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -295,7 +219,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/sengled-e1f-n9g.json b/tests/data/devices/sengled-e1f-n9g.json index 14fffdf06..415f4bfd6 100644 --- a/tests/data/devices/sengled-e1f-n9g.json +++ b/tests/data/devices/sengled-e1f-n9g.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,103 +143,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 2962, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2962 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -275,13 +208,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 48, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 48 }, { "id": "0x0306", @@ -299,13 +226,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -324,25 +245,21 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc11", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -350,7 +267,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/sengled-e1g-g8e.json b/tests/data/devices/sengled-e1g-g8e.json index feb52f367..21ca4a001 100755 --- a/tests/data/devices/sengled-e1g-g8e.json +++ b/tests/data/devices/sengled-e1g-g8e.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 26, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 26 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,13 +178,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 232, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 232 }, { "id": "0x0000", @@ -221,25 +196,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 24939, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 24939 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 24701, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 24701 }, { "id": "0x4000", @@ -264,103 +227,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 1413, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1413 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -378,13 +292,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 2, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2 }, { "id": "0x0306", @@ -402,13 +310,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -427,31 +329,26 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc04", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc13", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc14", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -459,7 +356,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/sengled-e21-n1ea.json b/tests/data/devices/sengled-e21-n1ea.json index b1f4cdae9..a575be4d7 100644 --- a/tests/data/devices/sengled-e21-n1ea.json +++ b/tests/data/devices/sengled-e21-n1ea.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 86, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 86 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,13 +178,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 500 }, { "id": "0x0000", @@ -221,25 +196,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 13631, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 13631 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 14221, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 14221 }, { "id": "0x4000", @@ -264,103 +227,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 5788, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5788 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -378,13 +292,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 2, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2 }, { "id": "0x0306", @@ -402,13 +310,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -427,31 +329,26 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc04", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc11", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc13", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -459,7 +356,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/sengled-z01-a19nae26.json b/tests/data/devices/sengled-z01-a19nae26.json index aa3e21961..f9dd33b8f 100644 --- a/tests/data/devices/sengled-z01-a19nae26.json +++ b/tests/data/devices/sengled-z01-a19nae26.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 252, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 252 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,13 +178,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 370, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 370 }, { "id": "0x0000", @@ -221,25 +196,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 24939, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 24939 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 24701, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 24701 }, { "id": "0x4000", @@ -264,103 +227,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 996, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 996 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -378,13 +292,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 99, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 99 }, { "id": "0x0306", @@ -402,13 +310,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -427,7 +329,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -435,7 +336,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/sercomm-corp-sz-esw01-au.json b/tests/data/devices/sercomm-corp-sz-esw01-au.json index afb6d28f7..831759844 100644 --- a/tests/data/devices/sercomm-corp-sz-esw01-au.json +++ b/tests/data/devices/sercomm-corp-sz-esw01-au.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -93,50 +85,34 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -149,7 +125,6 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0019", @@ -167,97 +142,43 @@ "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 20571987, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0001", - "name": "current_summ_received", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 20571987 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -293,13 +214,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 286, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 286 }, { "id": "0x0308", @@ -329,13 +244,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -354,43 +263,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 50, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 50 }, { "id": "0x0401", @@ -414,61 +304,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 128, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 128 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 8, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 8 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 2, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2 }, { "id": "0x050d", @@ -476,149 +336,11 @@ "zcl_type": "int16", "value": -32768 }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -630,13 +352,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "value": 32, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 32 }, { "id": "0x0510", @@ -660,25 +376,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "value": 3600, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 3600 }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 79, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 79 }, { "id": "0x050a", @@ -686,90 +390,23 @@ "zcl_type": "uint16", "value": 32768 }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 29503, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 29503 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "value": 65535 - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -777,25 +414,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -810,25 +443,17 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -846,20 +471,13 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -867,13 +485,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] } ] diff --git a/tests/data/devices/shelly-1pm.json b/tests/data/devices/shelly-1pm.json index 736e758c5..80efa9df7 100644 --- a/tests/data/devices/shelly-1pm.json +++ b/tests/data/devices/shelly-1pm.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -75,7 +74,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -100,31 +98,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -137,103 +126,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 1443000, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1443000 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -251,13 +191,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -275,13 +209,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -300,43 +228,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 6002, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6002 }, { "id": "0x0401", @@ -360,61 +269,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -438,145 +317,73 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0103", "name": "dc_current", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0203", "name": "dc_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0202", "name": "dc_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "dc_power", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0205", "name": "dc_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0204", "name": "dc_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "dc_voltage", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0201", "name": "dc_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0200", "name": "dc_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -588,13 +395,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -618,25 +419,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -660,37 +449,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 12282, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 12282 }, { "id": "0x0507", @@ -714,37 +485,19 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] } @@ -761,13 +514,11 @@ { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -784,7 +535,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/shelly-2pm.json b/tests/data/devices/shelly-2pm.json index a4788ee76..8e7de0c8d 100644 --- a/tests/data/devices/shelly-2pm.json +++ b/tests/data/devices/shelly-2pm.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -105,25 +100,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 50, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 50 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -182,13 +165,11 @@ { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -205,7 +186,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/shelly-ecowitt-ws90.json b/tests/data/devices/shelly-ecowitt-ws90.json index b8b05f100..0938cb8a0 100644 --- a/tests/data/devices/shelly-ecowitt-ws90.json +++ b/tests/data/devices/shelly-ecowitt-ws90.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,197 +85,83 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 32, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 32 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2000, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2000 } ] }, { "cluster_id": "0x0403", "endpoint_attribute": "pressure", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 990, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 990 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 6000, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 6000 } ] }, { "cluster_id": "0xfc01", "endpoint_attribute": "shelly_wind_cluster", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0007", - "name": "gust_speed", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 10, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0004", - "name": "wind_direction", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 10, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0000", - "name": "wind_speed", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 10, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "shelly_uv_cluster", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "uv_index", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 10, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "shelly_rain_cluster", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0001", - "name": "precipitation", - "zcl_type": "uint24", - "unsupported": false, - "reporting": { - "min": 10, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0000", - "name": "rain_status", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 10, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/shelly-mini1pm.json b/tests/data/devices/shelly-mini1pm.json index 1e12797e4..d198d726a 100644 --- a/tests/data/devices/shelly-mini1pm.json +++ b/tests/data/devices/shelly-mini1pm.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,103 +95,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 970439, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 970439 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -220,13 +160,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -244,13 +178,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -269,43 +197,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 4996, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4996 }, { "id": "0x0401", @@ -329,61 +238,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 220, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 220 }, { "id": "0x050d", @@ -407,145 +286,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -557,13 +310,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -587,25 +334,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050a", @@ -629,37 +364,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 23095, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 23095 }, { "id": "0x0507", @@ -683,37 +400,13 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] } @@ -730,13 +423,11 @@ { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -753,7 +444,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/shyugj-dimmer-switch-zb3-0.json b/tests/data/devices/shyugj-dimmer-switch-zb3-0.json index 8198d81e2..701f368b0 100644 --- a/tests/data/devices/shyugj-dimmer-switch-zb3-0.json +++ b/tests/data/devices/shyugj-dimmer-switch-zb3-0.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,25 +68,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -111,13 +106,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -142,19 +131,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 246, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 246 }, { "id": "0x0014", @@ -197,13 +179,11 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -211,7 +191,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -234,7 +213,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/signify-netherlands-b-v-lca001.json b/tests/data/devices/signify-netherlands-b-v-lca001.json index 1629aefc8..852bd2ebf 100644 --- a/tests/data/devices/signify-netherlands-b-v-lca001.json +++ b/tests/data/devices/signify-netherlands-b-v-lca001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -94,19 +90,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -119,19 +108,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -174,7 +156,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -216,13 +197,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 230, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 230 }, { "id": "0x0000", @@ -240,25 +215,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 24187, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 24187 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 24371, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 24371 }, { "id": "0x4000", @@ -283,25 +246,21 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc04", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -309,7 +268,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -338,7 +296,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/signify-netherlands-b-v-lca005.json b/tests/data/devices/signify-netherlands-b-v-lca005.json index 4076b6a26..aabe10692 100644 --- a/tests/data/devices/signify-netherlands-b-v-lca005.json +++ b/tests/data/devices/signify-netherlands-b-v-lca005.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -75,37 +74,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -118,19 +107,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -173,7 +155,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -209,13 +190,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 239, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 239 }, { "id": "0x0000", @@ -233,25 +208,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 24422, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 24422 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 24527, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 24527 }, { "id": "0x4000", @@ -276,19 +239,16 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -296,7 +256,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -319,7 +278,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/signify-netherlands-b-v-lca007.json b/tests/data/devices/signify-netherlands-b-v-lca007.json index 4b368d37d..461abd49b 100644 --- a/tests/data/devices/signify-netherlands-b-v-lca007.json +++ b/tests/data/devices/signify-netherlands-b-v-lca007.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,13 +178,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 366, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 366 }, { "id": "0x0000", @@ -221,25 +196,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 29967, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 29967 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26869, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 26869 }, { "id": "0x4000", @@ -264,19 +227,16 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -284,7 +244,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -307,7 +266,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/signify-netherlands-b-v-lcb001.json b/tests/data/devices/signify-netherlands-b-v-lcb001.json index 8d172e7ce..1c5794f6c 100644 --- a/tests/data/devices/signify-netherlands-b-v-lcb001.json +++ b/tests/data/devices/signify-netherlands-b-v-lcb001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -87,13 +86,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -106,25 +103,17 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -137,19 +126,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 1, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0014", @@ -198,7 +180,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -234,13 +215,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 312, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 312 }, { "id": "0x0000", @@ -258,25 +233,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 27745, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 27745 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26184, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 26184 }, { "id": "0x4000", @@ -301,19 +264,16 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -321,7 +281,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -344,7 +303,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/signify-netherlands-b-v-lcb002.json b/tests/data/devices/signify-netherlands-b-v-lcb002.json index 61d3096a0..316230002 100755 --- a/tests/data/devices/signify-netherlands-b-v-lcb002.json +++ b/tests/data/devices/signify-netherlands-b-v-lcb002.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,13 +178,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 200, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0000", @@ -221,25 +196,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 22642, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 22642 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 23318, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 23318 }, { "id": "0x4000", @@ -264,19 +227,16 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -284,7 +244,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -307,7 +266,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/signify-netherlands-b-v-lce001.json b/tests/data/devices/signify-netherlands-b-v-lce001.json index 72511fc42..f6847bb9d 100644 --- a/tests/data/devices/signify-netherlands-b-v-lce001.json +++ b/tests/data/devices/signify-netherlands-b-v-lce001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,13 +178,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 352, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 352 }, { "id": "0x0000", @@ -221,25 +196,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 29405, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 29405 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26723, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 26723 }, { "id": "0x000f", @@ -258,25 +221,21 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc04", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -284,7 +243,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -307,7 +265,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/signify-netherlands-b-v-lcx004.json b/tests/data/devices/signify-netherlands-b-v-lcx004.json index 4b3214240..05cd48a3c 100644 --- a/tests/data/devices/signify-netherlands-b-v-lcx004.json +++ b/tests/data/devices/signify-netherlands-b-v-lcx004.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 74, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 74 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,13 +178,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 500 }, { "id": "0x0000", @@ -221,25 +196,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 34516, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 34516 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 27086, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 27086 }, { "id": "0x000f", @@ -258,19 +221,16 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "philips_hue_light_cluster", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -278,7 +238,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -301,7 +260,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/signify-netherlands-b-v-lta010.json b/tests/data/devices/signify-netherlands-b-v-lta010.json index e73166e57..c66213401 100644 --- a/tests/data/devices/signify-netherlands-b-v-lta010.json +++ b/tests/data/devices/signify-netherlands-b-v-lta010.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 1, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,13 +178,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 366, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 366 }, { "id": "0x0000", @@ -221,25 +196,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 29967, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 29967 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26869, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 26869 }, { "id": "0x4000", @@ -264,13 +227,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -278,7 +239,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -301,7 +261,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/signify-netherlands-b-v-ltb003.json b/tests/data/devices/signify-netherlands-b-v-ltb003.json index 75b62cadd..421e9bd27 100755 --- a/tests/data/devices/signify-netherlands-b-v-ltb003.json +++ b/tests/data/devices/signify-netherlands-b-v-ltb003.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -112,19 +101,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -167,7 +149,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -203,13 +184,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 200, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0000", @@ -227,25 +202,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 22642, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 22642 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 23318, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 23318 }, { "id": "0x4000", @@ -270,13 +233,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "philips_hue_light_cluster", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -284,7 +245,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -307,7 +267,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/signify-netherlands-b-v-lwa003.json b/tests/data/devices/signify-netherlands-b-v-lwa003.json index b836f0776..447265bce 100755 --- a/tests/data/devices/signify-netherlands-b-v-lwa003.json +++ b/tests/data/devices/signify-netherlands-b-v-lwa003.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,13 +143,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -175,7 +155,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -198,7 +177,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/signify-netherlands-b-v-rdm001.json b/tests/data/devices/signify-netherlands-b-v-rdm001.json index d45b8b492..56e08a7d3 100644 --- a/tests/data/devices/signify-netherlands-b-v-rdm001.json +++ b/tests/data/devices/signify-netherlands-b-v-rdm001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -75,19 +74,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -105,26 +97,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "philips_remote_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -132,31 +116,26 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/signify-netherlands-b-v-rdm002.json b/tests/data/devices/signify-netherlands-b-v-rdm002.json index 017a666dd..8ee140705 100644 --- a/tests/data/devices/signify-netherlands-b-v-rdm002.json +++ b/tests/data/devices/signify-netherlands-b-v-rdm002.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -99,32 +91,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 27, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 27 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "philips_remote_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -132,43 +115,36 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -181,7 +157,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/signify-netherlands-b-v-rdm004.json b/tests/data/devices/signify-netherlands-b-v-rdm004.json index 51bb37aee..60a44682d 100644 --- a/tests/data/devices/signify-netherlands-b-v-rdm004.json +++ b/tests/data/devices/signify-netherlands-b-v-rdm004.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -75,19 +74,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -105,26 +97,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 31 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "philips_remote_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -132,37 +116,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/signify-netherlands-b-v-rdm005.json b/tests/data/devices/signify-netherlands-b-v-rdm005.json index 3abf25a4c..cde5c4be9 100644 --- a/tests/data/devices/signify-netherlands-b-v-rdm005.json +++ b/tests/data/devices/signify-netherlands-b-v-rdm005.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -99,32 +91,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "philips_remote_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -132,31 +115,26 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -169,13 +147,11 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -188,7 +164,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/signify-netherlands-b-v-rwl022.json b/tests/data/devices/signify-netherlands-b-v-rwl022.json index a37bd47ea..26a15e2a2 100644 --- a/tests/data/devices/signify-netherlands-b-v-rwl022.json +++ b/tests/data/devices/signify-netherlands-b-v-rwl022.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 191, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 191 }, { "id": "0x0033", @@ -99,32 +91,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "philips_remote_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -132,43 +115,36 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -181,7 +157,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/signify-netherlands-b-v-sml003.json b/tests/data/devices/signify-netherlands-b-v-sml003.json index 83ac75075..71dbf94c7 100644 --- a/tests/data/devices/signify-netherlands-b-v-sml003.json +++ b/tests/data/devices/signify-netherlands-b-v-sml003.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 139, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 139 }, { "id": "0x0033", @@ -99,76 +91,48 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2081, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2081 } ] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0030", @@ -183,19 +147,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -214,7 +175,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/signify-netherlands-b-v-sml004.json b/tests/data/devices/signify-netherlands-b-v-sml004.json index b2a8e17a8..cc8cda62d 100644 --- a/tests/data/devices/signify-netherlands-b-v-sml004.json +++ b/tests/data/devices/signify-netherlands-b-v-sml004.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -99,76 +91,48 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 16181, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 16181 } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2587, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2587 } ] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0030", @@ -183,19 +147,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -214,7 +175,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/sinope-technologies-va4220zb.json b/tests/data/devices/sinope-technologies-va4220zb.json index f371bfd6d..dd7b7d8b9 100644 --- a/tests/data/devices/sinope-technologies-va4220zb.json +++ b/tests/data/devices/sinope-technologies-va4220zb.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -75,13 +73,7 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0033", @@ -99,50 +91,34 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -155,19 +131,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -210,7 +179,6 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -222,13 +190,7 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2910, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2910 }, { "id": "0x0001", @@ -253,26 +215,11 @@ { "cluster_id": "0x0404", "endpoint_attribute": "flow", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "measured_value", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -312,103 +259,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 1, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -426,13 +324,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0306", @@ -450,13 +342,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -475,13 +361,11 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff01", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -489,13 +373,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -508,7 +390,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/smarthjemmet-dk-quad-zig-sw.json b/tests/data/devices/smarthjemmet-dk-quad-zig-sw.json index 748e40c40..668882d51 100644 --- a/tests/data/devices/smarthjemmet-dk-quad-zig-sw.json +++ b/tests/data/devices/smarthjemmet-dk-quad-zig-sw.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -94,7 +92,6 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -102,19 +99,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -129,13 +123,11 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -151,13 +143,11 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -173,13 +163,11 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -195,13 +183,11 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/smarthjemmet-dk-quad-zig-sw2.json b/tests/data/devices/smarthjemmet-dk-quad-zig-sw2.json index dcb0919ff..5e8f971be 100644 --- a/tests/data/devices/smarthjemmet-dk-quad-zig-sw2.json +++ b/tests/data/devices/smarthjemmet-dk-quad-zig-sw2.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,20 +85,13 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 34, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 34 } ] }, { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -114,19 +99,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4003", @@ -139,7 +121,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -154,7 +135,6 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -162,7 +142,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -181,7 +160,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -203,7 +181,6 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -211,7 +188,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -230,7 +206,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -252,7 +227,6 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -260,7 +234,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -279,7 +252,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -301,7 +273,6 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -309,7 +280,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4003", @@ -322,7 +292,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", diff --git a/tests/data/devices/smartthings-multiv4.json b/tests/data/devices/smartthings-multiv4.json index 9f163df2b..bea5a16ab 100644 --- a/tests/data/devices/smartthings-multiv4.json +++ b/tests/data/devices/smartthings-multiv4.json @@ -44,26 +44,12 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0033", "name": "battery_quantity", @@ -80,45 +66,30 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 24, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 24 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -131,26 +102,18 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2352, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2352 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -190,55 +153,30 @@ { "cluster_id": "0xfc02", "endpoint_attribute": "accelerometer", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", "name": "acceleration", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0012", "name": "x_axis", "zcl_type": "int16", - "value": 110, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 110 }, { "id": "0x0013", "name": "y_axis", "zcl_type": "int16", - "value": -67, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": -67 }, { "id": "0x0014", "name": "z_axis", "zcl_type": "int16", - "value": -996, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": -996 } ] } @@ -247,7 +185,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/smartthings-tagv4.json b/tests/data/devices/smartthings-tagv4.json index 58044d652..4f5162d45 100644 --- a/tests/data/devices/smartthings-tagv4.json +++ b/tests/data/devices/smartthings-tagv4.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 138, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 138 }, { "id": "0x0033", @@ -93,45 +85,30 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 24, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 24 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -146,13 +123,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/smartwings-wm25-l-z.json b/tests/data/devices/smartwings-wm25-l-z.json index 45dda2604..889a6ce8d 100644 --- a/tests/data/devices/smartwings-wm25-l-z.json +++ b/tests/data/devices/smartwings-wm25-l-z.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -75,19 +74,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -111,26 +103,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -143,7 +127,6 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -180,7 +163,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -204,25 +186,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -273,13 +243,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/somfy-situo-4-zigbee.json b/tests/data/devices/somfy-situo-4-zigbee.json index afcc39217..cb6873594 100644 --- a/tests/data/devices/somfy-situo-4-zigbee.json +++ b/tests/data/devices/somfy-situo-4-zigbee.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -71,19 +69,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -102,7 +97,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [] } ] @@ -117,13 +111,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -131,19 +123,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -162,7 +151,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [] } ] @@ -177,13 +165,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -191,19 +177,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -222,7 +205,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [] } ] @@ -237,13 +219,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -251,19 +231,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -282,7 +259,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [] } ] @@ -297,25 +273,17 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 154, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 154 }, { "id": "0x0033", @@ -333,26 +301,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -360,13 +320,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/somfy-sonesse-28-wf-li-ion-roller.json b/tests/data/devices/somfy-sonesse-28-wf-li-ion-roller.json index 223f5d095..7b96dc427 100644 --- a/tests/data/devices/somfy-sonesse-28-wf-li-ion-roller.json +++ b/tests/data/devices/somfy-sonesse-28-wf-li-ion-roller.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -94,7 +89,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -106,25 +100,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 66, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 66 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -183,13 +165,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x003e", @@ -201,13 +181,7 @@ "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 40, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 40 }, { "id": "0x0033", @@ -225,20 +199,13 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -253,13 +220,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/somfy-ysia-5-hp-zigbee.json b/tests/data/devices/somfy-ysia-5-hp-zigbee.json index bb80987d4..fd9c5d086 100644 --- a/tests/data/devices/somfy-ysia-5-hp-zigbee.json +++ b/tests/data/devices/somfy-ysia-5-hp-zigbee.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0012", @@ -105,7 +104,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -113,13 +111,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -174,7 +170,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -193,7 +188,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -221,13 +215,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -235,19 +227,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -266,7 +255,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [] } ] @@ -281,13 +269,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -295,19 +281,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -326,7 +309,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [] } ] @@ -341,13 +323,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -355,19 +335,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -386,7 +363,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [] } ] @@ -401,13 +377,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -415,19 +389,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -446,7 +417,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [] } ] @@ -461,25 +431,17 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 184, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 184 }, { "id": "0x0033", @@ -497,26 +459,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -567,19 +521,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/sonoff-01minizb.json b/tests/data/devices/sonoff-01minizb.json index e005d4618..28bda0e60 100644 --- a/tests/data/devices/sonoff-01minizb.json +++ b/tests/data/devices/sonoff-01minizb.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,7 +95,6 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -114,7 +102,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -130,7 +117,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/sonoff-basiczbr3.json b/tests/data/devices/sonoff-basiczbr3.json index 9e7f3144c..3604ad0cf 100644 --- a/tests/data/devices/sonoff-basiczbr3.json +++ b/tests/data/devices/sonoff-basiczbr3.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -108,7 +97,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/sonoff-dongle-e-r.json b/tests/data/devices/sonoff-dongle-e-r.json index 84d2838ac..a3a6e4fed 100644 --- a/tests/data/devices/sonoff-dongle-e-r.json +++ b/tests/data/devices/sonoff-dongle-e-r.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 51, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 51 }, { "id": "0x0014", @@ -171,43 +153,32 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -220,19 +191,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 51, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 51 }, { "id": "0x0014", @@ -275,7 +239,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -311,37 +274,19 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 17476, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 17476 }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 24939, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 24939 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 24701, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 24701 }, { "id": "0x000f", @@ -360,7 +305,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -377,7 +321,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/sonoff-mini-zbrbs.json b/tests/data/devices/sonoff-mini-zbrbs.json index d591edb28..8b6b29f5a 100644 --- a/tests/data/devices/sonoff-mini-zbrbs.json +++ b/tests/data/devices/sonoff-mini-zbrbs.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -94,7 +89,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -118,25 +112,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -185,7 +167,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0116", @@ -198,13 +179,11 @@ { "cluster_id": "0xfc11", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -212,13 +191,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -247,7 +224,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/sonoff-s26r2zb.json b/tests/data/devices/sonoff-s26r2zb.json index 59ca50462..31d419c53 100644 --- a/tests/data/devices/sonoff-s26r2zb.json +++ b/tests/data/devices/sonoff-s26r2zb.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,7 +95,6 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -114,7 +102,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -136,7 +123,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -144,7 +130,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -160,7 +145,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/sonoff-s31-lite-zb.json b/tests/data/devices/sonoff-s31-lite-zb.json index 53d96a422..220fe62a3 100644 --- a/tests/data/devices/sonoff-s31-lite-zb.json +++ b/tests/data/devices/sonoff-s31-lite-zb.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -108,7 +97,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/sonoff-s60zbtpg.json b/tests/data/devices/sonoff-s60zbtpg.json index bd08bb36f..bd5e21d88 100644 --- a/tests/data/devices/sonoff-s60zbtpg.json +++ b/tests/data/devices/sonoff-s60zbtpg.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,103 +95,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 70, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 70 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -220,13 +160,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -244,13 +178,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -269,43 +197,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -329,61 +238,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 11, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 11 }, { "id": "0x050d", @@ -407,145 +286,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -557,13 +310,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -587,25 +334,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 8, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 8 }, { "id": "0x050a", @@ -629,37 +364,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 23903, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 23903 }, { "id": "0x0507", @@ -683,56 +400,35 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc11", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -740,13 +436,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -769,7 +463,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/sonoff-snzb-02d.json b/tests/data/devices/sonoff-snzb-02d.json index bfceec5ab..65d3349f4 100644 --- a/tests/data/devices/sonoff-snzb-02d.json +++ b/tests/data/devices/sonoff-snzb-02d.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 126, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 126 }, { "id": "0x0033", @@ -99,26 +91,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -131,45 +115,30 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2200, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2200 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5330, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 5330 } ] }, { "cluster_id": "0xfc11", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -182,7 +151,6 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -190,7 +158,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/sonoff-snzb-05p.json b/tests/data/devices/sonoff-snzb-05p.json index fedfdfba2..25d23ced3 100644 --- a/tests/data/devices/sonoff-snzb-05p.json +++ b/tests/data/devices/sonoff-snzb-05p.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 31 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -125,7 +109,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -165,7 +148,6 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -173,13 +155,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/sonoff-snzb-06p.json b/tests/data/devices/sonoff-snzb-06p.json index b7c969020..95cc11d95 100644 --- a/tests/data/devices/sonoff-snzb-06p.json +++ b/tests/data/devices/sonoff-snzb-06p.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,17 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0020", @@ -100,7 +91,6 @@ { "cluster_id": "0xfc11", "endpoint_attribute": "sonoff_manufacturer", - "bind": "SUCCESS", "attributes": [ { "id": "0x2001", @@ -113,7 +103,6 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -121,13 +110,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/sonoff-swv.json b/tests/data/devices/sonoff-swv.json index f95c964f5..4d798b766 100644 --- a/tests/data/devices/sonoff-swv.json +++ b/tests/data/devices/sonoff-swv.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -111,19 +110,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -141,13 +133,7 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 63, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 63 }, { "id": "0xfffd", @@ -160,7 +146,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -179,7 +164,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -191,13 +175,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -210,7 +188,6 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -247,7 +224,6 @@ { "cluster_id": "0x0404", "endpoint_attribute": "flow", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -265,13 +241,7 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", @@ -284,7 +254,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x011b", @@ -315,26 +284,11 @@ { "cluster_id": "0xfc11", "endpoint_attribute": null, - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x500c", - "name": "water_valve_state", - "zcl_type": "enum8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -342,7 +296,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -355,7 +308,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", diff --git a/tests/data/devices/sonoff-trvzb.json b/tests/data/devices/sonoff-trvzb.json index a1d095187..c69128663 100644 --- a/tests/data/devices/sonoff-trvzb.json +++ b/tests/data/devices/sonoff-trvzb.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,38 +85,24 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -137,7 +115,6 @@ { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -150,7 +127,6 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -186,13 +162,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 1860, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1860 }, { "id": "0x0010", @@ -228,85 +198,43 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "value": 1, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1950, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1950 }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 1, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0030", @@ -318,44 +246,25 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xfc11", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -398,7 +307,6 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -406,13 +314,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/sonoff-zbmicro.json b/tests/data/devices/sonoff-zbmicro.json index ee5b6de02..024eca25c 100644 --- a/tests/data/devices/sonoff-zbmicro.json +++ b/tests/data/devices/sonoff-zbmicro.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,17 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -94,13 +85,11 @@ { "cluster_id": "0xfc11", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -108,13 +97,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -137,7 +124,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/sonoff-zbminil2.json b/tests/data/devices/sonoff-zbminil2.json index bd8e7948a..db32f87ca 100644 --- a/tests/data/devices/sonoff-zbminil2.json +++ b/tests/data/devices/sonoff-zbminil2.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -93,38 +85,24 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -137,19 +115,16 @@ { "cluster_id": "0x0007", "endpoint_attribute": "on_off_config", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -157,7 +132,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/sonoff-zbminir2.json b/tests/data/devices/sonoff-zbminir2.json index de3518bee..cebd6856f 100644 --- a/tests/data/devices/sonoff-zbminir2.json +++ b/tests/data/devices/sonoff-zbminir2.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -87,31 +86,22 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0xfffe", @@ -130,13 +120,11 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc11", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [ { "id": "0x0017", @@ -161,7 +149,6 @@ { "cluster_id": "0xfc57", "endpoint_attribute": "works_with_all_hubs", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -169,13 +156,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -224,7 +209,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -247,7 +231,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/sunricher-hk-dim.json b/tests/data/devices/sunricher-hk-dim.json index 483fb5d7c..62ceb22fb 100644 --- a/tests/data/devices/sunricher-hk-dim.json +++ b/tests/data/devices/sunricher-hk-dim.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -138,13 +137,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -163,7 +160,6 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -188,7 +184,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -212,13 +207,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -243,19 +232,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 70, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 70 }, { "id": "0x0014", @@ -298,7 +280,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0116", @@ -329,7 +310,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -337,19 +317,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -368,7 +345,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -417,13 +393,11 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -436,7 +410,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -451,19 +424,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -475,13 +445,7 @@ "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0001", @@ -564,7 +528,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x4000", @@ -577,25 +540,17 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 25944, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 25944 }, { "id": "0xfffe", @@ -618,7 +573,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -626,7 +580,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/sunricher-hk-ln-dim-a.json b/tests/data/devices/sunricher-hk-ln-dim-a.json index cae9ae56e..fb6c6a70c 100644 --- a/tests/data/devices/sunricher-hk-ln-dim-a.json +++ b/tests/data/devices/sunricher-hk-ln-dim-a.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,7 +95,6 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -124,13 +112,7 @@ "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 184, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 184 }, { "id": "0x0014", @@ -179,13 +161,11 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -193,7 +173,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -215,7 +194,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -223,7 +201,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/sunricher-on-off-2ch.json b/tests/data/devices/sunricher-on-off-2ch.json index a7b111dfc..14d33934f 100644 --- a/tests/data/devices/sunricher-on-off-2ch.json +++ b/tests/data/devices/sunricher-on-off-2ch.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -116,43 +105,32 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -175,109 +153,59 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 13195425, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 13195425 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -295,13 +223,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -319,13 +241,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -344,7 +260,6 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0803", @@ -356,37 +271,19 @@ "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -410,61 +307,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -488,145 +355,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -638,13 +379,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "value": 10000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10000 }, { "id": "0x0510", @@ -668,25 +403,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -710,37 +433,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 2292, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2292 }, { "id": "0x0507", @@ -764,50 +469,30 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -815,7 +500,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -873,7 +557,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -881,7 +564,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/texas-instruments-cc2652.json b/tests/data/devices/texas-instruments-cc2652.json index fa6798e42..672d0a3ed 100644 --- a/tests/data/devices/texas-instruments-cc2652.json +++ b/tests/data/devices/texas-instruments-cc2652.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0501", "endpoint_attribute": "ias_ace", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -89,25 +84,21 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -122,7 +113,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/texas-instruments-coordinator.json b/tests/data/devices/texas-instruments-coordinator.json index d8c930db6..ced7e6826 100644 --- a/tests/data/devices/texas-instruments-coordinator.json +++ b/tests/data/devices/texas-instruments-coordinator.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0501", "endpoint_attribute": "ias_ace", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -89,25 +84,21 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -122,7 +113,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/texasinstruments-ti-router.json b/tests/data/devices/texasinstruments-ti-router.json index dd04bbe83..c79a343c1 100644 --- a/tests/data/devices/texasinstruments-ti-router.json +++ b/tests/data/devices/texasinstruments-ti-router.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,7 +68,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -77,7 +75,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -93,7 +90,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/the-home-depot-ecosmart-zbt-a19-cct-bulb.json b/tests/data/devices/the-home-depot-ecosmart-zbt-a19-cct-bulb.json index 8297f81e4..e0eb5e47b 100644 --- a/tests/data/devices/the-home-depot-ecosmart-zbt-a19-cct-bulb.json +++ b/tests/data/devices/the-home-depot-ecosmart-zbt-a19-cct-bulb.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -81,37 +80,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -124,7 +113,6 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -136,13 +124,7 @@ "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -185,7 +167,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -221,13 +202,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 370, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 370 }, { "id": "0x0000", @@ -245,25 +220,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 21626, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 21626 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 21626, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 21626 }, { "id": "0x4000", @@ -288,19 +251,16 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc82", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -308,13 +268,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -337,7 +295,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/third-reality-inc-3rds17bz.json b/tests/data/devices/third-reality-inc-3rds17bz.json index 9aa2abbcb..ef0f24081 100644 --- a/tests/data/devices/third-reality-inc-3rds17bz.json +++ b/tests/data/devices/third-reality-inc-3rds17bz.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 150, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 150 }, { "id": "0x0033", @@ -93,20 +85,13 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -146,7 +131,6 @@ { "cluster_id": "0xff01", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -154,7 +138,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/third-reality-inc-3rms16bz.json b/tests/data/devices/third-reality-inc-3rms16bz.json index 7671ab7f8..93cc0a3cd 100644 --- a/tests/data/devices/third-reality-inc-3rms16bz.json +++ b/tests/data/devices/third-reality-inc-3rms16bz.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0008", @@ -75,19 +74,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 101, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 101 }, { "id": "0x0033", @@ -105,20 +97,13 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 26, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 26 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -158,7 +143,6 @@ { "cluster_id": "0xff01", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -173,7 +157,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/third-reality-inc-3rsb015bz.json b/tests/data/devices/third-reality-inc-3rsb015bz.json index 63a975b84..0ec380b5b 100644 --- a/tests/data/devices/third-reality-inc-3rsb015bz.json +++ b/tests/data/devices/third-reality-inc-3rsb015bz.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -87,19 +86,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 116, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 116 }, { "id": "0x0033", @@ -117,32 +109,19 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 53, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 53 } ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -155,7 +134,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -179,13 +157,7 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 67, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 67 }, { "id": "0x0004", @@ -197,13 +169,7 @@ "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -246,7 +212,6 @@ { "cluster_id": "0xfff1", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -254,7 +219,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -267,7 +231,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -280,7 +243,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", diff --git a/tests/data/devices/third-reality-inc-3rsb22bz.json b/tests/data/devices/third-reality-inc-3rsb22bz.json index b4b07b9dd..ea0ae57c2 100644 --- a/tests/data/devices/third-reality-inc-3rsb22bz.json +++ b/tests/data/devices/third-reality-inc-3rsb22bz.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,38 +68,24 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 135, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 135 }, { "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29 } ] }, { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -113,7 +98,6 @@ { "cluster_id": "0xff01", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -121,19 +105,16 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/third-reality-inc-3rsm0147z.json b/tests/data/devices/third-reality-inc-3rsm0147z.json index 98bcf866d..743a64b29 100644 --- a/tests/data/devices/third-reality-inc-3rsm0147z.json +++ b/tests/data/devices/third-reality-inc-3rsm0147z.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -99,58 +91,37 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 15, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 15 } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2230, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2230 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 3121, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 3121 } ] }, { "cluster_id": "0xff01", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -158,7 +129,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/third-reality-inc-3rsnl02043z.json b/tests/data/devices/third-reality-inc-3rsnl02043z.json index 847359188..f9e8dc4b9 100644 --- a/tests/data/devices/third-reality-inc-3rsnl02043z.json +++ b/tests/data/devices/third-reality-inc-3rsnl02043z.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,13 +143,11 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -203,13 +183,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 65535, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 65535 }, { "id": "0x0000", @@ -227,25 +201,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 20119, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 20119 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 40238, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 40238 }, { "id": "0x4000", @@ -270,26 +232,18 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 26740, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 26740 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -320,13 +274,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -334,7 +286,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/third-reality-inc-3rsp019bz.json b/tests/data/devices/third-reality-inc-3rsp019bz.json index 56938ba9d..784e6eea6 100644 --- a/tests/data/devices/third-reality-inc-3rsp019bz.json +++ b/tests/data/devices/third-reality-inc-3rsp019bz.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -112,43 +101,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -172,61 +142,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050d", @@ -234,149 +174,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -388,13 +190,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -406,25 +202,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050a", @@ -432,90 +216,23 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -523,7 +240,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -546,7 +262,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/third-reality-inc-3rsp02028bz.json b/tests/data/devices/third-reality-inc-3rsp02028bz.json index 7c3315138..d2a6145a6 100644 --- a/tests/data/devices/third-reality-inc-3rsp02028bz.json +++ b/tests/data/devices/third-reality-inc-3rsp02028bz.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,43 +95,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 60, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 60 }, { "id": "0x0401", @@ -166,61 +136,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -244,145 +184,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -394,13 +208,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -424,25 +232,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -466,37 +262,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 1245, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1245 }, { "id": "0x0507", @@ -520,50 +298,24 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff03", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -571,7 +323,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -594,7 +345,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/third-reality-inc-3rss007z.json b/tests/data/devices/third-reality-inc-3rss007z.json index c4c67a061..f6156da73 100644 --- a/tests/data/devices/third-reality-inc-3rss007z.json +++ b/tests/data/devices/third-reality-inc-3rss007z.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,7 +95,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/third-reality-inc-3rss009z.json b/tests/data/devices/third-reality-inc-3rss009z.json index d5934975e..f1fe4a212 100644 --- a/tests/data/devices/third-reality-inc-3rss009z.json +++ b/tests/data/devices/third-reality-inc-3rss009z.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 112, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 112 }, { "id": "0x0033", @@ -99,32 +91,19 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -137,13 +116,11 @@ { "cluster_id": "0xff00", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xff02", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -151,13 +128,11 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/third-reality-inc-3rths24bz.json b/tests/data/devices/third-reality-inc-3rths24bz.json index 28e410229..fbadb8c43 100644 --- a/tests/data/devices/third-reality-inc-3rths24bz.json +++ b/tests/data/devices/third-reality-inc-3rths24bz.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 84, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 84 }, { "id": "0x0033", @@ -99,58 +91,37 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 25, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 25 } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2640, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2640 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5600, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 5600 } ] }, { "cluster_id": "0xff01", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -158,7 +129,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/third-reality-inc-3rvs01031z.json b/tests/data/devices/third-reality-inc-3rvs01031z.json index cd7261860..1eb1105b0 100644 --- a/tests/data/devices/third-reality-inc-3rvs01031z.json +++ b/tests/data/devices/third-reality-inc-3rvs01031z.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 167, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 167 }, { "id": "0x0033", @@ -99,20 +91,13 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 31 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -152,7 +137,6 @@ { "cluster_id": "0xfff1", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -179,7 +163,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/third-reality-inc-3rws18bz.json b/tests/data/devices/third-reality-inc-3rws18bz.json index 96eadc977..a04c64adc 100644 --- a/tests/data/devices/third-reality-inc-3rws18bz.json +++ b/tests/data/devices/third-reality-inc-3rws18bz.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -87,19 +86,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 104, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 104 }, { "id": "0x0033", @@ -117,20 +109,13 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 26, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 26 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -170,7 +155,6 @@ { "cluster_id": "0xff01", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -178,7 +162,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -197,7 +180,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tubeszb-tubeszb-router.json b/tests/data/devices/tubeszb-tubeszb-router.json index 4441d07a6..37058ba8f 100644 --- a/tests/data/devices/tubeszb-tubeszb-router.json +++ b/tests/data/devices/tubeszb-tubeszb-router.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -99,7 +98,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -107,7 +105,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -123,7 +120,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tuyatec-gqhxixyk-rh3052.json b/tests/data/devices/tuyatec-gqhxixyk-rh3052.json index 5450cc65c..c53c1bc53 100644 --- a/tests/data/devices/tuyatec-gqhxixyk-rh3052.json +++ b/tests/data/devices/tuyatec-gqhxixyk-rh3052.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -99,57 +91,36 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2589, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2589 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4304, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 4304 } ] } @@ -158,19 +129,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tuyatec-r9hgssol-rh3001.json b/tests/data/devices/tuyatec-r9hgssol-rh3001.json index c15c100cb..fff5b87e7 100644 --- a/tests/data/devices/tuyatec-r9hgssol-rh3001.json +++ b/tests/data/devices/tuyatec-r9hgssol-rh3001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -75,19 +74,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -105,26 +97,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -166,7 +150,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tuyatec-rkqiqvcs-rh3001.json b/tests/data/devices/tuyatec-rkqiqvcs-rh3001.json index 91883f4be..a156b728b 100644 --- a/tests/data/devices/tuyatec-rkqiqvcs-rh3001.json +++ b/tests/data/devices/tuyatec-rkqiqvcs-rh3001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 98, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 98 }, { "id": "0x0033", @@ -99,26 +91,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 26, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 26 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -172,7 +156,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tuyatec-yg5dcbfu-rh3052.json b/tests/data/devices/tuyatec-yg5dcbfu-rh3052.json index 57840cb6c..afead449d 100644 --- a/tests/data/devices/tuyatec-yg5dcbfu-rh3052.json +++ b/tests/data/devices/tuyatec-yg5dcbfu-rh3052.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -81,19 +80,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 152, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 152 }, { "id": "0x0033", @@ -111,57 +103,36 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2030, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2030 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 6285, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 6285 } ] } @@ -170,19 +141,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tyst11-czk78ptr-zk78ptr.json b/tests/data/devices/tyst11-czk78ptr-zk78ptr.json index fc58c74e4..a98833a2e 100644 --- a/tests/data/devices/tyst11-czk78ptr-zk78ptr.json +++ b/tests/data/devices/tyst11-czk78ptr-zk78ptr.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,20 +68,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0033", "name": "battery_quantity", @@ -100,31 +86,17 @@ "name": "battery_size", "zcl_type": "enum8", "value": 3 - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x001b", @@ -136,73 +108,19 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 1760, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1760 }, { "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "value": 1, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0011", - "name": "occupied_cooling_setpoint", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1350, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, - { - "id": "0x0007", - "name": "pi_cooling_demand", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } - }, - { - "id": "0x0008", - "name": "pi_heating_demand", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "value": 1350 }, { "id": "0x0025", @@ -214,68 +132,31 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 1, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0013", - "name": "unoccupied_cooling_setpoint", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "value": 1650, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1650 } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -288,7 +169,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -296,13 +176,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tyst11-i5j6ifxj-5j6ifxj.json b/tests/data/devices/tyst11-i5j6ifxj-5j6ifxj.json index c8fbeadbd..845c60473 100644 --- a/tests/data/devices/tyst11-i5j6ifxj-5j6ifxj.json +++ b/tests/data/devices/tyst11-i5j6ifxj-5j6ifxj.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -75,13 +74,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0010", @@ -112,7 +109,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -120,13 +116,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tyzb01-1xktopx6-ts0041a.json b/tests/data/devices/tyzb01-1xktopx6-ts0041a.json index c41d1cd7c..d9c04fdde 100644 --- a/tests/data/devices/tyzb01-1xktopx6-ts0041a.json +++ b/tests/data/devices/tyzb01-1xktopx6-ts0041a.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,53 +85,30 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [ { "cluster_id": "0x0006", "endpoint_attribute": "TS004X_cluster", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tyzb01-8scntis1-ts0216.json b/tests/data/devices/tyzb01-8scntis1-ts0216.json index 1f03e5a2b..dffdddeeb 100644 --- a/tests/data/devices/tyzb01-8scntis1-ts0216.json +++ b/tests/data/devices/tyzb01-8scntis1-ts0216.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,13 +85,7 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 42, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 42 }, { "id": "0x0000", @@ -118,13 +104,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -164,13 +148,11 @@ { "cluster_id": "0x0502", "endpoint_attribute": "ias_wd", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -178,13 +160,11 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -200,7 +180,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tyzb01-mtunwanm-ts011f.json b/tests/data/devices/tyzb01-mtunwanm-ts011f.json index 3c9deee42..1a8033aaf 100644 --- a/tests/data/devices/tyzb01-mtunwanm-ts011f.json +++ b/tests/data/devices/tyzb01-mtunwanm-ts011f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -75,19 +74,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -99,13 +95,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -130,7 +120,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -138,7 +127,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tyzb01-o63ssaah-ts0207.json b/tests/data/devices/tyzb01-o63ssaah-ts0207.json index ae1da616a..92cca64c8 100644 --- a/tests/data/devices/tyzb01-o63ssaah-ts0207.json +++ b/tests/data/devices/tyzb01-o63ssaah-ts0207.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -81,19 +80,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -111,26 +103,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -170,7 +154,6 @@ { "cluster_id": "0xef01", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -178,13 +161,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tyzb01-qm6djpta-ts0215.json b/tests/data/devices/tyzb01-qm6djpta-ts0215.json index 04f340fc2..57b003069 100644 --- a/tests/data/devices/tyzb01-qm6djpta-ts0215.json +++ b/tests/data/devices/tyzb01-qm6djpta-ts0215.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,32 +85,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -158,7 +141,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x011d", @@ -173,13 +155,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -192,7 +172,6 @@ { "cluster_id": "0x0501", "endpoint_attribute": "ias_ace", - "bind": "SUCCESS", "attributes": [] } ] diff --git a/tests/data/devices/tyzb01-rifa0wlb-ts0011.json b/tests/data/devices/tyzb01-rifa0wlb-ts0011.json index dd75ea8b1..521ddd37a 100755 --- a/tests/data/devices/tyzb01-rifa0wlb-ts0011.json +++ b/tests/data/devices/tyzb01-rifa0wlb-ts0011.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -111,19 +110,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -135,13 +131,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -162,7 +152,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tyzb01-vkwryfdr-ts0115.json b/tests/data/devices/tyzb01-vkwryfdr-ts0115.json index dce4c1e8e..c5e2f207e 100644 --- a/tests/data/devices/tyzb01-vkwryfdr-ts0115.json +++ b/tests/data/devices/tyzb01-vkwryfdr-ts0115.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,31 +68,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,7 +96,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -114,7 +103,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -136,31 +124,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -183,31 +162,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -230,31 +200,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -277,31 +238,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", diff --git a/tests/data/devices/tyzb01-zanh6v1o-ts0121.json b/tests/data/devices/tyzb01-zanh6v1o-ts0121.json index 46365f795..af8e2fdc7 100644 --- a/tests/data/devices/tyzb01-zanh6v1o-ts0121.json +++ b/tests/data/devices/tyzb01-zanh6v1o-ts0121.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -99,13 +94,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", @@ -124,103 +113,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 22568, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 22568 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -238,13 +178,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -262,13 +196,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -287,43 +215,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -347,61 +256,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 1, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050d", @@ -409,149 +288,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -563,13 +304,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -581,25 +316,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 8, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 8 }, { "id": "0x050a", @@ -607,83 +330,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 123, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 123 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -692,7 +349,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz2000-k4yr34vv-sm0301.json b/tests/data/devices/tz2000-k4yr34vv-sm0301.json index a1e7ff681..0fc1ba6ff 100644 --- a/tests/data/devices/tz2000-k4yr34vv-sm0301.json +++ b/tests/data/devices/tz2000-k4yr34vv-sm0301.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -112,19 +101,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -191,7 +173,6 @@ { "cluster_id": "0x0100", "endpoint_attribute": "shade", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -228,13 +209,11 @@ { "cluster_id": "0xfc55", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc56", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -242,13 +221,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -264,7 +241,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-09gto2zn-ts0013.json b/tests/data/devices/tz3000-09gto2zn-ts0013.json index 264c484a0..a61b050ca 100644 --- a/tests/data/devices/tz3000-09gto2zn-ts0013.json +++ b/tests/data/devices/tz3000-09gto2zn-ts0013.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,25 +86,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -117,13 +112,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -138,7 +127,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -153,19 +141,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -177,13 +162,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -206,19 +185,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -230,13 +206,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", diff --git a/tests/data/devices/tz3000-1dd0d5yi-ts130f.json b/tests/data/devices/tz3000-1dd0d5yi-ts130f.json index 88b46bff5..3fc115b8c 100644 --- a/tests/data/devices/tz3000-1dd0d5yi-ts130f.json +++ b/tests/data/devices/tz3000-1dd0d5yi-ts130f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -129,13 +128,11 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -154,7 +151,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -166,13 +162,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0xfffe", @@ -191,7 +181,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -227,25 +216,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -314,7 +291,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -339,7 +315,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-1o6x1bl0-ts0201.json b/tests/data/devices/tz3000-1o6x1bl0-ts0201.json index 6027e5c69..428a42d3c 100644 --- a/tests/data/devices/tz3000-1o6x1bl0-ts0201.json +++ b/tests/data/devices/tz3000-1o6x1bl0-ts0201.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -99,45 +91,30 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 21, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 21 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2228, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2228 } ] }, { "cluster_id": "0xe002", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -145,19 +122,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-2putqrmw-ts011f.json b/tests/data/devices/tz3000-2putqrmw-ts011f.json index 1d6393c0b..064e9d539 100644 --- a/tests/data/devices/tz3000-2putqrmw-ts011f.json +++ b/tests/data/devices/tz3000-2putqrmw-ts011f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,25 +86,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -117,13 +112,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", @@ -142,103 +131,48 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 516, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0001", - "name": "current_summ_received", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 516 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -256,13 +190,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -280,13 +208,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -305,43 +227,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -365,61 +268,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -427,149 +300,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -581,37 +316,19 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -619,96 +336,28 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 233, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 233 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -716,13 +365,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-2xlvlnez-ts011f.json b/tests/data/devices/tz3000-2xlvlnez-ts011f.json index 8dd30f271..8366fcae2 100644 --- a/tests/data/devices/tz3000-2xlvlnez-ts011f.json +++ b/tests/data/devices/tz3000-2xlvlnez-ts011f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -112,103 +101,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -226,13 +166,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -250,13 +184,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -275,43 +203,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -335,61 +244,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -413,145 +292,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -563,13 +316,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -593,25 +340,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -635,37 +370,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0507", @@ -689,44 +406,25 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -742,43 +440,32 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -791,7 +478,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/tz3000-303avxxt-ts011f.json b/tests/data/devices/tz3000-303avxxt-ts011f.json index 8329bbc98..4205c6854 100644 --- a/tests/data/devices/tz3000-303avxxt-ts011f.json +++ b/tests/data/devices/tz3000-303avxxt-ts011f.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -89,25 +88,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -131,13 +126,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -162,103 +151,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -276,13 +216,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -300,13 +234,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -325,43 +253,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -385,61 +294,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -447,149 +326,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -601,13 +342,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -619,25 +354,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -645,96 +368,28 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 247, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 247 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -749,13 +404,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-3ias4w4o-ts011f.json b/tests/data/devices/tz3000-3ias4w4o-ts011f.json index 403b67f24..849ad9925 100644 --- a/tests/data/devices/tz3000-3ias4w4o-ts011f.json +++ b/tests/data/devices/tz3000-3ias4w4o-ts011f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,25 +86,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -117,13 +112,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", @@ -142,103 +131,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 29579, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 29579 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -256,13 +196,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -280,13 +214,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -305,43 +233,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -365,61 +274,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 2231, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2231 }, { "id": "0x050d", @@ -443,145 +322,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -593,13 +346,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -623,25 +370,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 9587, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 9587 }, { "id": "0x050a", @@ -665,37 +400,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 233, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 233 }, { "id": "0x0507", @@ -719,50 +436,24 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -770,13 +461,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-5e235jpa-ts0042.json b/tests/data/devices/tz3000-5e235jpa-ts0042.json index 83c5afc36..f52637ef7 100644 --- a/tests/data/devices/tz3000-5e235jpa-ts0042.json +++ b/tests/data/devices/tz3000-5e235jpa-ts0042.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,47 +85,25 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -148,52 +118,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] diff --git a/tests/data/devices/tz3000-5fkufhn1-ts0502a.json b/tests/data/devices/tz3000-5fkufhn1-ts0502a.json index 4ce76d85d..64d3610d5 100644 --- a/tests/data/devices/tz3000-5fkufhn1-ts0502a.json +++ b/tests/data/devices/tz3000-5fkufhn1-ts0502a.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,13 +178,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 193, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 193 }, { "id": "0x0000", @@ -221,25 +196,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 45874, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 45874 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 19660, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 19660 }, { "id": "0x4000", @@ -264,7 +227,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -272,13 +234,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -294,7 +254,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-5ity3zyu-ts0121.json b/tests/data/devices/tz3000-5ity3zyu-ts0121.json index eeaf4d775..6e82f328d 100644 --- a/tests/data/devices/tz3000-5ity3zyu-ts0121.json +++ b/tests/data/devices/tz3000-5ity3zyu-ts0121.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,103 +95,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -220,13 +160,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -244,13 +178,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -269,43 +197,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -329,61 +238,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -391,149 +270,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -545,13 +286,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -563,25 +298,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -589,90 +312,23 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 233, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 233 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -680,13 +336,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-6l1pjfqe-ts011f.json b/tests/data/devices/tz3000-6l1pjfqe-ts011f.json index 71c5a34d1..ce24e413a 100644 --- a/tests/data/devices/tz3000-6l1pjfqe-ts011f.json +++ b/tests/data/devices/tz3000-6l1pjfqe-ts011f.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0010", @@ -83,25 +82,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -113,13 +108,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", @@ -138,103 +127,48 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 23, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0001", - "name": "current_summ_received", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 23 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -252,13 +186,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -276,13 +204,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -301,7 +223,6 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0800", @@ -313,25 +234,13 @@ "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0802", @@ -343,13 +252,7 @@ "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -373,49 +276,25 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0801", @@ -427,13 +306,7 @@ "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 450, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 450 }, { "id": "0x050d", @@ -441,149 +314,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -595,13 +330,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -613,25 +342,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 3831, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 3831 }, { "id": "0x050a", @@ -639,41 +356,11 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 117, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 117 }, { "id": "0x0507", @@ -681,54 +368,22 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -736,13 +391,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -758,7 +411,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-8nkb7mof-ts0121.json b/tests/data/devices/tz3000-8nkb7mof-ts0121.json index 0c385adc3..014690358 100644 --- a/tests/data/devices/tz3000-8nkb7mof-ts0121.json +++ b/tests/data/devices/tz3000-8nkb7mof-ts0121.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -65,25 +64,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -101,13 +96,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x8002", @@ -126,103 +115,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 119695, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 119695 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -240,13 +180,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -264,13 +198,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -289,43 +217,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -349,61 +258,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 152, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 152 }, { "id": "0x050d", @@ -411,149 +290,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -565,13 +306,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -583,25 +318,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 709, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 709 }, { "id": "0x050a", @@ -609,96 +332,28 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 249, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 249 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -706,13 +361,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -735,7 +388,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-8nyaanzb-ts011f.json b/tests/data/devices/tz3000-8nyaanzb-ts011f.json index 9b1d7872a..c410000eb 100644 --- a/tests/data/devices/tz3000-8nyaanzb-ts011f.json +++ b/tests/data/devices/tz3000-8nyaanzb-ts011f.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -65,25 +64,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -95,13 +90,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -120,13 +109,11 @@ { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -134,13 +121,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -155,19 +140,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -179,13 +161,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -204,7 +180,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -221,7 +196,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-8yhypbo7-ts0203.json b/tests/data/devices/tz3000-8yhypbo7-ts0203.json index 3f8027074..13bedb8b1 100644 --- a/tests/data/devices/tz3000-8yhypbo7-ts0203.json +++ b/tests/data/devices/tz3000-8yhypbo7-ts0203.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 134, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 134 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -154,49 +138,41 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-a37eix1s-ts0004.json b/tests/data/devices/tz3000-a37eix1s-ts0004.json index 0344aa573..18ce0ac73 100644 --- a/tests/data/devices/tz3000-a37eix1s-ts0004.json +++ b/tests/data/devices/tz3000-a37eix1s-ts0004.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -65,50 +64,38 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -116,13 +103,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -137,50 +122,38 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -196,50 +169,38 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -255,50 +216,38 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -315,7 +264,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-a9buwvb7-ts0726.json b/tests/data/devices/tz3000-a9buwvb7-ts0726.json index 589934128..f529abda3 100644 --- a/tests/data/devices/tz3000-a9buwvb7-ts0726.json +++ b/tests/data/devices/tz3000-a9buwvb7-ts0726.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -93,13 +88,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -118,13 +107,11 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -132,13 +119,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -153,25 +138,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -183,13 +164,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -208,13 +183,11 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -230,25 +203,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -260,13 +229,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -285,13 +248,11 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -307,25 +268,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -337,13 +294,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -362,13 +313,11 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -384,25 +333,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -414,13 +359,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -439,13 +378,11 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -461,25 +398,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -491,13 +424,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -516,13 +443,11 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/tz3000-adkvzooy-ts0042.json b/tests/data/devices/tz3000-adkvzooy-ts0042.json index a66d9ff58..7b28ca869 100644 --- a/tests/data/devices/tz3000-adkvzooy-ts0042.json +++ b/tests/data/devices/tz3000-adkvzooy-ts0042.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,65 +62,23 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -136,52 +93,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] diff --git a/tests/data/devices/tz3000-aghwaexm-ts0001.json b/tests/data/devices/tz3000-aghwaexm-ts0001.json index a135776dd..e8af227c6 100644 --- a/tests/data/devices/tz3000-aghwaexm-ts0001.json +++ b/tests/data/devices/tz3000-aghwaexm-ts0001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -112,7 +101,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -120,7 +108,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-bgsigers-ts0201.json b/tests/data/devices/tz3000-bgsigers-ts0201.json index 0bd685b4d..cd38d0787 100644 --- a/tests/data/devices/tz3000-bgsigers-ts0201.json +++ b/tests/data/devices/tz3000-bgsigers-ts0201.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,57 +85,36 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 31, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 31 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2820, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2820 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 3100, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 3100 } ] } @@ -152,19 +123,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-bguser20-ts0201.json b/tests/data/devices/tz3000-bguser20-ts0201.json index 0783bbdb9..8998241b8 100644 --- a/tests/data/devices/tz3000-bguser20-ts0201.json +++ b/tests/data/devices/tz3000-bguser20-ts0201.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 2, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 2 }, { "id": "0x0033", @@ -93,57 +85,36 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 26, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 26 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": -1824, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": -1824 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4987, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 4987 } ] } @@ -152,19 +123,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-bjawzodf-ty0201.json b/tests/data/devices/tz3000-bjawzodf-ty0201.json index 982437266..37b341f08 100644 --- a/tests/data/devices/tz3000-bjawzodf-ty0201.json +++ b/tests/data/devices/tz3000-bjawzodf-ty0201.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -94,13 +92,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -113,7 +109,6 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -128,7 +123,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-cehuw1lw-ts011f.json b/tests/data/devices/tz3000-cehuw1lw-ts011f.json index e87faf92a..3f7a3f53e 100644 --- a/tests/data/devices/tz3000-cehuw1lw-ts011f.json +++ b/tests/data/devices/tz3000-cehuw1lw-ts011f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,25 +86,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -117,13 +112,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -142,103 +131,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 198, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 198 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -256,13 +196,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -280,13 +214,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -305,43 +233,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -365,61 +274,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -427,149 +306,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -581,13 +322,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -599,25 +334,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -625,96 +348,28 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 231, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 231 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -722,13 +377,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-cfnprab5-ts011f.json b/tests/data/devices/tz3000-cfnprab5-ts011f.json index 9ba669bd8..abfad584c 100644 --- a/tests/data/devices/tz3000-cfnprab5-ts011f.json +++ b/tests/data/devices/tz3000-cfnprab5-ts011f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -105,44 +104,33 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -158,50 +146,38 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -217,50 +193,38 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -276,50 +240,38 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -335,50 +287,38 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/tz3000-cicwjqth-ts011f.json b/tests/data/devices/tz3000-cicwjqth-ts011f.json index a5fa60613..aa87ad495 100644 --- a/tests/data/devices/tz3000-cicwjqth-ts011f.json +++ b/tests/data/devices/tz3000-cicwjqth-ts011f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,37 +86,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -130,7 +119,6 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0020", @@ -142,97 +130,49 @@ "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -250,13 +190,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -274,13 +208,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -299,43 +227,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -359,61 +268,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -421,149 +300,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -575,13 +316,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -593,25 +328,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 102, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 102 }, { "id": "0x050a", @@ -619,96 +342,28 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 233, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 233 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -716,13 +371,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-dbou1ap4-ts0505a.json b/tests/data/devices/tz3000-dbou1ap4-ts0505a.json index 49a14b2f9..53cb7c0c9 100644 --- a/tests/data/devices/tz3000-dbou1ap4-ts0505a.json +++ b/tests/data/devices/tz3000-dbou1ap4-ts0505a.json @@ -44,31 +44,26 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -80,13 +75,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -99,19 +88,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 140, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 140 }, { "id": "0x0014", @@ -154,7 +136,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -190,13 +171,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 291, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 291 }, { "id": "0x0000", @@ -214,25 +189,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4000", @@ -257,7 +220,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -265,13 +227,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -287,7 +247,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-dowj6gyi-ts0201.json b/tests/data/devices/tz3000-dowj6gyi-ts0201.json index cb465eb95..d016b87d9 100644 --- a/tests/data/devices/tz3000-dowj6gyi-ts0201.json +++ b/tests/data/devices/tz3000-dowj6gyi-ts0201.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,57 +85,36 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2130, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2130 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5831, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 5831 } ] } @@ -152,19 +123,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-drc9tuqb-ts0001.json b/tests/data/devices/tz3000-drc9tuqb-ts0001.json index 0bc5ea6ee..bd49dbeec 100644 --- a/tests/data/devices/tz3000-drc9tuqb-ts0001.json +++ b/tests/data/devices/tz3000-drc9tuqb-ts0001.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -89,25 +88,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -131,13 +126,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", @@ -162,13 +151,11 @@ { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -176,13 +163,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-e2uieqop-ts0001.json b/tests/data/devices/tz3000-e2uieqop-ts0001.json index 5fdfe5767..ff40a7ad5 100644 --- a/tests/data/devices/tz3000-e2uieqop-ts0001.json +++ b/tests/data/devices/tz3000-e2uieqop-ts0001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,13 +86,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -112,13 +109,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -130,13 +125,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -155,13 +144,11 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -169,13 +156,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-eamtuojw-ts0201.json b/tests/data/devices/tz3000-eamtuojw-ts0201.json index 1f0462785..b1d6a8c07 100644 --- a/tests/data/devices/tz3000-eamtuojw-ts0201.json +++ b/tests/data/devices/tz3000-eamtuojw-ts0201.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0033", @@ -93,51 +85,31 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 0 } ] } @@ -146,13 +118,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-empogkya-ts0003.json b/tests/data/devices/tz3000-empogkya-ts0003.json index 569c049b5..dc6ad4f16 100644 --- a/tests/data/devices/tz3000-empogkya-ts0003.json +++ b/tests/data/devices/tz3000-empogkya-ts0003.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -65,50 +64,38 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -116,13 +103,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -137,50 +122,38 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -196,50 +169,38 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -256,7 +217,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-f2bw0b6k-ts0201.json b/tests/data/devices/tz3000-f2bw0b6k-ts0201.json index 34159ea0b..ac9d7df1a 100644 --- a/tests/data/devices/tz3000-f2bw0b6k-ts0201.json +++ b/tests/data/devices/tz3000-f2bw0b6k-ts0201.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 114, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 114 }, { "id": "0x0033", @@ -93,57 +85,36 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 27, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 27 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2203, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2203 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 7892, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 7892 } ] } @@ -152,19 +123,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-fdxihpp7-ts0001.json b/tests/data/devices/tz3000-fdxihpp7-ts0001.json index c68c18d19..badc35f33 100644 --- a/tests/data/devices/tz3000-fdxihpp7-ts0001.json +++ b/tests/data/devices/tz3000-fdxihpp7-ts0001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -112,103 +101,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -226,13 +166,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -250,13 +184,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -275,43 +203,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -335,61 +244,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -413,145 +292,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -563,13 +316,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -593,25 +340,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -635,37 +370,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0507", @@ -689,44 +406,25 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/tz3000-gbm10jnj-ts0043.json b/tests/data/devices/tz3000-gbm10jnj-ts0043.json index 401668550..7d0217072 100644 --- a/tests/data/devices/tz3000-gbm10jnj-ts0043.json +++ b/tests/data/devices/tz3000-gbm10jnj-ts0043.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 156, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 156 }, { "id": "0x0033", @@ -99,47 +91,25 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -161,19 +131,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 156, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 156 }, { "id": "0x0033", @@ -191,34 +154,14 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -233,19 +176,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 156, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 156 }, { "id": "0x0033", @@ -263,34 +199,14 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] diff --git a/tests/data/devices/tz3000-gjpgagal-ts0049.json b/tests/data/devices/tz3000-gjpgagal-ts0049.json index fcdd8159f..b0ea1a76f 100644 --- a/tests/data/devices/tz3000-gjpgagal-ts0049.json +++ b/tests/data/devices/tz3000-gjpgagal-ts0049.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,38 +85,28 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -136,13 +118,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -161,7 +137,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -169,13 +144,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-gjrubzje-ts0001.json b/tests/data/devices/tz3000-gjrubzje-ts0001.json index 653760541..6a3a6984b 100644 --- a/tests/data/devices/tz3000-gjrubzje-ts0001.json +++ b/tests/data/devices/tz3000-gjrubzje-ts0001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,25 +86,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -117,13 +112,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -142,103 +131,48 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0001", - "name": "current_summ_received", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -256,13 +190,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -280,13 +208,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -305,43 +227,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -365,61 +268,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -427,149 +300,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -581,37 +316,19 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -619,96 +336,28 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -716,13 +365,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-gwkzibhs-ts004f.json b/tests/data/devices/tz3000-gwkzibhs-ts004f.json index 7d881cf57..2da4664ae 100644 --- a/tests/data/devices/tz3000-gwkzibhs-ts004f.json +++ b/tests/data/devices/tz3000-gwkzibhs-ts004f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,19 +86,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -117,32 +109,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -150,25 +133,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "TS004X_cluster", - "bind": "SUCCESS", "attributes": [ { "id": "0x8004", @@ -181,19 +160,16 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -206,13 +182,11 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-hafsqare-ts0011.json b/tests/data/devices/tz3000-hafsqare-ts0011.json index 250e99490..01791ea72 100644 --- a/tests/data/devices/tz3000-hafsqare-ts0011.json +++ b/tests/data/devices/tz3000-hafsqare-ts0011.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,25 +86,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -117,13 +112,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -144,7 +133,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-idhkkbqj-ts0012.json b/tests/data/devices/tz3000-idhkkbqj-ts0012.json index 324e4d851..33bea50c3 100644 --- a/tests/data/devices/tz3000-idhkkbqj-ts0012.json +++ b/tests/data/devices/tz3000-idhkkbqj-ts0012.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,19 +86,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -117,13 +113,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", @@ -150,7 +140,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -172,19 +161,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -196,13 +182,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", diff --git a/tests/data/devices/tz3000-isw9u95y-ts0201.json b/tests/data/devices/tz3000-isw9u95y-ts0201.json index 813e31b26..1ceee8177 100644 --- a/tests/data/devices/tz3000-isw9u95y-ts0201.json +++ b/tests/data/devices/tz3000-isw9u95y-ts0201.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,83 +85,54 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -209,7 +172,6 @@ { "cluster_id": "0xe002", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -217,13 +179,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-itnrsufe-ts0201.json b/tests/data/devices/tz3000-itnrsufe-ts0201.json index 0d536c2ee..7f132e340 100644 --- a/tests/data/devices/tz3000-itnrsufe-ts0201.json +++ b/tests/data/devices/tz3000-itnrsufe-ts0201.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 156, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 156 }, { "id": "0x0033", @@ -93,64 +85,42 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2794, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2794 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 3430, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 3430 } ] }, { "cluster_id": "0xe002", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -158,19 +128,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-j1xl73iw-ts130f.json b/tests/data/devices/tz3000-j1xl73iw-ts130f.json index c5a5f0665..527d9c2f0 100644 --- a/tests/data/devices/tz3000-j1xl73iw-ts130f.json +++ b/tests/data/devices/tz3000-j1xl73iw-ts130f.json @@ -44,25 +44,21 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -74,13 +70,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -93,7 +83,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0xf001", @@ -117,25 +106,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -196,7 +173,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -211,13 +187,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -239,31 +213,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -276,7 +241,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0xf001", @@ -300,25 +264,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -379,7 +331,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -403,7 +354,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-ja5osu5g-ts004f.json b/tests/data/devices/tz3000-ja5osu5g-ts004f.json index a09ed5f07..b605cc3fb 100644 --- a/tests/data/devices/tz3000-ja5osu5g-ts004f.json +++ b/tests/data/devices/tz3000-ja5osu5g-ts004f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,19 +86,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 176, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 176 }, { "id": "0x0033", @@ -117,38 +109,28 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -156,19 +138,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "TS004X_cluster", - "bind": "SUCCESS", "attributes": [ { "id": "0x8004", @@ -181,19 +160,16 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -206,13 +182,11 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-kjfzuycl-ts004f.json b/tests/data/devices/tz3000-kjfzuycl-ts004f.json index 74db36058..fd62b6e33 100644 --- a/tests/data/devices/tz3000-kjfzuycl-ts004f.json +++ b/tests/data/devices/tz3000-kjfzuycl-ts004f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,38 +85,28 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -132,37 +114,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "TS004X_cluster", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -175,13 +151,11 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-kmsbwdol-ts130f.json b/tests/data/devices/tz3000-kmsbwdol-ts130f.json index 86ab200c2..01f7de633 100644 --- a/tests/data/devices/tz3000-kmsbwdol-ts130f.json +++ b/tests/data/devices/tz3000-kmsbwdol-ts130f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -76,7 +74,6 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -89,7 +86,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -107,13 +103,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4001", @@ -132,7 +122,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -156,25 +145,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -217,7 +194,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -225,13 +201,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -246,31 +220,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -283,38 +248,18 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0009", - "name": "current_position_tilt_percentage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 } ] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -331,7 +276,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-kqvb5akv-ts0001.json b/tests/data/devices/tz3000-kqvb5akv-ts0001.json index 5ff48e7c6..b1da12238 100644 --- a/tests/data/devices/tz3000-kqvb5akv-ts0001.json +++ b/tests/data/devices/tz3000-kqvb5akv-ts0001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -93,13 +88,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", @@ -124,103 +113,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 154, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 154 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -238,13 +178,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -262,13 +196,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -287,43 +215,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -347,61 +256,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 30, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 30 }, { "id": "0x050d", @@ -425,145 +304,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -575,13 +328,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -605,25 +352,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 245, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 245 }, { "id": "0x050a", @@ -647,37 +382,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 231, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 231 }, { "id": "0x0507", @@ -701,50 +418,30 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -759,13 +456,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -788,7 +483,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-lepzuhto-ts011f.json b/tests/data/devices/tz3000-lepzuhto-ts011f.json index 749892452..4a5e3554f 100644 --- a/tests/data/devices/tz3000-lepzuhto-ts011f.json +++ b/tests/data/devices/tz3000-lepzuhto-ts011f.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -65,25 +64,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -95,13 +90,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", @@ -120,103 +109,48 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 5954, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0001", - "name": "current_summ_received", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5954 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -234,13 +168,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -258,13 +186,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -283,43 +205,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -343,61 +246,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 198, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 198 }, { "id": "0x050d", @@ -405,149 +278,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -559,37 +294,19 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1049, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1049 }, { "id": "0x050a", @@ -597,96 +314,28 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 238, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 238 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -694,13 +343,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -716,7 +363,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-lf56vpxj-ts0202.json b/tests/data/devices/tz3000-lf56vpxj-ts0202.json index 242874af0..738d9d1bb 100644 --- a/tests/data/devices/tz3000-lf56vpxj-ts0202.json +++ b/tests/data/devices/tz3000-lf56vpxj-ts0202.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,44 +62,16 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -130,25 +101,21 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-llfaquvp-ts0012.json b/tests/data/devices/tz3000-llfaquvp-ts0012.json index 561131f67..8c7360154 100644 --- a/tests/data/devices/tz3000-llfaquvp-ts0012.json +++ b/tests/data/devices/tz3000-llfaquvp-ts0012.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,25 +86,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -117,13 +112,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", @@ -148,13 +137,11 @@ { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -169,13 +156,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -190,19 +175,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -220,13 +202,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -245,7 +221,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", diff --git a/tests/data/devices/tz3000-lotmgthb-ts011f.json b/tests/data/devices/tz3000-lotmgthb-ts011f.json index fe265f456..6d1f0f510 100644 --- a/tests/data/devices/tz3000-lotmgthb-ts011f.json +++ b/tests/data/devices/tz3000-lotmgthb-ts011f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,25 +86,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -117,13 +112,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", @@ -142,103 +131,48 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 71, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0001", - "name": "current_summ_received", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 71 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -256,13 +190,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -280,13 +208,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -305,43 +227,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -365,61 +268,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -427,149 +300,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -581,37 +316,19 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -619,96 +336,28 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 125, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 125 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -716,13 +365,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-lrgccsxm-ts0013.json b/tests/data/devices/tz3000-lrgccsxm-ts0013.json index 5f4e776f7..659ce8676 100644 --- a/tests/data/devices/tz3000-lrgccsxm-ts0013.json +++ b/tests/data/devices/tz3000-lrgccsxm-ts0013.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -108,13 +97,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -129,37 +116,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -182,37 +159,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", diff --git a/tests/data/devices/tz3000-ltiqubue-ts130f.json b/tests/data/devices/tz3000-ltiqubue-ts130f.json index a5acf7b80..e0c55ed30 100644 --- a/tests/data/devices/tz3000-ltiqubue-ts130f.json +++ b/tests/data/devices/tz3000-ltiqubue-ts130f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -106,31 +95,12 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0009", - "name": "current_position_tilt_percentage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] } @@ -139,7 +109,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-mg4dy6z6-ts0202.json b/tests/data/devices/tz3000-mg4dy6z6-ts0202.json index 1cd8520cc..60b57dda2 100644 --- a/tests/data/devices/tz3000-mg4dy6z6-ts0202.json +++ b/tests/data/devices/tz3000-mg4dy6z6-ts0202.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -160,7 +144,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -173,19 +156,16 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-mgusv51k-ts0052.json b/tests/data/devices/tz3000-mgusv51k-ts0052.json index 508ed2fb7..47acd4ba6 100644 --- a/tests/data/devices/tz3000-mgusv51k-ts0052.json +++ b/tests/data/devices/tz3000-mgusv51k-ts0052.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -93,13 +88,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", @@ -118,19 +107,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 127, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 127 }, { "id": "0x0014", @@ -185,13 +167,11 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -199,13 +179,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -228,7 +206,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-mkhkxx1p-ts0001.json b/tests/data/devices/tz3000-mkhkxx1p-ts0001.json index 554d53057..f6134d4a5 100644 --- a/tests/data/devices/tz3000-mkhkxx1p-ts0001.json +++ b/tests/data/devices/tz3000-mkhkxx1p-ts0001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,25 +86,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -129,13 +124,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -160,103 +149,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -274,13 +214,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -298,13 +232,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -323,43 +251,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -383,61 +292,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -445,149 +324,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -599,13 +340,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -617,25 +352,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -643,96 +366,28 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 237, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 237 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -747,13 +402,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-mugyhz0q-ts0207.json b/tests/data/devices/tz3000-mugyhz0q-ts0207.json index 7b9979086..c591b9e32 100644 --- a/tests/data/devices/tz3000-mugyhz0q-ts0207.json +++ b/tests/data/devices/tz3000-mugyhz0q-ts0207.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -154,13 +138,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-mw1pqqqt-ts0003.json b/tests/data/devices/tz3000-mw1pqqqt-ts0003.json index 6f1c48a38..2e2e003f2 100644 --- a/tests/data/devices/tz3000-mw1pqqqt-ts0003.json +++ b/tests/data/devices/tz3000-mw1pqqqt-ts0003.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -89,25 +88,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -125,13 +120,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x8002", @@ -150,103 +139,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -264,13 +204,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -288,13 +222,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -313,43 +241,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -373,61 +282,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -451,145 +330,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -601,13 +354,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -631,25 +378,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -673,37 +408,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0507", @@ -727,50 +444,24 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -778,13 +469,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -806,19 +495,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -836,13 +522,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x8002", @@ -871,19 +551,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -901,13 +578,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x8002", @@ -937,7 +608,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-npzfdcof-ts0001.json b/tests/data/devices/tz3000-npzfdcof-ts0001.json index e48680c63..93fd3cfb2 100644 --- a/tests/data/devices/tz3000-npzfdcof-ts0001.json +++ b/tests/data/devices/tz3000-npzfdcof-ts0001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -99,7 +98,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -112,19 +110,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -136,13 +131,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -167,7 +156,6 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0020", @@ -179,97 +167,43 @@ "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0001", - "name": "current_summ_received", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -287,13 +221,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -311,13 +239,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -336,43 +258,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -396,61 +299,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -458,149 +331,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -612,13 +347,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -630,25 +359,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -656,96 +373,28 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -753,13 +402,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-o1jzcxou-ts011f.json b/tests/data/devices/tz3000-o1jzcxou-ts011f.json index 3d3ff3a1d..ced73be76 100644 --- a/tests/data/devices/tz3000-o1jzcxou-ts011f.json +++ b/tests/data/devices/tz3000-o1jzcxou-ts011f.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -89,25 +88,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -119,13 +114,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -144,13 +133,11 @@ { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -158,13 +145,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-o4mkahkc-ts0202.json b/tests/data/devices/tz3000-o4mkahkc-ts0202.json index 24844fbe2..8fc6d63ec 100644 --- a/tests/data/devices/tz3000-o4mkahkc-ts0202.json +++ b/tests/data/devices/tz3000-o4mkahkc-ts0202.json @@ -44,25 +44,17 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -80,26 +72,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 29, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 29 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -147,7 +131,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -166,13 +149,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -185,7 +166,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-okaz9tjs-ts011f.json b/tests/data/devices/tz3000-okaz9tjs-ts011f.json index 114891e1d..5de4ec755 100644 --- a/tests/data/devices/tz3000-okaz9tjs-ts011f.json +++ b/tests/data/devices/tz3000-okaz9tjs-ts011f.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -65,25 +64,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -95,13 +90,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -120,109 +109,53 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0001", - "name": "current_summ_received", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -240,13 +173,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -264,13 +191,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -289,43 +210,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -349,61 +251,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -411,149 +283,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -565,13 +299,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -583,25 +311,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -609,102 +325,33 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 239, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 239 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/tz3000-p26flek3-ts0001.json b/tests/data/devices/tz3000-p26flek3-ts0001.json index 8e7b1de2b..6a0bec9c7 100644 --- a/tests/data/devices/tz3000-p26flek3-ts0001.json +++ b/tests/data/devices/tz3000-p26flek3-ts0001.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -89,25 +88,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -131,13 +126,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", @@ -162,13 +151,11 @@ { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -183,13 +170,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-pl5v1yyy-ts011f.json b/tests/data/devices/tz3000-pl5v1yyy-ts011f.json index 0524b1607..29ca37d22 100644 --- a/tests/data/devices/tz3000-pl5v1yyy-ts011f.json +++ b/tests/data/devices/tz3000-pl5v1yyy-ts011f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -93,13 +88,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -118,103 +107,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -232,13 +172,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -256,13 +190,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -281,43 +209,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -341,61 +250,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -419,145 +298,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -569,13 +322,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -599,25 +346,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -641,37 +376,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0507", @@ -695,50 +412,24 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -746,13 +437,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -774,19 +463,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -798,13 +484,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -823,7 +503,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -839,19 +518,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -863,13 +539,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -888,7 +558,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -904,19 +573,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -928,13 +594,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -953,7 +613,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -969,19 +628,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -993,13 +649,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -1018,7 +668,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -1035,7 +684,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-qa8s8vca-ts130f.json b/tests/data/devices/tz3000-qa8s8vca-ts130f.json index f145324fd..eb316e19a 100644 --- a/tests/data/devices/tz3000-qa8s8vca-ts130f.json +++ b/tests/data/devices/tz3000-qa8s8vca-ts130f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,31 +62,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -100,7 +90,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -112,32 +101,19 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -145,13 +121,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -167,7 +141,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-qqdbccb3-ts130f.json b/tests/data/devices/tz3000-qqdbccb3-ts130f.json index 2bdf26992..32b3289aa 100644 --- a/tests/data/devices/tz3000-qqdbccb3-ts130f.json +++ b/tests/data/devices/tz3000-qqdbccb3-ts130f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,49 +62,33 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] } @@ -114,7 +97,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-r6buo8ba-ts011f.json b/tests/data/devices/tz3000-r6buo8ba-ts011f.json index 5fef19c2b..5931cf1f1 100644 --- a/tests/data/devices/tz3000-r6buo8ba-ts011f.json +++ b/tests/data/devices/tz3000-r6buo8ba-ts011f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,37 +68,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -112,103 +101,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 9536, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 9536 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -226,13 +166,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -250,13 +184,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -275,43 +203,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -335,61 +244,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 1, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050d", @@ -397,149 +276,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -551,13 +292,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -569,25 +304,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 45, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 45 }, { "id": "0x050a", @@ -595,90 +318,23 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 245, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 245 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -686,7 +342,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-rbl8c85w-ts0012.json b/tests/data/devices/tz3000-rbl8c85w-ts0012.json index af47baccd..e97c5e69f 100644 --- a/tests/data/devices/tz3000-rbl8c85w-ts0012.json +++ b/tests/data/devices/tz3000-rbl8c85w-ts0012.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -108,13 +97,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -136,37 +123,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", diff --git a/tests/data/devices/tz3000-sgb0xhwn-ts011f.json b/tests/data/devices/tz3000-sgb0xhwn-ts011f.json index 9fe90ce72..312c65454 100644 --- a/tests/data/devices/tz3000-sgb0xhwn-ts011f.json +++ b/tests/data/devices/tz3000-sgb0xhwn-ts011f.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -65,25 +64,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -107,13 +102,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", @@ -138,103 +127,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -252,13 +192,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -276,13 +210,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -301,43 +229,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -361,61 +270,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -439,145 +318,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -589,13 +342,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -619,25 +366,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -661,37 +396,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0507", @@ -715,50 +432,30 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -766,13 +463,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -794,19 +489,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -830,13 +522,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", @@ -861,7 +547,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -878,7 +563,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-snq47izk-ts0013.json b/tests/data/devices/tz3000-snq47izk-ts0013.json index 87b4bce0e..27a0a77a8 100644 --- a/tests/data/devices/tz3000-snq47izk-ts0013.json +++ b/tests/data/devices/tz3000-snq47izk-ts0013.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -108,13 +97,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -129,37 +116,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -182,37 +159,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", diff --git a/tests/data/devices/tz3000-tgddllx4-ts0001.json b/tests/data/devices/tz3000-tgddllx4-ts0001.json index da27c3996..1614ec54c 100644 --- a/tests/data/devices/tz3000-tgddllx4-ts0001.json +++ b/tests/data/devices/tz3000-tgddllx4-ts0001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,103 +95,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -220,13 +160,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -244,13 +178,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -269,43 +197,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -329,61 +238,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -391,149 +270,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -545,13 +286,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -563,25 +298,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -589,90 +312,23 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 237, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 237 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/tz3000-tqlv4ug4-ts0001.json b/tests/data/devices/tz3000-tqlv4ug4-ts0001.json index 56355c9c2..c9a2071bc 100644 --- a/tests/data/devices/tz3000-tqlv4ug4-ts0001.json +++ b/tests/data/devices/tz3000-tqlv4ug4-ts0001.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -89,25 +88,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -131,13 +126,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -162,103 +151,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -276,13 +216,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -300,13 +234,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -325,43 +253,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -385,61 +294,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -463,145 +342,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -613,13 +366,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -643,25 +390,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -685,37 +420,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0507", @@ -739,50 +456,30 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -797,13 +494,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-typdpbpg-ts011f.json b/tests/data/devices/tz3000-typdpbpg-ts011f.json index 3dc803780..14cf637be 100644 --- a/tests/data/devices/tz3000-typdpbpg-ts011f.json +++ b/tests/data/devices/tz3000-typdpbpg-ts011f.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -89,25 +88,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -131,13 +126,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", @@ -162,109 +151,59 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 387, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 387 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -282,13 +221,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -306,13 +239,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -331,43 +258,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -391,61 +299,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 1, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050d", @@ -469,145 +347,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -619,13 +371,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -649,25 +395,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 22, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 22 }, { "id": "0x050a", @@ -691,37 +425,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 235, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 235 }, { "id": "0x0507", @@ -745,56 +461,35 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1888", "endpoint_attribute": "tuya_manufacturer_specific_6280", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -802,7 +497,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -825,7 +519,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-u3oupgdy-ts0004.json b/tests/data/devices/tz3000-u3oupgdy-ts0004.json index 738e20e14..ba7666363 100644 --- a/tests/data/devices/tz3000-u3oupgdy-ts0004.json +++ b/tests/data/devices/tz3000-u3oupgdy-ts0004.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -89,25 +88,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -131,13 +126,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -162,13 +151,11 @@ { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -183,13 +170,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -211,19 +196,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -247,13 +229,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -278,7 +254,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -294,19 +269,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -330,13 +302,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -361,7 +327,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -377,19 +342,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -413,13 +375,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -444,7 +400,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -461,7 +416,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-u4kojtqz-ts0002.json b/tests/data/devices/tz3000-u4kojtqz-ts0002.json index 748ca3bb7..280df5f70 100644 --- a/tests/data/devices/tz3000-u4kojtqz-ts0002.json +++ b/tests/data/devices/tz3000-u4kojtqz-ts0002.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -99,13 +94,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -124,19 +113,16 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -144,7 +130,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -166,31 +151,26 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -202,13 +182,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -227,19 +201,16 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -247,7 +218,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-uwkja6z1-ts011f.json b/tests/data/devices/tz3000-uwkja6z1-ts011f.json index f6ea423c9..129234ffe 100644 --- a/tests/data/devices/tz3000-uwkja6z1-ts011f.json +++ b/tests/data/devices/tz3000-uwkja6z1-ts011f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,103 +95,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 318, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 318 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -220,13 +160,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -244,13 +178,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -269,43 +197,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -329,61 +238,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -391,149 +270,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -545,13 +286,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -563,25 +298,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -589,96 +312,28 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 241, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 241 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -686,13 +341,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -714,37 +367,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -757,103 +400,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 318, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 318 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -871,13 +465,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -895,13 +483,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -920,43 +502,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -980,61 +543,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -1042,149 +575,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -1196,13 +591,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -1214,25 +603,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -1240,96 +617,28 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 241, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 241 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -1346,7 +655,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-vw8pawxa-ts130f.json b/tests/data/devices/tz3000-vw8pawxa-ts130f.json index 19e1843cd..bafdbc4c2 100644 --- a/tests/data/devices/tz3000-vw8pawxa-ts130f.json +++ b/tests/data/devices/tz3000-vw8pawxa-ts130f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,31 +62,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -100,7 +90,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -124,13 +113,7 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0004", @@ -142,13 +125,7 @@ "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0016", @@ -239,7 +216,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -247,13 +223,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-w0qqde0g-ts011f.json b/tests/data/devices/tz3000-w0qqde0g-ts011f.json index 1f78ae276..b6de9c638 100644 --- a/tests/data/devices/tz3000-w0qqde0g-ts011f.json +++ b/tests/data/devices/tz3000-w0qqde0g-ts011f.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -89,25 +88,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -125,13 +120,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x8002", @@ -150,103 +139,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -264,13 +204,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -288,13 +222,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -313,43 +241,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -373,61 +282,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -435,149 +314,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -589,13 +330,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -607,25 +342,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -633,90 +356,23 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 208, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 208 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/tz3000-wcgyhnp3-ts0222.json b/tests/data/devices/tz3000-wcgyhnp3-ts0222.json index d166e4cfa..5fb95229c 100644 --- a/tests/data/devices/tz3000-wcgyhnp3-ts0222.json +++ b/tests/data/devices/tz3000-wcgyhnp3-ts0222.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,83 +85,54 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 23011, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 23011 } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -211,19 +174,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-wkai4ga5-ts0044.json b/tests/data/devices/tz3000-wkai4ga5-ts0044.json index fb353189a..1fae422ad 100644 --- a/tests/data/devices/tz3000-wkai4ga5-ts0044.json +++ b/tests/data/devices/tz3000-wkai4ga5-ts0044.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,47 +85,25 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -148,52 +118,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -208,52 +138,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -268,52 +158,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] diff --git a/tests/data/devices/tz3000-wkr3jqmr-ts0004.json b/tests/data/devices/tz3000-wkr3jqmr-ts0004.json index e2cf8670e..304be2008 100644 --- a/tests/data/devices/tz3000-wkr3jqmr-ts0004.json +++ b/tests/data/devices/tz3000-wkr3jqmr-ts0004.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -137,25 +136,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -179,13 +174,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -210,13 +199,11 @@ { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -231,13 +218,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -252,19 +237,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -282,13 +264,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -313,7 +289,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -329,19 +304,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -359,13 +331,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -390,7 +356,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -406,19 +371,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -436,13 +398,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -467,7 +423,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -484,7 +439,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-xa9g7rxs-ts1002.json b/tests/data/devices/tz3000-xa9g7rxs-ts1002.json index 30269f782..cd851e866 100644 --- a/tests/data/devices/tz3000-xa9g7rxs-ts1002.json +++ b/tests/data/devices/tz3000-xa9g7rxs-ts1002.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,38 +85,28 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -132,43 +114,36 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -181,13 +156,11 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-xabckq1v-ts004f.json b/tests/data/devices/tz3000-xabckq1v-ts004f.json index 2ee7c4e56..692cb203c 100644 --- a/tests/data/devices/tz3000-xabckq1v-ts004f.json +++ b/tests/data/devices/tz3000-xabckq1v-ts004f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,19 +86,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -117,32 +109,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -150,43 +133,36 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -199,13 +175,11 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -220,21 +194,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -249,21 +209,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -278,21 +224,7 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] diff --git a/tests/data/devices/tz3000-xkap8wtb-ts000f.json b/tests/data/devices/tz3000-xkap8wtb-ts000f.json index bc2410651..212b3edf5 100644 --- a/tests/data/devices/tz3000-xkap8wtb-ts000f.json +++ b/tests/data/devices/tz3000-xkap8wtb-ts000f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -93,13 +88,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -118,109 +107,53 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0001", - "name": "current_summ_received", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -238,13 +171,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -262,13 +189,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -287,43 +208,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -347,61 +249,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -409,149 +281,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -563,37 +297,19 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 66, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 66 }, { "id": "0x050a", @@ -601,102 +317,33 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 231, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 231 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1888", "endpoint_attribute": "tuya_manufacturer_specific_6280", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -704,7 +351,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -720,7 +366,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-xr3htd96-ts0201.json b/tests/data/devices/tz3000-xr3htd96-ts0201.json index d3622e2af..b277b5d86 100644 --- a/tests/data/devices/tz3000-xr3htd96-ts0201.json +++ b/tests/data/devices/tz3000-xr3htd96-ts0201.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,57 +85,36 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2121, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2121 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5547, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 5547 } ] } @@ -152,19 +123,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-xxacnuab-ts0004.json b/tests/data/devices/tz3000-xxacnuab-ts0004.json index bd0076f9a..2f1d02f57 100644 --- a/tests/data/devices/tz3000-xxacnuab-ts0004.json +++ b/tests/data/devices/tz3000-xxacnuab-ts0004.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -89,25 +88,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8000", @@ -125,13 +120,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -156,13 +145,11 @@ { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -177,13 +164,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -198,19 +183,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -234,13 +216,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -265,7 +241,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -281,19 +256,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -317,13 +289,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -348,7 +314,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -364,19 +329,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -400,13 +362,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -431,7 +387,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -448,7 +403,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-ynmowqk2-ts011f.json b/tests/data/devices/tz3000-ynmowqk2-ts011f.json index 389c5b9e6..2f0ac05c6 100644 --- a/tests/data/devices/tz3000-ynmowqk2-ts011f.json +++ b/tests/data/devices/tz3000-ynmowqk2-ts011f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,25 +86,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -117,13 +112,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", @@ -142,103 +131,48 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0001", - "name": "current_summ_received", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -256,13 +190,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -280,13 +208,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -305,43 +227,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -365,61 +268,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -427,149 +300,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -581,13 +316,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -599,25 +328,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -625,96 +342,28 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 235, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 235 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -722,13 +371,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-zl1kmjqx-ty0201.json b/tests/data/devices/tz3000-zl1kmjqx-ty0201.json index a73b071fa..a709e4050 100644 --- a/tests/data/devices/tz3000-zl1kmjqx-ty0201.json +++ b/tests/data/devices/tz3000-zl1kmjqx-ty0201.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -100,13 +98,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -119,7 +115,6 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -134,7 +129,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-zl1kmjqx.json b/tests/data/devices/tz3000-zl1kmjqx.json index 7229f5f72..80fffa119 100644 --- a/tests/data/devices/tz3000-zl1kmjqx.json +++ b/tests/data/devices/tz3000-zl1kmjqx.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -100,13 +98,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -119,7 +115,6 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -134,7 +129,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3000-zv6x8bt2-ts011f.json b/tests/data/devices/tz3000-zv6x8bt2-ts011f.json index 2ea8946ed..b34931cb0 100644 --- a/tests/data/devices/tz3000-zv6x8bt2-ts011f.json +++ b/tests/data/devices/tz3000-zv6x8bt2-ts011f.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -89,25 +88,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x8001", @@ -131,13 +126,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4001", @@ -162,103 +151,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 167, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 167 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -276,13 +216,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -300,13 +234,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -325,43 +253,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -385,61 +294,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 1415, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1415 }, { "id": "0x050d", @@ -463,145 +342,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -613,13 +366,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -643,25 +390,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 6076, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 6076 }, { "id": "0x050a", @@ -685,37 +420,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 242, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 242 }, { "id": "0x0507", @@ -739,50 +456,30 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xe000", "endpoint_attribute": "tuya_manufacturer_specific_57344", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": "tuya_external_switch_type", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xd030", @@ -797,13 +494,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -826,7 +521,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3000-zw7yf6yk-ts0001.json b/tests/data/devices/tz3000-zw7yf6yk-ts0001.json index 6293e12c8..d835fcbcd 100644 --- a/tests/data/devices/tz3000-zw7yf6yk-ts0001.json +++ b/tests/data/devices/tz3000-zw7yf6yk-ts0001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,37 +86,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -130,103 +119,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -244,13 +184,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -268,13 +202,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -293,43 +221,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -353,61 +262,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -415,149 +294,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -569,13 +310,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -587,25 +322,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -613,96 +336,28 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -710,13 +365,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3002-vaq2bfcu-ts0726.json b/tests/data/devices/tz3002-vaq2bfcu-ts0726.json index b62f62473..fd5824660 100644 --- a/tests/data/devices/tz3002-vaq2bfcu-ts0726.json +++ b/tests/data/devices/tz3002-vaq2bfcu-ts0726.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,13 +95,11 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -120,13 +107,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -148,31 +133,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -185,7 +161,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -201,31 +176,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -238,7 +204,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -254,31 +219,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -291,7 +247,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -307,31 +262,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -344,7 +290,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -360,19 +305,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -384,13 +326,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -409,7 +345,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -426,7 +361,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3002-zjuvw9zf-ts0726.json b/tests/data/devices/tz3002-zjuvw9zf-ts0726.json index 6be73435f..b6ae252f1 100644 --- a/tests/data/devices/tz3002-zjuvw9zf-ts0726.json +++ b/tests/data/devices/tz3002-zjuvw9zf-ts0726.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -93,13 +88,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -118,13 +107,11 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -132,13 +119,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -160,19 +145,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -184,13 +166,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -209,7 +185,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -226,7 +201,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3040-bb6xaihh-ts0202.json b/tests/data/devices/tz3040-bb6xaihh-ts0202.json index 38771b4c3..7ebc4a8e0 100644 --- a/tests/data/devices/tz3040-bb6xaihh-ts0202.json +++ b/tests/data/devices/tz3040-bb6xaihh-ts0202.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -100,19 +98,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0010", @@ -154,13 +149,11 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -179,13 +172,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -198,7 +189,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3210-09hzmirw-ts0502b.json b/tests/data/devices/tz3210-09hzmirw-ts0502b.json index 7f92415ca..2f1311585 100644 --- a/tests/data/devices/tz3210-09hzmirw-ts0502b.json +++ b/tests/data/devices/tz3210-09hzmirw-ts0502b.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 56, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 56 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,37 +178,19 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 500 }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x000f", @@ -246,13 +209,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -260,13 +221,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -289,7 +248,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3210-0jxeoadc-ts0049.json b/tests/data/devices/tz3210-0jxeoadc-ts0049.json index e0cb2b1dd..afa694bc5 100644 --- a/tests/data/devices/tz3210-0jxeoadc-ts0049.json +++ b/tests/data/devices/tz3210-0jxeoadc-ts0049.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,7 +86,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -118,7 +116,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -131,7 +128,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef6f", @@ -146,13 +142,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3210-3mpwqzuu-ts110e.json b/tests/data/devices/tz3210-3mpwqzuu-ts110e.json index 71a560076..c460327ec 100644 --- a/tests/data/devices/tz3210-3mpwqzuu-ts110e.json +++ b/tests/data/devices/tz3210-3mpwqzuu-ts110e.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -93,13 +88,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -118,7 +107,6 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -130,13 +118,7 @@ "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -191,7 +173,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -199,13 +180,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -227,37 +206,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -276,19 +245,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -337,7 +299,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -354,7 +315,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3210-3ulg9kpo-ts0021.json b/tests/data/devices/tz3210-3ulg9kpo-ts0021.json index 21193455b..0fba1f195 100644 --- a/tests/data/devices/tz3210-3ulg9kpo-ts0021.json +++ b/tests/data/devices/tz3210-3ulg9kpo-ts0021.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0033", @@ -93,20 +85,13 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -146,7 +131,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "SUCCESS", "attributes": [] } ], @@ -154,13 +138,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3210-5rta89nj-ts0601.json b/tests/data/devices/tz3210-5rta89nj-ts0601.json index b8dd28966..d8f115203 100644 --- a/tests/data/devices/tz3210-5rta89nj-ts0601.json +++ b/tests/data/devices/tz3210-5rta89nj-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0008", @@ -87,19 +86,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -117,26 +109,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -176,7 +160,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -184,13 +167,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3210-bfwvfyx1-ts0505b.json b/tests/data/devices/tz3210-bfwvfyx1-ts0505b.json index 5c5325f02..1eb662659 100644 --- a/tests/data/devices/tz3210-bfwvfyx1-ts0505b.json +++ b/tests/data/devices/tz3210-bfwvfyx1-ts0505b.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,37 +178,19 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 270, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 270 }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x000f", @@ -246,13 +209,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -260,13 +221,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -289,7 +248,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3210-comkuwws-ts0502b.json b/tests/data/devices/tz3210-comkuwws-ts0502b.json index 15a2c76ab..f2388b487 100644 --- a/tests/data/devices/tz3210-comkuwws-ts0502b.json +++ b/tests/data/devices/tz3210-comkuwws-ts0502b.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 64, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 64 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,37 +178,19 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 500 }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x000f", @@ -246,13 +209,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -260,13 +221,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -289,7 +248,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3210-dwytrmda-ts130f.json b/tests/data/devices/tz3210-dwytrmda-ts130f.json index 93d6a0003..56a18e6e8 100644 --- a/tests/data/devices/tz3210-dwytrmda-ts130f.json +++ b/tests/data/devices/tz3210-dwytrmda-ts130f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -93,19 +92,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0015", @@ -141,13 +137,7 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0004", @@ -159,13 +149,7 @@ "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0016", @@ -240,13 +224,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -293,7 +275,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3210-ehcanwyc-ts0502b.json b/tests/data/devices/tz3210-ehcanwyc-ts0502b.json index 4193f660f..1a342476f 100644 --- a/tests/data/devices/tz3210-ehcanwyc-ts0502b.json +++ b/tests/data/devices/tz3210-ehcanwyc-ts0502b.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,37 +86,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -130,19 +119,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -185,7 +167,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -221,37 +202,19 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 153, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 153 }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x000f", @@ -270,13 +233,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -284,13 +245,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -313,7 +272,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3210-ekjc2rzh-ts0225.json b/tests/data/devices/tz3210-ekjc2rzh-ts0225.json index e7a701dad..1a27ef388 100644 --- a/tests/data/devices/tz3210-ekjc2rzh-ts0225.json +++ b/tests/data/devices/tz3210-ekjc2rzh-ts0225.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -103,13 +101,11 @@ { "cluster_id": "0xe002", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -117,13 +113,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3210-hxtfthp5-ts0505b.json b/tests/data/devices/tz3210-hxtfthp5-ts0505b.json index e195f86e0..98b450521 100644 --- a/tests/data/devices/tz3210-hxtfthp5-ts0505b.json +++ b/tests/data/devices/tz3210-hxtfthp5-ts0505b.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,13 +178,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 153, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 153 }, { "id": "0x0000", @@ -221,25 +196,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4000", @@ -264,13 +227,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -278,13 +239,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -300,7 +259,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3210-j4pdtz9v-ts0001.json b/tests/data/devices/tz3210-j4pdtz9v-ts0001.json index 86ca2d6c8..ac4799487 100644 --- a/tests/data/devices/tz3210-j4pdtz9v-ts0001.json +++ b/tests/data/devices/tz3210-j4pdtz9v-ts0001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,20 +86,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0033", "name": "battery_quantity", @@ -123,32 +109,19 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -161,7 +134,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "SUCCESS", "attributes": [ { "id": "0xef65", @@ -176,13 +148,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3210-jaap6jeb-ts0505b.json b/tests/data/devices/tz3210-jaap6jeb-ts0505b.json index 2952db2e1..2af972aa3 100644 --- a/tests/data/devices/tz3210-jaap6jeb-ts0505b.json +++ b/tests/data/devices/tz3210-jaap6jeb-ts0505b.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -99,37 +98,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -142,19 +131,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -197,7 +179,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -233,13 +214,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 229, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 229 }, { "id": "0x0000", @@ -257,25 +232,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4000", @@ -300,13 +263,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -314,13 +275,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -343,7 +302,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3210-k1msuvg6-ts110e.json b/tests/data/devices/tz3210-k1msuvg6-ts110e.json index 06e775a6e..84c009369 100644 --- a/tests/data/devices/tz3210-k1msuvg6-ts110e.json +++ b/tests/data/devices/tz3210-k1msuvg6-ts110e.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -93,25 +92,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -123,13 +118,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -154,7 +143,6 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -172,13 +160,7 @@ "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -233,7 +215,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -241,13 +222,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -300,7 +279,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3210-kjafhwd2-ts0210.json b/tests/data/devices/tz3210-kjafhwd2-ts0210.json index 5d6c4af02..ae73986a9 100644 --- a/tests/data/devices/tz3210-kjafhwd2-ts0210.json +++ b/tests/data/devices/tz3210-kjafhwd2-ts0210.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 32, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 32 }, { "id": "0x0033", @@ -93,32 +85,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -158,7 +141,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -166,19 +148,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -197,13 +176,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -216,7 +193,6 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3210-klv2wul0-ts0505b.json b/tests/data/devices/tz3210-klv2wul0-ts0505b.json index 4ec0c8748..51a215ac3 100644 --- a/tests/data/devices/tz3210-klv2wul0-ts0505b.json +++ b/tests/data/devices/tz3210-klv2wul0-ts0505b.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,37 +178,19 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 500, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 500 }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x000f", @@ -246,13 +209,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -260,13 +221,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -289,7 +248,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3210-ncw88jfq-ts0201.json b/tests/data/devices/tz3210-ncw88jfq-ts0201.json index 306e94e5a..88490e798 100644 --- a/tests/data/devices/tz3210-ncw88jfq-ts0201.json +++ b/tests/data/devices/tz3210-ncw88jfq-ts0201.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,58 +85,37 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2140, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2140 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 3710, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 3710 } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -152,13 +123,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3210-qkj7rujp-ts0201.json b/tests/data/devices/tz3210-qkj7rujp-ts0201.json index cfed9127a..af48283cf 100644 --- a/tests/data/devices/tz3210-qkj7rujp-ts0201.json +++ b/tests/data/devices/tz3210-qkj7rujp-ts0201.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,64 +85,42 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0xe002", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -158,19 +128,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3210-r5afgmkl-ts0505b.json b/tests/data/devices/tz3210-r5afgmkl-ts0505b.json index 63b593e09..01eaa6d5e 100644 --- a/tests/data/devices/tz3210-r5afgmkl-ts0505b.json +++ b/tests/data/devices/tz3210-r5afgmkl-ts0505b.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,37 +178,19 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 153, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 153 }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 35848, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 35848 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 26214, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 26214 }, { "id": "0x000f", @@ -246,19 +209,16 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc01", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc03", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -266,13 +226,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3210-ru41azca-ts0049.json b/tests/data/devices/tz3210-ru41azca-ts0049.json index 4e800d280..8feb33859 100644 --- a/tests/data/devices/tz3210-ru41azca-ts0049.json +++ b/tests/data/devices/tz3210-ru41azca-ts0049.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,19 +86,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 100, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0033", @@ -117,32 +109,19 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": true }, { "id": "0x4003", @@ -155,7 +134,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -163,13 +141,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3210-sb8x2xci-ts0001.json b/tests/data/devices/tz3210-sb8x2xci-ts0001.json index 8157efd3d..8db0ae8b3 100644 --- a/tests/data/devices/tz3210-sb8x2xci-ts0001.json +++ b/tests/data/devices/tz3210-sb8x2xci-ts0001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -93,13 +88,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -120,13 +109,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -149,7 +136,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3210-sixywxvy-ts0505b.json b/tests/data/devices/tz3210-sixywxvy-ts0505b.json index c04d2779f..f4920a7f8 100644 --- a/tests/data/devices/tz3210-sixywxvy-ts0505b.json +++ b/tests/data/devices/tz3210-sixywxvy-ts0505b.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,37 +86,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -130,19 +119,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -185,7 +167,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -221,13 +202,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 153, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 153 }, { "id": "0x0000", @@ -245,25 +220,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 22740, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 22740 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 8978, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 8978 }, { "id": "0x4000", @@ -288,13 +251,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -302,13 +263,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -324,7 +283,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3210-tgvtvdoc-ts0207.json b/tests/data/devices/tz3210-tgvtvdoc-ts0207.json index 69df2dc60..b9f19ab86 100644 --- a/tests/data/devices/tz3210-tgvtvdoc-ts0207.json +++ b/tests/data/devices/tz3210-tgvtvdoc-ts0207.json @@ -44,13 +44,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -87,19 +85,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -112,7 +107,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0010", @@ -152,7 +146,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -160,13 +153,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3210-u1dreag7-ts0502b.json b/tests/data/devices/tz3210-u1dreag7-ts0502b.json index 0eaae1d48..70e098f55 100644 --- a/tests/data/devices/tz3210-u1dreag7-ts0502b.json +++ b/tests/data/devices/tz3210-u1dreag7-ts0502b.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,13 +178,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 284, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 284 }, { "id": "0x0000", @@ -221,25 +196,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4000", @@ -264,13 +227,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -278,13 +239,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -307,7 +266,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3210-ue9kyjnj-ts0502b.json b/tests/data/devices/tz3210-ue9kyjnj-ts0502b.json index c48b239a7..6de63ec05 100644 --- a/tests/data/devices/tz3210-ue9kyjnj-ts0502b.json +++ b/tests/data/devices/tz3210-ue9kyjnj-ts0502b.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,37 +178,19 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 153, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 153 }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x000f", @@ -246,13 +209,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -260,13 +221,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -289,7 +248,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3210-umi6vbsz-ts0505b.json b/tests/data/devices/tz3210-umi6vbsz-ts0505b.json index 84fbfb20a..8e90c5257 100644 --- a/tests/data/devices/tz3210-umi6vbsz-ts0505b.json +++ b/tests/data/devices/tz3210-umi6vbsz-ts0505b.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 1, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,13 +178,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 469, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 469 }, { "id": "0x0000", @@ -221,25 +196,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4000", @@ -264,13 +227,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -278,13 +239,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -307,7 +266,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3210-up3pngle-ts0205.json b/tests/data/devices/tz3210-up3pngle-ts0205.json index d49aad7c4..d6076caaf 100644 --- a/tests/data/devices/tz3210-up3pngle-ts0205.json +++ b/tests/data/devices/tz3210-up3pngle-ts0205.json @@ -44,56 +44,39 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -133,7 +116,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "SUCCESS", "attributes": [] } ], @@ -141,19 +123,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -172,19 +151,16 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3210-wuhzzfqg-ts0202.json b/tests/data/devices/tz3210-wuhzzfqg-ts0202.json index 98c236bfe..b78322245 100644 --- a/tests/data/devices/tz3210-wuhzzfqg-ts0202.json +++ b/tests/data/devices/tz3210-wuhzzfqg-ts0202.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,20 +85,13 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -146,7 +131,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -154,13 +138,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -182,19 +164,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -212,51 +187,31 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2217, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2217 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5508, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 5508 } ] } @@ -273,19 +228,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -303,32 +251,19 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 9849, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 9849 } ] } diff --git a/tests/data/devices/tz3218-7fiyo3kv-ts000f.json b/tests/data/devices/tz3218-7fiyo3kv-ts000f.json index 3b4cbe5d4..25dd048f6 100644 --- a/tests/data/devices/tz3218-7fiyo3kv-ts000f.json +++ b/tests/data/devices/tz3218-7fiyo3kv-ts000f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,16 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -126,13 +112,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -155,7 +139,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3218-awarhusb-ts0225.json b/tests/data/devices/tz3218-awarhusb-ts0225.json index 5c120bbfb..cd69d9639 100644 --- a/tests/data/devices/tz3218-awarhusb-ts0225.json +++ b/tests/data/devices/tz3218-awarhusb-ts0225.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -121,19 +116,16 @@ { "cluster_id": "0x4000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe002", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -141,13 +133,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3218-t9ynfz4x-ts0225.json b/tests/data/devices/tz3218-t9ynfz4x-ts0225.json index 3e374cde6..3b4bce8c0 100644 --- a/tests/data/devices/tz3218-t9ynfz4x-ts0225.json +++ b/tests/data/devices/tz3218-t9ynfz4x-ts0225.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -121,19 +116,16 @@ { "cluster_id": "0x4000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe002", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -141,13 +133,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz3218-ya5d6wth-ts000f.json b/tests/data/devices/tz3218-ya5d6wth-ts000f.json index eabf5ff89..d5b50f556 100644 --- a/tests/data/devices/tz3218-ya5d6wth-ts000f.json +++ b/tests/data/devices/tz3218-ya5d6wth-ts000f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,16 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -126,13 +112,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -154,37 +138,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -197,7 +171,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -213,37 +186,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -256,7 +219,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -272,37 +234,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -315,7 +267,6 @@ { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -332,7 +283,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3290-7v1k4vufotpowp9z-ts1201.json b/tests/data/devices/tz3290-7v1k4vufotpowp9z-ts1201.json index 826be06fe..d85fcf01f 100644 --- a/tests/data/devices/tz3290-7v1k4vufotpowp9z-ts1201.json +++ b/tests/data/devices/tz3290-7v1k4vufotpowp9z-ts1201.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,13 +95,11 @@ { "cluster_id": "0xe004", "endpoint_attribute": "zosung_ircontrol", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": "zosung_irtransmit", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -120,13 +107,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -149,7 +134,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tz3290-ot6ewjvmejq5ekhl-ts1201.json b/tests/data/devices/tz3290-ot6ewjvmejq5ekhl-ts1201.json index d2f56ef88..dcc5d5974 100644 --- a/tests/data/devices/tz3290-ot6ewjvmejq5ekhl-ts1201.json +++ b/tests/data/devices/tz3290-ot6ewjvmejq5ekhl-ts1201.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 122, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 122 }, { "id": "0x0033", @@ -99,50 +91,34 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 13, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 13 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -155,13 +131,11 @@ { "cluster_id": "0xe004", "endpoint_attribute": "zosung_ircontrol", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": "zosung_irtransmit", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -169,13 +143,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tz6210-duv6fhwt-ts0601.json b/tests/data/devices/tz6210-duv6fhwt-ts0601.json index 3a7466231..5c272df36 100644 --- a/tests/data/devices/tz6210-duv6fhwt-ts0601.json +++ b/tests/data/devices/tz6210-duv6fhwt-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,13 +62,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -82,19 +79,16 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -102,13 +96,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -121,7 +113,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tzb210-417ikxay-ts0505b.json b/tests/data/devices/tzb210-417ikxay-ts0505b.json index 80d7b25b1..84b8e8d2d 100644 --- a/tests/data/devices/tzb210-417ikxay-ts0505b.json +++ b/tests/data/devices/tzb210-417ikxay-ts0505b.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 254, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 254 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,13 +178,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 153, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 153 }, { "id": "0x0000", @@ -221,25 +196,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4000", @@ -264,13 +227,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -278,13 +239,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -307,7 +266,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-1n2zev06-ts0601.json b/tests/data/devices/tze200-1n2zev06-ts0601.json index 57c83c6d5..00be7eb9f 100644 --- a/tests/data/devices/tze200-1n2zev06-ts0601.json +++ b/tests/data/devices/tze200-1n2zev06-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -75,7 +74,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -100,19 +98,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -131,7 +126,6 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0400", @@ -156,7 +150,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -164,13 +157,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-2aaelwxk-ts0225.json b/tests/data/devices/tze200-2aaelwxk-ts0225.json index 5f91d8bae..ffc4da039 100644 --- a/tests/data/devices/tze200-2aaelwxk-ts0225.json +++ b/tests/data/devices/tze200-2aaelwxk-ts0225.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,13 +62,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -88,7 +85,6 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -107,7 +103,6 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -120,13 +115,11 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -142,7 +135,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -189,7 +181,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -230,7 +221,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -277,7 +267,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -318,7 +307,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -365,7 +353,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -406,7 +393,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -453,7 +439,6 @@ { "cluster_id": "0x0012", "endpoint_attribute": "multistate_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -494,7 +479,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-2ekuz3dz-ts0601.json b/tests/data/devices/tze200-2ekuz3dz-ts0601.json index 42d79ffac..342a7ebcc 100644 --- a/tests/data/devices/tze200-2ekuz3dz-ts0601.json +++ b/tests/data/devices/tze200-2ekuz3dz-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -83,13 +79,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -105,7 +99,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-2gtsuokt-ts0601.json b/tests/data/devices/tze200-2gtsuokt-ts0601.json index 3b5b1bc40..488392aa1 100644 --- a/tests/data/devices/tze200-2gtsuokt-ts0601.json +++ b/tests/data/devices/tze200-2gtsuokt-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -105,7 +104,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -124,7 +122,6 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -167,7 +164,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -175,13 +171,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-2se8efxh-ts0601.json b/tests/data/devices/tze200-2se8efxh-ts0601.json index 675d4cdf8..a9b6444fb 100644 --- a/tests/data/devices/tze200-2se8efxh-ts0601.json +++ b/tests/data/devices/tze200-2se8efxh-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -94,31 +92,26 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0408", "endpoint_attribute": "soil_moisture", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -126,13 +119,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-3t91nb6k-ts0601.json b/tests/data/devices/tze200-3t91nb6k-ts0601.json index 219542e9c..394f88e8f 100644 --- a/tests/data/devices/tze200-3t91nb6k-ts0601.json +++ b/tests/data/devices/tze200-3t91nb6k-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-3towulqd-ts0601.json b/tests/data/devices/tze200-3towulqd-ts0601.json index 56e8a4c94..bd8dc15df 100644 --- a/tests/data/devices/tze200-3towulqd-ts0601.json +++ b/tests/data/devices/tze200-3towulqd-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -100,7 +98,6 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -119,7 +116,6 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -132,13 +128,11 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef0a", @@ -159,13 +153,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-3ylew7b4-ts0601.json b/tests/data/devices/tze200-3ylew7b4-ts0601.json index 8772dca9b..dec134d54 100644 --- a/tests/data/devices/tze200-3ylew7b4-ts0601.json +++ b/tests/data/devices/tze200-3ylew7b4-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-4utwozi2-ts0601.json b/tests/data/devices/tze200-4utwozi2-ts0601.json index 99cb6b356..85500e03a 100644 --- a/tests/data/devices/tze200-4utwozi2-ts0601.json +++ b/tests/data/devices/tze200-4utwozi2-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -136,7 +132,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -144,13 +139,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-4wxtg5y9-ts0601.json b/tests/data/devices/tze200-4wxtg5y9-ts0601.json index 1d4430e3f..2385b6f7b 100644 --- a/tests/data/devices/tze200-4wxtg5y9-ts0601.json +++ b/tests/data/devices/tze200-4wxtg5y9-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -105,19 +104,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -125,13 +121,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -147,7 +141,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-68nvbio9-ts0601.json b/tests/data/devices/tze200-68nvbio9-ts0601.json index c71063a83..dcb80a04f 100644 --- a/tests/data/devices/tze200-68nvbio9-ts0601.json +++ b/tests/data/devices/tze200-68nvbio9-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -159,19 +158,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -183,25 +179,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 100, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 100 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -244,7 +228,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -252,13 +235,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-6rdj8dzm-ts0601.json b/tests/data/devices/tze200-6rdj8dzm-ts0601.json index 865dd1dee..12f61088d 100644 --- a/tests/data/devices/tze200-6rdj8dzm-ts0601.json +++ b/tests/data/devices/tze200-6rdj8dzm-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -136,7 +132,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -144,13 +139,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-7bztmfm1-ts0601.json b/tests/data/devices/tze200-7bztmfm1-ts0601.json index 5c59897b6..09f962a29 100644 --- a/tests/data/devices/tze200-7bztmfm1-ts0601.json +++ b/tests/data/devices/tze200-7bztmfm1-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,55 +68,46 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x040d", "endpoint_attribute": "carbon_dioxide_concentration", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042a", "endpoint_attribute": "pm25", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042b", "endpoint_attribute": "formaldehyde_concentration", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042e", "endpoint_attribute": "voc_level", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -125,13 +115,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -154,7 +142,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-7ytb3h8u-ts0601.json b/tests/data/devices/tze200-7ytb3h8u-ts0601.json index 5fb3ccf80..f847205f5 100644 --- a/tests/data/devices/tze200-7ytb3h8u-ts0601.json +++ b/tests/data/devices/tze200-7ytb3h8u-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -100,19 +98,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,7 +120,6 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -156,7 +150,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef67", @@ -213,13 +206,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-81isopgh-ts0601.json b/tests/data/devices/tze200-81isopgh-ts0601.json index 9f188ad12..d302db145 100644 --- a/tests/data/devices/tze200-81isopgh-ts0601.json +++ b/tests/data/devices/tze200-81isopgh-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -117,7 +116,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0052", @@ -154,19 +152,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -191,7 +186,6 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0020", @@ -228,7 +222,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -243,13 +236,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-86nbew0j-ts0601.json b/tests/data/devices/tze200-86nbew0j-ts0601.json index a1f3bd21e..8d9d1eb23 100644 --- a/tests/data/devices/tze200-86nbew0j-ts0601.json +++ b/tests/data/devices/tze200-86nbew0j-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-8whfphjv-ts0601.json b/tests/data/devices/tze200-8whfphjv-ts0601.json index fec297793..578669da2 100644 --- a/tests/data/devices/tze200-8whfphjv-ts0601.json +++ b/tests/data/devices/tze200-8whfphjv-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-9caxna4s-ts0301.json b/tests/data/devices/tze200-9caxna4s-ts0301.json index b0e92383f..84fb46c82 100644 --- a/tests/data/devices/tze200-9caxna4s-ts0301.json +++ b/tests/data/devices/tze200-9caxna4s-ts0301.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 70, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 70 }, { "id": "0x0033", @@ -93,38 +85,28 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -136,25 +118,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0011", @@ -197,7 +167,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -205,13 +174,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-9xfjixap-ts0601.json b/tests/data/devices/tze200-9xfjixap-ts0601.json index 2252817b6..f8bd10618 100644 --- a/tests/data/devices/tze200-9xfjixap-ts0601.json +++ b/tests/data/devices/tze200-9xfjixap-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -136,7 +132,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -144,13 +139,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-a0syesf5-ts0601.json b/tests/data/devices/tze200-a0syesf5-ts0601.json index bea579d97..6ba69fd37 100644 --- a/tests/data/devices/tze200-a0syesf5-ts0601.json +++ b/tests/data/devices/tze200-a0syesf5-ts0601.json @@ -44,37 +44,27 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -87,26 +77,18 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 2, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2 } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -114,13 +96,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-a1dia7ml-ts0601.json b/tests/data/devices/tze200-a1dia7ml-ts0601.json index 6b6924e42..44668f91f 100644 --- a/tests/data/devices/tze200-a1dia7ml-ts0601.json +++ b/tests/data/devices/tze200-a1dia7ml-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-a7sghmms-ts0601.json b/tests/data/devices/tze200-a7sghmms-ts0601.json index 7a383e5d2..0a80b4211 100644 --- a/tests/data/devices/tze200-a7sghmms-ts0601.json +++ b/tests/data/devices/tze200-a7sghmms-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -100,19 +98,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,7 +120,6 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -156,7 +150,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef67", @@ -219,13 +212,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-abatw3kj-ts0601.json b/tests/data/devices/tze200-abatw3kj-ts0601.json index 2d711deb0..b44e634b3 100644 --- a/tests/data/devices/tze200-abatw3kj-ts0601.json +++ b/tests/data/devices/tze200-abatw3kj-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-agumlajc-ts0601.json b/tests/data/devices/tze200-agumlajc-ts0601.json index a5f14fc10..13821c513 100644 --- a/tests/data/devices/tze200-agumlajc-ts0601.json +++ b/tests/data/devices/tze200-agumlajc-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -117,13 +116,11 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffe", @@ -136,7 +133,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -144,13 +140,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-akjefhj5-ts0601.json b/tests/data/devices/tze200-akjefhj5-ts0601.json index 2e53aedb2..a193f461e 100644 --- a/tests/data/devices/tze200-akjefhj5-ts0601.json +++ b/tests/data/devices/tze200-akjefhj5-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-aoclfnxz-ts0601.json b/tests/data/devices/tze200-aoclfnxz-ts0601.json index fa4de09aa..8752d91c4 100644 --- a/tests/data/devices/tze200-aoclfnxz-ts0601.json +++ b/tests/data/devices/tze200-aoclfnxz-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -117,13 +113,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2150, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2150 }, { "id": "0x0018", @@ -153,61 +143,31 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1800, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1800 }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0025", @@ -219,68 +179,37 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -293,7 +222,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -301,13 +229,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-b6wax7g0-ts0601.json b/tests/data/devices/tze200-b6wax7g0-ts0601.json index d9a131924..869261719 100644 --- a/tests/data/devices/tze200-b6wax7g0-ts0601.json +++ b/tests/data/devices/tze200-b6wax7g0-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,20 +62,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0033", "name": "battery_quantity", @@ -94,56 +80,27 @@ "name": "battery_size", "zcl_type": "enum8", "value": 3 - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x001b", @@ -161,13 +118,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 1600, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1600 }, { "id": "0x0016", @@ -175,125 +126,29 @@ "zcl_type": "int16", "value": 3000 }, - { - "id": "0x0002", - "name": "occupancy", - "zcl_type": "map8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0011", - "name": "occupied_cooling_setpoint", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1400, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, - { - "id": "0x0007", - "name": "pi_cooling_demand", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } - }, - { - "id": "0x0008", - "name": "pi_heating_demand", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "value": 1400 }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 1, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0013", - "name": "unoccupied_cooling_setpoint", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, - { - "id": "0x0014", - "name": "unoccupied_heating_setpoint", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x4004", @@ -306,13 +161,11 @@ { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "SUCCESS", "attributes": [ { "id": "0x026c", @@ -351,13 +204,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-bcusnqt8-ts0601.json b/tests/data/devices/tze200-bcusnqt8-ts0601.json index e0ceabc99..09385bcda 100644 --- a/tests/data/devices/tze200-bcusnqt8-ts0601.json +++ b/tests/data/devices/tze200-bcusnqt8-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-bkkmqmyo-ts0601.json b/tests/data/devices/tze200-bkkmqmyo-ts0601.json index f911c6dd1..3bf882456 100644 --- a/tests/data/devices/tze200-bkkmqmyo-ts0601.json +++ b/tests/data/devices/tze200-bkkmqmyo-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,115 +86,64 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 1396.8, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1396.8 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 1253.2, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1253.2 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -213,13 +161,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -237,13 +179,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -262,43 +198,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 5000, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5000 }, { "id": "0x0401", @@ -322,61 +239,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 8, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 8 }, { "id": "0x050d", @@ -400,145 +287,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -550,13 +311,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -580,13 +335,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -598,13 +347,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050a", @@ -628,37 +371,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0507", @@ -682,37 +407,19 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0305", @@ -725,7 +432,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "SUCCESS", "attributes": [ { "id": "0x0201", @@ -782,13 +488,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -810,19 +514,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] } diff --git a/tests/data/devices/tze200-bvrlmajk-ts0601.json b/tests/data/devices/tze200-bvrlmajk-ts0601.json index ed2a6258a..0366c4be3 100644 --- a/tests/data/devices/tze200-bvrlmajk-ts0601.json +++ b/tests/data/devices/tze200-bvrlmajk-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-byzdayie-ts0601.json b/tests/data/devices/tze200-byzdayie-ts0601.json index 3cc330ba5..2b999c2c0 100644 --- a/tests/data/devices/tze200-byzdayie-ts0601.json +++ b/tests/data/devices/tze200-byzdayie-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -153,7 +152,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -166,7 +164,6 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -185,19 +182,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -210,103 +200,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 8994.84, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 8994.84 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -324,13 +265,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -348,13 +283,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -373,43 +302,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -433,61 +343,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 184.8, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 184.8 }, { "id": "0x050d", @@ -495,149 +375,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -649,13 +391,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -667,25 +403,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1499, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1499 }, { "id": "0x050a", @@ -693,90 +417,23 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 229.7, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 229.7 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -784,13 +441,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-c88teujp-ts0601.json b/tests/data/devices/tze200-c88teujp-ts0601.json index 19cdc726d..3b628a0b9 100644 --- a/tests/data/devices/tze200-c88teujp-ts0601.json +++ b/tests/data/devices/tze200-c88teujp-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -160,7 +156,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef6a", @@ -211,13 +206,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-cirvgep4-ts0601.json b/tests/data/devices/tze200-cirvgep4-ts0601.json index 777b4b7cb..f475a9b87 100644 --- a/tests/data/devices/tze200-cirvgep4-ts0601.json +++ b/tests/data/devices/tze200-cirvgep4-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -94,7 +92,6 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -107,7 +104,6 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -120,7 +116,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -135,13 +130,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-cpbo62rn-ts0601.json b/tests/data/devices/tze200-cpbo62rn-ts0601.json index 663a92d78..79c4acb7a 100644 --- a/tests/data/devices/tze200-cpbo62rn-ts0601.json +++ b/tests/data/devices/tze200-cpbo62rn-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,50 +68,28 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 44, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0009", - "name": "current_position_tilt_percentage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 44 } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -120,13 +97,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-cpmgn2cf-ts0601.json b/tests/data/devices/tze200-cpmgn2cf-ts0601.json index 1993500bb..f20170553 100644 --- a/tests/data/devices/tze200-cpmgn2cf-ts0601.json +++ b/tests/data/devices/tze200-cpmgn2cf-ts0601.json @@ -44,25 +44,17 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -80,51 +72,28 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "on_off", - "zcl_type": "bool", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -160,13 +129,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0010", @@ -202,61 +165,31 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0025", @@ -268,68 +201,37 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -342,7 +244,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -350,13 +251,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -371,19 +270,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -406,7 +298,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -442,13 +333,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0068", @@ -477,7 +362,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -513,13 +397,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0068", @@ -548,7 +426,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -584,13 +461,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0068", @@ -619,19 +490,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -654,7 +518,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -690,13 +553,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0068", @@ -725,7 +582,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -761,13 +617,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0068", @@ -796,7 +646,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -832,13 +681,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0068", @@ -867,7 +710,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -903,13 +745,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0068", @@ -938,7 +774,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -974,13 +809,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0068", diff --git a/tests/data/devices/tze200-crq3r3la-ck-bl702-mws-01-7016.json b/tests/data/devices/tze200-crq3r3la-ck-bl702-mws-01-7016.json index 6d8096599..055da7fc9 100644 --- a/tests/data/devices/tze200-crq3r3la-ck-bl702-mws-01-7016.json +++ b/tests/data/devices/tze200-crq3r3la-ck-bl702-mws-01-7016.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -100,7 +95,6 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -113,7 +107,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0010", @@ -153,31 +146,26 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe002", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xee00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -185,7 +173,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-dwcarsat-ts0601.json b/tests/data/devices/tze200-dwcarsat-ts0601.json index 81fb55ff7..967a34e2b 100644 --- a/tests/data/devices/tze200-dwcarsat-ts0601.json +++ b/tests/data/devices/tze200-dwcarsat-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -75,19 +74,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -106,7 +102,6 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -119,7 +114,6 @@ { "cluster_id": "0x040d", "endpoint_attribute": "carbon_dioxide_concentration", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -150,13 +144,11 @@ { "cluster_id": "0x042a", "endpoint_attribute": "pm25", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042b", "endpoint_attribute": "formaldehyde_concentration", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -193,7 +185,6 @@ { "cluster_id": "0x042e", "endpoint_attribute": "voc_level", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -224,7 +215,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -232,13 +222,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -254,7 +242,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-e5hpkc6d-ts0601.json b/tests/data/devices/tze200-e5hpkc6d-ts0601.json index 634e1f7c1..199132bba 100644 --- a/tests/data/devices/tze200-e5hpkc6d-ts0601.json +++ b/tests/data/devices/tze200-e5hpkc6d-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-eevqq1uv-ts0601.json b/tests/data/devices/tze200-eevqq1uv-ts0601.json index 0b048eb14..8f83ce1e8 100644 --- a/tests/data/devices/tze200-eevqq1uv-ts0601.json +++ b/tests/data/devices/tze200-eevqq1uv-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-ewxhg6o9-ts0601.json b/tests/data/devices/tze200-ewxhg6o9-ts0601.json index c50c94573..85d0d4d10 100644 --- a/tests/data/devices/tze200-ewxhg6o9-ts0601.json +++ b/tests/data/devices/tze200-ewxhg6o9-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -93,31 +92,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -130,103 +120,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 433.85, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 433.85 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -244,13 +185,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -268,13 +203,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -293,43 +222,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -353,61 +263,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 52.8, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 52.8 }, { "id": "0x050d", @@ -415,149 +295,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -569,13 +311,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -587,25 +323,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 466, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 466 }, { "id": "0x050a", @@ -613,90 +337,23 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 238.1, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 238.1 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -704,13 +361,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-f1pvdgoh-ts0601.json b/tests/data/devices/tze200-f1pvdgoh-ts0601.json index bcb4c6c5a..df9652667 100644 --- a/tests/data/devices/tze200-f1pvdgoh-ts0601.json +++ b/tests/data/devices/tze200-f1pvdgoh-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-fvldku9h-ts0601.json b/tests/data/devices/tze200-fvldku9h-ts0601.json index b6d774895..0b94e4456 100644 --- a/tests/data/devices/tze200-fvldku9h-ts0601.json +++ b/tests/data/devices/tze200-fvldku9h-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-g9a3awaj-ts0601.json b/tests/data/devices/tze200-g9a3awaj-ts0601.json index fec9c9cfc..b28a76571 100644 --- a/tests/data/devices/tze200-g9a3awaj-ts0601.json +++ b/tests/data/devices/tze200-g9a3awaj-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -81,19 +80,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -129,13 +125,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0010", @@ -171,61 +161,31 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0025", @@ -237,25 +197,13 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0030", @@ -267,44 +215,25 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -317,7 +246,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -325,13 +253,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-gaj531w3-ts0601.json b/tests/data/devices/tze200-gaj531w3-ts0601.json index e07b3ff73..f916fb92f 100644 --- a/tests/data/devices/tze200-gaj531w3-ts0601.json +++ b/tests/data/devices/tze200-gaj531w3-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -93,25 +89,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -154,7 +138,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "SUCCESS", "attributes": [] } ], @@ -162,13 +145,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-gjldowol-ts0601.json b/tests/data/devices/tze200-gjldowol-ts0601.json index 039f996da..2d9e21646 100644 --- a/tests/data/devices/tze200-gjldowol-ts0601.json +++ b/tests/data/devices/tze200-gjldowol-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -88,7 +86,6 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -101,13 +98,11 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -115,13 +110,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-gkfbdvyx-ts0601.json b/tests/data/devices/tze200-gkfbdvyx-ts0601.json index a9525f320..a15b26686 100644 --- a/tests/data/devices/tze200-gkfbdvyx-ts0601.json +++ b/tests/data/devices/tze200-gkfbdvyx-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -88,13 +84,11 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/tze200-gubdgai2-ts0601.json b/tests/data/devices/tze200-gubdgai2-ts0601.json index 71e546b3e..198670ee0 100644 --- a/tests/data/devices/tze200-gubdgai2-ts0601.json +++ b/tests/data/devices/tze200-gubdgai2-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -81,50 +80,28 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 90, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0009", - "name": "current_position_tilt_percentage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 90 } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -132,13 +109,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-guvc7pdy-ts0601.json b/tests/data/devices/tze200-guvc7pdy-ts0601.json index 723d30872..056c2de01 100644 --- a/tests/data/devices/tze200-guvc7pdy-ts0601.json +++ b/tests/data/devices/tze200-guvc7pdy-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-h4cgnbzg-ts0601.json b/tests/data/devices/tze200-h4cgnbzg-ts0601.json index 58713d793..53e6b9630 100644 --- a/tests/data/devices/tze200-h4cgnbzg-ts0601.json +++ b/tests/data/devices/tze200-h4cgnbzg-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -129,7 +128,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef6a", diff --git a/tests/data/devices/tze200-hhrtiq0x-ts0601.json b/tests/data/devices/tze200-hhrtiq0x-ts0601.json index aa034ba3a..a4659347f 100644 --- a/tests/data/devices/tze200-hhrtiq0x-ts0601.json +++ b/tests/data/devices/tze200-hhrtiq0x-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 10, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0033", @@ -100,37 +92,22 @@ "name": "battery_size", "zcl_type": "enum8", "value": 3 - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x001b", @@ -142,73 +119,13 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2370, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, - { - "id": "0x0002", - "name": "occupancy", - "zcl_type": "map8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0011", - "name": "occupied_cooling_setpoint", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2370 }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 700, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, - { - "id": "0x0007", - "name": "pi_cooling_demand", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } - }, - { - "id": "0x0008", - "name": "pi_heating_demand", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "value": 700 }, { "id": "0x0025", @@ -220,68 +137,25 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 1, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0013", - "name": "unoccupied_cooling_setpoint", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, - { - "id": "0x0014", - "name": "unoccupied_heating_setpoint", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 4 } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -294,7 +168,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -302,13 +175,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-hl0ss9oa-ts0225.json b/tests/data/devices/tze200-hl0ss9oa-ts0225.json index 5f59a23ad..da90ff81d 100644 --- a/tests/data/devices/tze200-hl0ss9oa-ts0225.json +++ b/tests/data/devices/tze200-hl0ss9oa-ts0225.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,13 +62,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0xfffd", @@ -87,13 +84,7 @@ "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 30648, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 30648 }, { "id": "0xfffe", @@ -106,7 +97,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -146,25 +136,21 @@ { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe002", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xee00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -181,7 +167,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-hr0tdd47-ts0601.json b/tests/data/devices/tze200-hr0tdd47-ts0601.json index 72e8d68ba..465142048 100644 --- a/tests/data/devices/tze200-hr0tdd47-ts0601.json +++ b/tests/data/devices/tze200-hr0tdd47-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -94,19 +92,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -119,7 +114,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -127,13 +121,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-iba1ckek-ts0601.json b/tests/data/devices/tze200-iba1ckek-ts0601.json index 5dd75f56d..93f55d8e1 100644 --- a/tests/data/devices/tze200-iba1ckek-ts0601.json +++ b/tests/data/devices/tze200-iba1ckek-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", diff --git a/tests/data/devices/tze200-icka1clh-ts0601.json b/tests/data/devices/tze200-icka1clh-ts0601.json index 0fd468e42..90ea431b8 100644 --- a/tests/data/devices/tze200-icka1clh-ts0601.json +++ b/tests/data/devices/tze200-icka1clh-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -93,25 +89,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -154,7 +138,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "SUCCESS", "attributes": [] } ], @@ -162,13 +145,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-ijey4q29-ts0601.json b/tests/data/devices/tze200-ijey4q29-ts0601.json index e546000c7..abc831bc8 100644 --- a/tests/data/devices/tze200-ijey4q29-ts0601.json +++ b/tests/data/devices/tze200-ijey4q29-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,45 +85,30 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 33, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 33 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -171,13 +148,11 @@ { "cluster_id": "0xe002", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], diff --git a/tests/data/devices/tze200-iuk8kupi-ts0601.json b/tests/data/devices/tze200-iuk8kupi-ts0601.json index fbeb16417..6c2e0a47a 100644 --- a/tests/data/devices/tze200-iuk8kupi-ts0601.json +++ b/tests/data/devices/tze200-iuk8kupi-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -111,7 +105,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-js3mgbjb-ts0601.json b/tests/data/devices/tze200-js3mgbjb-ts0601.json index 7abdb90a3..60bc383a6 100644 --- a/tests/data/devices/tze200-js3mgbjb-ts0601.json +++ b/tests/data/devices/tze200-js3mgbjb-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-jva8ink8-ts0601.json b/tests/data/devices/tze200-jva8ink8-ts0601.json index 9abed32a1..f02d69c38 100644 --- a/tests/data/devices/tze200-jva8ink8-ts0601.json +++ b/tests/data/devices/tze200-jva8ink8-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,19 +86,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -112,7 +108,6 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -131,7 +126,6 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -150,7 +144,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef04", @@ -201,13 +194,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-jwsjbxjs-ts0601.json b/tests/data/devices/tze200-jwsjbxjs-ts0601.json index 491c51e3f..4e58d4d29 100644 --- a/tests/data/devices/tze200-jwsjbxjs-ts0601.json +++ b/tests/data/devices/tze200-jwsjbxjs-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,31 +68,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -106,7 +96,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "SUCCESS", "attributes": [] } ], @@ -114,13 +103,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -142,19 +129,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -177,19 +157,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -212,19 +185,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -247,19 +213,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -283,7 +242,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-kb5noeto-ts0601.json b/tests/data/devices/tze200-kb5noeto-ts0601.json index 8d63472d2..d6b520371 100644 --- a/tests/data/devices/tze200-kb5noeto-ts0601.json +++ b/tests/data/devices/tze200-kb5noeto-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -100,13 +98,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -125,13 +121,11 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0010", @@ -171,7 +165,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/tze200-khozatfx-ts0601.json b/tests/data/devices/tze200-khozatfx-ts0601.json index 40b8f9c0c..f9a700723 100644 --- a/tests/data/devices/tze200-khozatfx-ts0601.json +++ b/tests/data/devices/tze200-khozatfx-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-kyfqmmyl-ts0601.json b/tests/data/devices/tze200-kyfqmmyl-ts0601.json index d3ce0a3d4..ff3b37b5c 100644 --- a/tests/data/devices/tze200-kyfqmmyl-ts0601.json +++ b/tests/data/devices/tze200-kyfqmmyl-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,31 +68,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -106,13 +96,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "SUCCESS", "attributes": [] } ], @@ -120,7 +108,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -135,19 +122,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -170,19 +150,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", diff --git a/tests/data/devices/tze200-la2c2uo9-ts0601.json b/tests/data/devices/tze200-la2c2uo9-ts0601.json index 00bf06b94..e2e17c879 100644 --- a/tests/data/devices/tze200-la2c2uo9-ts0601.json +++ b/tests/data/devices/tze200-la2c2uo9-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -57,31 +56,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -94,26 +84,18 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 19, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 19 } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -121,13 +103,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-laqjm8qd-ts0601.json b/tests/data/devices/tze200-laqjm8qd-ts0601.json index 3a8f77410..2b0d686cb 100644 --- a/tests/data/devices/tze200-laqjm8qd-ts0601.json +++ b/tests/data/devices/tze200-laqjm8qd-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -111,7 +105,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-libht6ua-ts0601.json b/tests/data/devices/tze200-libht6ua-ts0601.json index 76bfd0321..01410ebd9 100644 --- a/tests/data/devices/tze200-libht6ua-ts0601.json +++ b/tests/data/devices/tze200-libht6ua-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-locansqn-ts0601.json b/tests/data/devices/tze200-locansqn-ts0601.json index fcc6c6a37..c179cd1e4 100644 --- a/tests/data/devices/tze200-locansqn-ts0601.json +++ b/tests/data/devices/tze200-locansqn-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -100,19 +98,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,7 +120,6 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -138,7 +132,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef0c", @@ -219,7 +212,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0007", @@ -244,7 +236,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-m9skfctm-ts0601.json b/tests/data/devices/tze200-m9skfctm-ts0601.json index 5c20a0f1a..0a52b7497 100644 --- a/tests/data/devices/tze200-m9skfctm-ts0601.json +++ b/tests/data/devices/tze200-m9skfctm-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -100,7 +96,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -108,13 +103,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-mgxy2d9f-ts0601.json b/tests/data/devices/tze200-mgxy2d9f-ts0601.json index 87b16da26..6a29ab385 100644 --- a/tests/data/devices/tze200-mgxy2d9f-ts0601.json +++ b/tests/data/devices/tze200-mgxy2d9f-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -83,13 +79,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-mja3fuja-ts0601.json b/tests/data/devices/tze200-mja3fuja-ts0601.json index d303abd7e..635583552 100644 --- a/tests/data/devices/tze200-mja3fuja-ts0601.json +++ b/tests/data/devices/tze200-mja3fuja-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,49 +68,41 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x040d", "endpoint_attribute": "carbon_dioxide_concentration", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042b", "endpoint_attribute": "formaldehyde_concentration", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042e", "endpoint_attribute": "voc_level", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -119,13 +110,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -141,7 +130,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-moycceze-ts0601.json b/tests/data/devices/tze200-moycceze-ts0601.json index 1982c55e9..141fc8457 100644 --- a/tests/data/devices/tze200-moycceze-ts0601.json +++ b/tests/data/devices/tze200-moycceze-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -83,13 +79,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-mudxchsu-ts0601.json b/tests/data/devices/tze200-mudxchsu-ts0601.json index 9c340533f..79e72f2e7 100644 --- a/tests/data/devices/tze200-mudxchsu-ts0601.json +++ b/tests/data/devices/tze200-mudxchsu-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -99,44 +91,29 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -149,7 +126,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -185,13 +161,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 0.0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0.0 }, { "id": "0x0068", @@ -210,7 +180,6 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -222,20 +191,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -277,13 +239,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2060, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2060 }, { "id": "0x0010", @@ -319,37 +275,19 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1500, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1500 }, { "id": "0x4002", @@ -361,25 +299,13 @@ "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0025", @@ -391,25 +317,13 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0030", @@ -421,44 +335,25 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "value": 1600, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1600 } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -471,7 +366,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "SUCCESS", "attributes": [ { "id": "0x0223", @@ -582,13 +476,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -610,19 +502,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -635,7 +520,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -671,13 +555,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 5.0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5.0 }, { "id": "0x0068", @@ -706,19 +584,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", diff --git a/tests/data/devices/tze200-myd45weu-ts0601.json b/tests/data/devices/tze200-myd45weu-ts0601.json index 803ef9d3f..c5e733cac 100644 --- a/tests/data/devices/tze200-myd45weu-ts0601.json +++ b/tests/data/devices/tze200-myd45weu-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -100,19 +98,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,7 +120,6 @@ { "cluster_id": "0x0408", "endpoint_attribute": "soil_moisture", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -138,7 +132,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -153,13 +146,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-mz5y07w2-ts0601.json b/tests/data/devices/tze200-mz5y07w2-ts0601.json index bdaf2aead..26742f1f5 100644 --- a/tests/data/devices/tze200-mz5y07w2-ts0601.json +++ b/tests/data/devices/tze200-mz5y07w2-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,50 +62,28 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -142,13 +119,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x006a", @@ -161,7 +132,6 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x001b", @@ -173,13 +143,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2880, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2880 }, { "id": "0x0016", @@ -193,132 +157,29 @@ "zcl_type": "int16", "value": 500 }, - { - "id": "0x0002", - "name": "occupancy", - "zcl_type": "map8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0011", - "name": "occupied_cooling_setpoint", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 500, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, - { - "id": "0x0007", - "name": "pi_cooling_demand", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } - }, - { - "id": "0x0008", - "name": "pi_heating_demand", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "value": 500 }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0029", - "name": "running_state", - "zcl_type": "map16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0013", - "name": "unoccupied_cooling_setpoint", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, - { - "id": "0x0014", - "name": "unoccupied_heating_setpoint", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -326,13 +187,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-mzik0ov2-ts0601.json b/tests/data/devices/tze200-mzik0ov2-ts0601.json index 52eda6bde..423b70f4a 100644 --- a/tests/data/devices/tze200-mzik0ov2-ts0601.json +++ b/tests/data/devices/tze200-mzik0ov2-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -83,13 +79,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-nklqjk62-ts0601.json b/tests/data/devices/tze200-nklqjk62-ts0601.json index 195a0dc82..3ddf12f6c 100644 --- a/tests/data/devices/tze200-nklqjk62-ts0601.json +++ b/tests/data/devices/tze200-nklqjk62-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -57,19 +56,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -77,13 +73,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -99,7 +93,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-nojsjtj2-ts0601.json b/tests/data/devices/tze200-nojsjtj2-ts0601.json index 83e13cdb6..2c26bbde1 100644 --- a/tests/data/devices/tze200-nojsjtj2-ts0601.json +++ b/tests/data/devices/tze200-nojsjtj2-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", diff --git a/tests/data/devices/tze200-npj9bug3-ts0601.json b/tests/data/devices/tze200-npj9bug3-ts0601.json index e6f4e1437..8495d8cbb 100644 --- a/tests/data/devices/tze200-npj9bug3-ts0601.json +++ b/tests/data/devices/tze200-npj9bug3-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,57 +85,36 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2490, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2490 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 0 } ] } @@ -152,7 +123,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-ntcy3xu1-ts0601.json b/tests/data/devices/tze200-ntcy3xu1-ts0601.json index 25af8b131..d9627b1bd 100644 --- a/tests/data/devices/tze200-ntcy3xu1-ts0601.json +++ b/tests/data/devices/tze200-ntcy3xu1-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -94,19 +92,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -125,7 +120,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -140,13 +134,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-ny94onlb-ts0601.json b/tests/data/devices/tze200-ny94onlb-ts0601.json index 2a602b719..62396994a 100644 --- a/tests/data/devices/tze200-ny94onlb-ts0601.json +++ b/tests/data/devices/tze200-ny94onlb-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,115 +68,64 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 26, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 26 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -195,13 +143,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -219,13 +161,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -244,43 +180,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -304,61 +221,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 298, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 298 }, { "id": "0x050d", @@ -370,145 +257,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "value": 266, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 266 }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "value": 70, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 70 }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -520,13 +281,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -538,25 +293,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1380, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1380 }, { "id": "0x050a", @@ -568,37 +311,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "value": 1576, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1576 }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "value": 413, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 413 }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 2238, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2238 }, { "id": "0x0507", @@ -610,44 +335,19 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "value": 2159, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2159 }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "value": 2272, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2272 } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -655,13 +355,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -683,43 +381,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -743,61 +422,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 298, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 298 }, { "id": "0x050d", @@ -805,149 +454,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -959,13 +470,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -977,25 +482,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1380, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1380 }, { "id": "0x050a", @@ -1003,83 +496,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 2238, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2238 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -1096,43 +523,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -1156,61 +564,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 266, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 266 }, { "id": "0x050d", @@ -1218,149 +596,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -1372,13 +612,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -1390,25 +624,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 1576, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1576 }, { "id": "0x050a", @@ -1416,83 +638,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 2159, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2159 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -1509,43 +665,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -1569,61 +706,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 70, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 70 }, { "id": "0x050d", @@ -1631,149 +738,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -1785,13 +754,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -1803,25 +766,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 413, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 413 }, { "id": "0x050a", @@ -1829,83 +780,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 2272, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2272 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } diff --git a/tests/data/devices/tze200-nyvavzbj-ts0601.json b/tests/data/devices/tze200-nyvavzbj-ts0601.json index 28e849d6f..da0ada21d 100644 --- a/tests/data/devices/tze200-nyvavzbj-ts0601.json +++ b/tests/data/devices/tze200-nyvavzbj-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -75,7 +74,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -88,13 +86,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -102,13 +98,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-pay2byax-ts0601.json b/tests/data/devices/tze200-pay2byax-ts0601.json index 0122d05d4..4f170e5c6 100644 --- a/tests/data/devices/tze200-pay2byax-ts0601.json +++ b/tests/data/devices/tze200-pay2byax-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -100,13 +98,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -125,7 +121,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -144,7 +139,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/tze200-pl31aqf5-ts0601.json b/tests/data/devices/tze200-pl31aqf5-ts0601.json index a71de5498..4a447acd3 100644 --- a/tests/data/devices/tze200-pl31aqf5-ts0601.json +++ b/tests/data/devices/tze200-pl31aqf5-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-pw7mji0l-ts0601.json b/tests/data/devices/tze200-pw7mji0l-ts0601.json index 51eb72aec..4a73eba7f 100644 --- a/tests/data/devices/tze200-pw7mji0l-ts0601.json +++ b/tests/data/devices/tze200-pw7mji0l-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -75,50 +74,28 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0009", - "name": "current_position_tilt_percentage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -126,7 +103,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-qhlxve78-ts0601.json b/tests/data/devices/tze200-qhlxve78-ts0601.json index c5b42c756..4fbed0748 100644 --- a/tests/data/devices/tze200-qhlxve78-ts0601.json +++ b/tests/data/devices/tze200-qhlxve78-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -99,13 +98,11 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -136,7 +133,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -144,13 +140,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-qrztc3ev-ts0601.json b/tests/data/devices/tze200-qrztc3ev-ts0601.json index e8fbffc5a..9028cb0cb 100644 --- a/tests/data/devices/tze200-qrztc3ev-ts0601.json +++ b/tests/data/devices/tze200-qrztc3ev-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -88,31 +86,26 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -120,13 +113,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-qyflbnbj-ts0601.json b/tests/data/devices/tze200-qyflbnbj-ts0601.json index 5ca8333eb..8ba3be3a0 100644 --- a/tests/data/devices/tze200-qyflbnbj-ts0601.json +++ b/tests/data/devices/tze200-qyflbnbj-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -81,7 +80,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -112,13 +110,11 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -131,7 +127,6 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -144,7 +139,6 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -157,7 +151,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -172,13 +165,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-r32ctezx-ts0601.json b/tests/data/devices/tze200-r32ctezx-ts0601.json index 82a6e7f53..b8a3c6d86 100644 --- a/tests/data/devices/tze200-r32ctezx-ts0601.json +++ b/tests/data/devices/tze200-r32ctezx-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -57,31 +56,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -94,26 +84,18 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -121,13 +103,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -150,7 +130,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-r5ksy7qo-ts0601.json b/tests/data/devices/tze200-r5ksy7qo-ts0601.json index f33931a05..ae82db1e7 100644 --- a/tests/data/devices/tze200-r5ksy7qo-ts0601.json +++ b/tests/data/devices/tze200-r5ksy7qo-ts0601.json @@ -44,25 +44,21 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -70,13 +66,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-rccxox8p-ts0601.json b/tests/data/devices/tze200-rccxox8p-ts0601.json index 0baf515eb..90fa36d57 100644 --- a/tests/data/devices/tze200-rccxox8p-ts0601.json +++ b/tests/data/devices/tze200-rccxox8p-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -57,19 +56,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -88,7 +84,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -96,13 +91,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-rk1wojce-ts0601.json b/tests/data/devices/tze200-rk1wojce-ts0601.json index d79b30e9c..7b099d5c7 100644 --- a/tests/data/devices/tze200-rk1wojce-ts0601.json +++ b/tests/data/devices/tze200-rk1wojce-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -83,13 +79,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-rks0sgb7-ts0601.json b/tests/data/devices/tze200-rks0sgb7-ts0601.json index 5cb8e926e..82c21d5d6 100644 --- a/tests/data/devices/tze200-rks0sgb7-ts0601.json +++ b/tests/data/devices/tze200-rks0sgb7-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xff66", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -89,13 +84,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-rmymn92d-ts0601.json b/tests/data/devices/tze200-rmymn92d-ts0601.json index b8dc839e6..0058a0f2b 100644 --- a/tests/data/devices/tze200-rmymn92d-ts0601.json +++ b/tests/data/devices/tze200-rmymn92d-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-rtrmfadk-ts0601.json b/tests/data/devices/tze200-rtrmfadk-ts0601.json index 0d960275c..5c1d13eb3 100644 --- a/tests/data/devices/tze200-rtrmfadk-ts0601.json +++ b/tests/data/devices/tze200-rtrmfadk-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-rxq4iti9-ts0601.json b/tests/data/devices/tze200-rxq4iti9-ts0601.json index ac0902128..a9a468779 100644 --- a/tests/data/devices/tze200-rxq4iti9-ts0601.json +++ b/tests/data/devices/tze200-rxq4iti9-ts0601.json @@ -44,13 +44,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -81,19 +79,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0100", @@ -148,7 +143,6 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0006", @@ -293,7 +287,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -301,13 +294,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-s6hzw8g2-ts0601.json b/tests/data/devices/tze200-s6hzw8g2-ts0601.json index 40ff861d2..20e34630d 100644 --- a/tests/data/devices/tze200-s6hzw8g2-ts0601.json +++ b/tests/data/devices/tze200-s6hzw8g2-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -83,13 +79,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-sur6q7ko-ts0601.json b/tests/data/devices/tze200-sur6q7ko-ts0601.json index 6923ddd98..3e5009428 100644 --- a/tests/data/devices/tze200-sur6q7ko-ts0601.json +++ b/tests/data/devices/tze200-sur6q7ko-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -94,56 +86,34 @@ "name": "battery_size", "zcl_type": "enum8", "value": 3 - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -179,13 +149,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 1.4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1.4 }, { "id": "0x006a", @@ -198,7 +162,6 @@ { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x001c", @@ -210,20 +173,13 @@ "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x001d", @@ -241,13 +197,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 1980, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1980 }, { "id": "0x0010", @@ -267,41 +217,11 @@ "zcl_type": "int16", "value": 500 }, - { - "id": "0x0002", - "name": "occupancy", - "zcl_type": "map8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0011", - "name": "occupied_cooling_setpoint", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1500, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1500 }, { "id": "0x4002", @@ -309,30 +229,6 @@ "zcl_type": "enum8", "value": 1 }, - { - "id": "0x0007", - "name": "pi_cooling_demand", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } - }, - { - "id": "0x0008", - "name": "pi_heating_demand", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } - }, { "id": "0x0025", "name": "programing_oper_mode", @@ -343,68 +239,31 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0013", - "name": "unoccupied_cooling_setpoint", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "value": 1700, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1700 } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -417,7 +276,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "SUCCESS", "attributes": [ { "id": "0x0223", @@ -528,13 +386,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -556,26 +412,18 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] }, { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -611,13 +459,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "value": 21.0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 21.0 }, { "id": "0x006a", @@ -640,19 +482,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] } diff --git a/tests/data/devices/tze200-t1blo2bj-ts0601.json b/tests/data/devices/tze200-t1blo2bj-ts0601.json index 90fc6773a..eda038536 100644 --- a/tests/data/devices/tze200-t1blo2bj-ts0601.json +++ b/tests/data/devices/tze200-t1blo2bj-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -57,7 +56,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -82,25 +80,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -108,13 +102,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -130,7 +122,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-t6gq6nju-ts0601.json b/tests/data/devices/tze200-t6gq6nju-ts0601.json index a69e30281..580aff80d 100644 --- a/tests/data/devices/tze200-t6gq6nju-ts0601.json +++ b/tests/data/devices/tze200-t6gq6nju-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -129,19 +128,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -149,13 +145,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -171,7 +165,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-udank5zs-ts0601.json b/tests/data/devices/tze200-udank5zs-ts0601.json index a9661b750..20a81c606 100644 --- a/tests/data/devices/tze200-udank5zs-ts0601.json +++ b/tests/data/devices/tze200-udank5zs-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -83,13 +79,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-uf1qujxj-ts0601.json b/tests/data/devices/tze200-uf1qujxj-ts0601.json index 33ee622cb..756569992 100644 --- a/tests/data/devices/tze200-uf1qujxj-ts0601.json +++ b/tests/data/devices/tze200-uf1qujxj-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-v1jqz5cy-ts0601.json b/tests/data/devices/tze200-v1jqz5cy-ts0601.json index 6632e79ff..4a54fd09f 100644 --- a/tests/data/devices/tze200-v1jqz5cy-ts0601.json +++ b/tests/data/devices/tze200-v1jqz5cy-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-v9hkz2yn-ts0601.json b/tests/data/devices/tze200-v9hkz2yn-ts0601.json index 7c0e1b41e..250c60507 100644 --- a/tests/data/devices/tze200-v9hkz2yn-ts0601.json +++ b/tests/data/devices/tze200-v9hkz2yn-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,115 +68,28 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 2164, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2164 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "current_tier1_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0102", - "name": "current_tier2_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0104", - "name": "current_tier3_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "current_tier4_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0108", - "name": "current_tier5_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x010a", - "name": "current_tier6_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0304", @@ -191,18 +103,6 @@ "zcl_type": "uint24", "value": 1000 }, - { - "id": "0x0400", - "name": "instantaneous_demand", - "zcl_type": "int24", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0306", "name": "metering_device_type", @@ -215,18 +115,6 @@ "zcl_type": "uint24", "unsupported": true }, - { - "id": "0x0200", - "name": "status", - "zcl_type": "map8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0303", "name": "summation_formatting", @@ -244,43 +132,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -304,61 +173,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 35, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 35 }, { "id": "0x050d", @@ -370,145 +209,19 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "value": 42, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 42 }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "value": 26, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 26 }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -520,13 +233,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -538,25 +245,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 368, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 368 }, { "id": "0x050a", @@ -568,37 +263,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "value": 758, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 758 }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "value": 301, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 301 }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 2431, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2431 }, { "id": "0x0507", @@ -610,44 +287,19 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "value": 2416, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2416 }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "value": 2417, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2417 } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -655,13 +307,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-vdiuwbkq-ts0601.json b/tests/data/devices/tze200-vdiuwbkq-ts0601.json index 49aabc66e..10a36d50d 100644 --- a/tests/data/devices/tze200-vdiuwbkq-ts0601.json +++ b/tests/data/devices/tze200-vdiuwbkq-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -87,25 +83,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -148,7 +132,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "SUCCESS", "attributes": [] } ], @@ -156,13 +139,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-viy9ihs7-ts0601.json b/tests/data/devices/tze200-viy9ihs7-ts0601.json index c10e1589e..be6c0e541 100644 --- a/tests/data/devices/tze200-viy9ihs7-ts0601.json +++ b/tests/data/devices/tze200-viy9ihs7-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001b", @@ -118,7 +114,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -126,13 +121,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-vuqzj1ej-ts0601.json b/tests/data/devices/tze200-vuqzj1ej-ts0601.json index 1b7154f6e..a0da7d5f4 100644 --- a/tests/data/devices/tze200-vuqzj1ej-ts0601.json +++ b/tests/data/devices/tze200-vuqzj1ej-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,83 +85,54 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 25983, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 25983 } ] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2410, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2410 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 6550, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 6550 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -209,7 +172,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -217,7 +179,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-vvmbj46n-ts0601.json b/tests/data/devices/tze200-vvmbj46n-ts0601.json index cc9c55ab2..122c541c5 100644 --- a/tests/data/devices/tze200-vvmbj46n-ts0601.json +++ b/tests/data/devices/tze200-vvmbj46n-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -75,7 +74,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -100,31 +98,26 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -132,13 +125,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-wdfurkoa-ts0601.json b/tests/data/devices/tze200-wdfurkoa-ts0601.json index bd8307eb9..81d3288a8 100644 --- a/tests/data/devices/tze200-wdfurkoa-ts0601.json +++ b/tests/data/devices/tze200-wdfurkoa-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-wfxuhoea-ts0601.json b/tests/data/devices/tze200-wfxuhoea-ts0601.json index 5e79b2034..50671bf68 100644 --- a/tests/data/devices/tze200-wfxuhoea-ts0601.json +++ b/tests/data/devices/tze200-wfxuhoea-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -57,19 +56,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -77,13 +73,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -106,7 +100,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-wktrysab-ts0601.json b/tests/data/devices/tze200-wktrysab-ts0601.json index 45c0a2031..a397fa3ae 100644 --- a/tests/data/devices/tze200-wktrysab-ts0601.json +++ b/tests/data/devices/tze200-wktrysab-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,31 +68,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,7 +96,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -114,13 +103,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -135,19 +122,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -170,19 +150,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -205,19 +178,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -240,19 +206,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -275,19 +234,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -310,19 +262,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -345,19 +290,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -381,7 +319,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-wqashyqo-ts0601.json b/tests/data/devices/tze200-wqashyqo-ts0601.json index eca468770..39d162bd6 100644 --- a/tests/data/devices/tze200-wqashyqo-ts0601.json +++ b/tests/data/devices/tze200-wqashyqo-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,57 +85,36 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 30, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 30 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2210, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2210 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 300, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 300 } ] } @@ -152,7 +123,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-xu4a5rhj-ts0601.json b/tests/data/devices/tze200-xu4a5rhj-ts0601.json index 4f773c7f3..55b18913c 100644 --- a/tests/data/devices/tze200-xu4a5rhj-ts0601.json +++ b/tests/data/devices/tze200-xu4a5rhj-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -111,7 +105,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-ya4ft0w4-ts0601.json b/tests/data/devices/tze200-ya4ft0w4-ts0601.json index f6ab2519b..1da92e1c9 100644 --- a/tests/data/devices/tze200-ya4ft0w4-ts0601.json +++ b/tests/data/devices/tze200-ya4ft0w4-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -94,7 +90,6 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -107,7 +102,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef04", diff --git a/tests/data/devices/tze200-yia0p3tr-ts0601.json b/tests/data/devices/tze200-yia0p3tr-ts0601.json index 36c7c4c40..43f7550be 100644 --- a/tests/data/devices/tze200-yia0p3tr-ts0601.json +++ b/tests/data/devices/tze200-yia0p3tr-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-yjjdcqsq-ts0601.json b/tests/data/devices/tze200-yjjdcqsq-ts0601.json index 728367394..b838c52cd 100644 --- a/tests/data/devices/tze200-yjjdcqsq-ts0601.json +++ b/tests/data/devices/tze200-yjjdcqsq-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -94,31 +92,26 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -133,13 +126,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-yojqa8xn-ts0601.json b/tests/data/devices/tze200-yojqa8xn-ts0601.json index ddd06cb7e..a4a71f08b 100644 --- a/tests/data/devices/tze200-yojqa8xn-ts0601.json +++ b/tests/data/devices/tze200-yojqa8xn-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -94,7 +90,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -102,13 +97,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -124,7 +117,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-yvx5lh6k-ts0601.json b/tests/data/devices/tze200-yvx5lh6k-ts0601.json index f9d2d34fa..1c981b7f6 100644 --- a/tests/data/devices/tze200-yvx5lh6k-ts0601.json +++ b/tests/data/devices/tze200-yvx5lh6k-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -88,7 +84,6 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -101,7 +96,6 @@ { "cluster_id": "0x040d", "endpoint_attribute": "carbon_dioxide_concentration", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -114,13 +108,11 @@ { "cluster_id": "0x042a", "endpoint_attribute": "pm25", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042b", "endpoint_attribute": "formaldehyde_concentration", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -133,13 +125,11 @@ { "cluster_id": "0x042e", "endpoint_attribute": "voc_level", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -147,13 +137,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -169,7 +157,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze200-yw7cahqs-ts0601.json b/tests/data/devices/tze200-yw7cahqs-ts0601.json index 0bdf36001..c6193aae4 100644 --- a/tests/data/devices/tze200-yw7cahqs-ts0601.json +++ b/tests/data/devices/tze200-yw7cahqs-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -154,7 +150,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef6a", @@ -211,13 +206,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze200-ztvwu4nk-ts0601.json b/tests/data/devices/tze200-ztvwu4nk-ts0601.json index 93df4a481..7dbeeebd5 100644 --- a/tests/data/devices/tze200-ztvwu4nk-ts0601.json +++ b/tests/data/devices/tze200-ztvwu4nk-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-1fuxihti-ts0601.json b/tests/data/devices/tze204-1fuxihti-ts0601.json index 1c7c44b26..e3ba16913 100644 --- a/tests/data/devices/tze204-1fuxihti-ts0601.json +++ b/tests/data/devices/tze204-1fuxihti-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,50 +68,34 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -120,13 +103,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -142,7 +123,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-1v1dxkck-ts0601.json b/tests/data/devices/tze204-1v1dxkck-ts0601.json index 63a94ad47..3e67fa695 100644 --- a/tests/data/devices/tze204-1v1dxkck-ts0601.json +++ b/tests/data/devices/tze204-1v1dxkck-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,31 +68,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -106,26 +96,11 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "current_level", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "SUCCESS", "attributes": [] } ], @@ -133,13 +108,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -161,19 +134,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -186,21 +152,7 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "current_level", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -215,19 +167,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -240,21 +185,7 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "current_level", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -270,7 +201,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-1youk3hj-ts0601.json b/tests/data/devices/tze204-1youk3hj-ts0601.json index a066b863d..eb428a6a4 100644 --- a/tests/data/devices/tze204-1youk3hj-ts0601.json +++ b/tests/data/devices/tze204-1youk3hj-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -94,13 +90,11 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -108,7 +102,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -121,7 +114,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -150,7 +142,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-4fblxpma-ts0601.json b/tests/data/devices/tze204-4fblxpma-ts0601.json index de48150bb..d69ff525c 100644 --- a/tests/data/devices/tze204-4fblxpma-ts0601.json +++ b/tests/data/devices/tze204-4fblxpma-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -57,62 +56,27 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -125,103 +89,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -239,13 +154,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -263,13 +172,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -288,7 +191,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -296,13 +198,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze204-58of2pfn-ts0601.json b/tests/data/devices/tze204-58of2pfn-ts0601.json index cec9d631c..a5dadde5c 100644 --- a/tests/data/devices/tze204-58of2pfn-ts0601.json +++ b/tests/data/devices/tze204-58of2pfn-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,31 +68,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -106,7 +96,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "SUCCESS", "attributes": [] } ], @@ -114,13 +103,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -142,19 +129,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -177,19 +157,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -212,19 +185,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -248,7 +214,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-5slehgeo-ts0601.json b/tests/data/devices/tze204-5slehgeo-ts0601.json index 7fdcd746e..5a0a0e3cf 100644 --- a/tests/data/devices/tze204-5slehgeo-ts0601.json +++ b/tests/data/devices/tze204-5slehgeo-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-5toc8efa-ts0601.json b/tests/data/devices/tze204-5toc8efa-ts0601.json index 576650af8..f44763034 100644 --- a/tests/data/devices/tze204-5toc8efa-ts0601.json +++ b/tests/data/devices/tze204-5toc8efa-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -111,7 +105,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-7ytb3h8u-ts0601.json b/tests/data/devices/tze204-7ytb3h8u-ts0601.json index ce142c7f8..2d1353efd 100644 --- a/tests/data/devices/tze204-7ytb3h8u-ts0601.json +++ b/tests/data/devices/tze204-7ytb3h8u-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -75,7 +74,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -106,19 +104,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x4002", @@ -149,7 +144,6 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0020", @@ -198,7 +192,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef67", @@ -255,7 +248,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -274,7 +266,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-81yrt3lo-ts0601.json b/tests/data/devices/tze204-81yrt3lo-ts0601.json index 203c030be..06f35cb4d 100644 --- a/tests/data/devices/tze204-81yrt3lo-ts0601.json +++ b/tests/data/devices/tze204-81yrt3lo-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -57,115 +56,64 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -183,13 +131,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0306", @@ -207,13 +149,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -232,43 +168,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 4913, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4913 }, { "id": "0x0401", @@ -292,61 +209,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -354,149 +241,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0000", @@ -508,13 +257,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -526,13 +269,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -544,13 +281,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050a", @@ -558,90 +289,23 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 2403, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2403 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -649,13 +313,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -677,103 +339,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 3300, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 3300 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -791,13 +404,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 550, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 550 }, { "id": "0x0306", @@ -815,13 +422,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -840,43 +441,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -900,61 +482,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 525, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 525 }, { "id": "0x050d", @@ -962,149 +514,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 954, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 954 }, { "id": "0x0000", @@ -1116,13 +530,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -1134,13 +542,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -1152,13 +554,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 397, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 397 }, { "id": "0x050a", @@ -1166,83 +562,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -1259,103 +589,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 3300, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 3300 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -1373,13 +654,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 550, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 550 }, { "id": "0x0306", @@ -1397,13 +672,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -1422,43 +691,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -1482,61 +732,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 525, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 525 }, { "id": "0x050d", @@ -1544,149 +764,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 954, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 954 }, { "id": "0x0000", @@ -1698,13 +780,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -1716,13 +792,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -1734,13 +804,7 @@ "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 397, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 397 }, { "id": "0x050a", @@ -1748,83 +812,17 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] } @@ -1842,7 +840,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-9yapgbuv-ts0601.json b/tests/data/devices/tze204-9yapgbuv-ts0601.json index 3f53addf4..99df3db4f 100644 --- a/tests/data/devices/tze204-9yapgbuv-ts0601.json +++ b/tests/data/devices/tze204-9yapgbuv-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -94,31 +92,26 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -126,13 +119,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-a2jcoyuk-ts0601.json b/tests/data/devices/tze204-a2jcoyuk-ts0601.json index 66960d891..b9861cc35 100644 --- a/tests/data/devices/tze204-a2jcoyuk-ts0601.json +++ b/tests/data/devices/tze204-a2jcoyuk-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-ai4rqhky-ts0601.json b/tests/data/devices/tze204-ai4rqhky-ts0601.json index c21c47806..aff8efc3b 100644 --- a/tests/data/devices/tze204-ai4rqhky-ts0601.json +++ b/tests/data/devices/tze204-ai4rqhky-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -75,19 +74,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +91,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze204-aoclfnxz-ts0601.json b/tests/data/devices/tze204-aoclfnxz-ts0601.json index ef778dfa9..4eea62b50 100644 --- a/tests/data/devices/tze204-aoclfnxz-ts0601.json +++ b/tests/data/devices/tze204-aoclfnxz-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -105,19 +104,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -125,13 +121,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -154,7 +148,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-bkkmqmyo-ts0601.json b/tests/data/devices/tze204-bkkmqmyo-ts0601.json index 0fb51c128..048cef063 100644 --- a/tests/data/devices/tze204-bkkmqmyo-ts0601.json +++ b/tests/data/devices/tze204-bkkmqmyo-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -94,7 +92,6 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -119,19 +116,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -144,103 +134,54 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 80, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 80 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -258,13 +199,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -282,13 +217,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -307,43 +236,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 4997, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4997 }, { "id": "0x0401", @@ -367,61 +277,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "value": 10, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 10, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10 }, { "id": "0x050d", @@ -429,149 +309,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -583,13 +325,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -601,13 +337,7 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050e", @@ -615,59 +345,17 @@ "zcl_type": "int16", "value": 22 }, - { - "id": "0x0508", - "name": "rms_current", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050a", "name": "rms_current_max", "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0507", @@ -675,42 +363,6 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0305", "name": "total_reactive_power", @@ -722,7 +374,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -730,13 +381,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze204-bxoo2swd-ts0601.json b/tests/data/devices/tze204-bxoo2swd-ts0601.json index 7a3547098..1a6151845 100644 --- a/tests/data/devices/tze204-bxoo2swd-ts0601.json +++ b/tests/data/devices/tze204-bxoo2swd-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,31 +68,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -106,26 +96,11 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "current_level", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "SUCCESS", "attributes": [] } ], @@ -133,13 +108,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -154,19 +127,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -179,21 +145,7 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "current_level", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] diff --git a/tests/data/devices/tze204-c2fmom5z-ts0601.json b/tests/data/devices/tze204-c2fmom5z-ts0601.json index f23eeba43..9d160ada5 100644 --- a/tests/data/devices/tze204-c2fmom5z-ts0601.json +++ b/tests/data/devices/tze204-c2fmom5z-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -117,7 +116,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -142,7 +140,6 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -191,7 +188,6 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -204,7 +200,6 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -217,7 +212,6 @@ { "cluster_id": "0x040d", "endpoint_attribute": "carbon_dioxide_concentration", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -230,13 +224,11 @@ { "cluster_id": "0x042a", "endpoint_attribute": "pm25", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042b", "endpoint_attribute": "formaldehyde_concentration", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -249,7 +241,6 @@ { "cluster_id": "0x042e", "endpoint_attribute": "voc_level", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -262,7 +253,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -270,13 +260,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -317,7 +305,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-chbyv06x-ts0601.json b/tests/data/devices/tze204-chbyv06x-ts0601.json index 193b07f85..f6517440c 100644 --- a/tests/data/devices/tze204-chbyv06x-ts0601.json +++ b/tests/data/devices/tze204-chbyv06x-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -94,7 +90,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -102,13 +97,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -124,7 +117,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-cirvgep4-ts0601.json b/tests/data/devices/tze204-cirvgep4-ts0601.json index 8be6d78c1..0b0a7da9d 100644 --- a/tests/data/devices/tze204-cirvgep4-ts0601.json +++ b/tests/data/devices/tze204-cirvgep4-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,7 +86,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -112,31 +110,26 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -144,13 +137,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze204-cjbofhxw-ts0601.json b/tests/data/devices/tze204-cjbofhxw-ts0601.json index e9205fba5..f88b8a306 100644 --- a/tests/data/devices/tze204-cjbofhxw-ts0601.json +++ b/tests/data/devices/tze204-cjbofhxw-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,115 +68,64 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -195,13 +143,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0306", @@ -219,13 +161,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0303", @@ -244,43 +180,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0401", @@ -304,61 +221,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050d", @@ -366,149 +253,11 @@ "zcl_type": "int16", "unsupported": true }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -520,13 +269,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -538,25 +281,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050a", @@ -564,90 +295,23 @@ "zcl_type": "uint16", "unsupported": true }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 122, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 122 }, { "id": "0x0507", "name": "rms_voltage_max", "zcl_type": "uint16", "unsupported": true - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -655,13 +319,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze204-d6i25bwg-ts0601.json b/tests/data/devices/tze204-d6i25bwg-ts0601.json index 724be1c15..c5ee8c110 100644 --- a/tests/data/devices/tze204-d6i25bwg-ts0601.json +++ b/tests/data/devices/tze204-d6i25bwg-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,57 +68,40 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1990, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 1990 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 4400, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 4400 } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -127,13 +109,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -156,7 +136,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-dqolcpcp-ts0601.json b/tests/data/devices/tze204-dqolcpcp-ts0601.json index ba279c715..682d2d03c 100644 --- a/tests/data/devices/tze204-dqolcpcp-ts0601.json +++ b/tests/data/devices/tze204-dqolcpcp-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -111,13 +110,11 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -142,19 +139,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -167,7 +157,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "SUCCESS", "attributes": [] } ], @@ -175,13 +164,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -196,19 +183,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -231,19 +211,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -266,19 +239,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -301,19 +267,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -336,19 +295,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -371,19 +323,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -406,19 +351,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -441,19 +379,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -476,19 +407,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -511,19 +435,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -546,19 +463,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -582,7 +492,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-dtzziy1e-ts0601.json b/tests/data/devices/tze204-dtzziy1e-ts0601.json index 0c8945a7e..d56409f92 100644 --- a/tests/data/devices/tze204-dtzziy1e-ts0601.json +++ b/tests/data/devices/tze204-dtzziy1e-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -94,13 +90,11 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -108,13 +102,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-dwcarsat-ts0601.json b/tests/data/devices/tze204-dwcarsat-ts0601.json index c40723233..720cf239b 100644 --- a/tests/data/devices/tze204-dwcarsat-ts0601.json +++ b/tests/data/devices/tze204-dwcarsat-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -94,7 +90,6 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -107,7 +102,6 @@ { "cluster_id": "0x040d", "endpoint_attribute": "carbon_dioxide_concentration", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -120,7 +114,6 @@ { "cluster_id": "0x042a", "endpoint_attribute": "pm25", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -133,7 +126,6 @@ { "cluster_id": "0x042b", "endpoint_attribute": "formaldehyde_concentration", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -146,7 +138,6 @@ { "cluster_id": "0x042e", "endpoint_attribute": "voc_level", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -159,7 +150,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -167,13 +157,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -196,7 +184,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-eekpf0ft-ts0601.json b/tests/data/devices/tze204-eekpf0ft-ts0601.json index 8fb5af097..538d268b6 100644 --- a/tests/data/devices/tze204-eekpf0ft-ts0601.json +++ b/tests/data/devices/tze204-eekpf0ft-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -93,19 +92,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -113,13 +109,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze204-ex3rcdha-ts0601.json b/tests/data/devices/tze204-ex3rcdha-ts0601.json index dfe37f7c6..2900dbfeb 100644 --- a/tests/data/devices/tze204-ex3rcdha-ts0601.json +++ b/tests/data/devices/tze204-ex3rcdha-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -100,7 +96,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -131,7 +126,6 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -150,7 +144,6 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -163,7 +156,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -178,13 +170,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -206,7 +196,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -253,7 +242,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -300,7 +288,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -353,7 +340,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -401,7 +387,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-fhvdgeuh-ts0601.json b/tests/data/devices/tze204-fhvdgeuh-ts0601.json index 24616f52e..4567a5b8a 100644 --- a/tests/data/devices/tze204-fhvdgeuh-ts0601.json +++ b/tests/data/devices/tze204-fhvdgeuh-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-g2ki0ejr-ts0601.json b/tests/data/devices/tze204-g2ki0ejr-ts0601.json index e01cf98a2..6f0013d27 100644 --- a/tests/data/devices/tze204-g2ki0ejr-ts0601.json +++ b/tests/data/devices/tze204-g2ki0ejr-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -83,13 +79,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-goecjd1t-ts0601.json b/tests/data/devices/tze204-goecjd1t-ts0601.json index 6e0adb9ce..d3e593ffd 100644 --- a/tests/data/devices/tze204-goecjd1t-ts0601.json +++ b/tests/data/devices/tze204-goecjd1t-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-gops3slb-ts0601.json b/tests/data/devices/tze204-gops3slb-ts0601.json index dcd6bf3ad..fe0c2ff08 100644 --- a/tests/data/devices/tze204-gops3slb-ts0601.json +++ b/tests/data/devices/tze204-gops3slb-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001b", @@ -148,7 +144,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -156,13 +151,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -185,7 +178,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-guvc7pdy-ts0601.json b/tests/data/devices/tze204-guvc7pdy-ts0601.json index 8d950b3b7..743c09829 100644 --- a/tests/data/devices/tze204-guvc7pdy-ts0601.json +++ b/tests/data/devices/tze204-guvc7pdy-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -93,25 +89,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -154,7 +138,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -162,13 +145,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -191,7 +172,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-hlx9tnzb-ts0601.json b/tests/data/devices/tze204-hlx9tnzb-ts0601.json index fce93d825..99070d358 100644 --- a/tests/data/devices/tze204-hlx9tnzb-ts0601.json +++ b/tests/data/devices/tze204-hlx9tnzb-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -57,19 +56,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -81,13 +77,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -106,26 +96,18 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 2, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2 } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -133,13 +115,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0007", @@ -162,7 +142,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-iaeejhvf-ts0601.json b/tests/data/devices/tze204-iaeejhvf-ts0601.json index 20317a17b..ced57c4ea 100644 --- a/tests/data/devices/tze204-iaeejhvf-ts0601.json +++ b/tests/data/devices/tze204-iaeejhvf-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -106,7 +102,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -143,7 +138,6 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -162,7 +156,6 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -175,7 +168,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -190,13 +182,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -218,7 +208,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -271,7 +260,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -324,7 +312,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -377,7 +364,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001c", @@ -431,7 +417,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-ijxvkhd0-ts0601.json b/tests/data/devices/tze204-ijxvkhd0-ts0601.json index de181dc57..9483c5673 100644 --- a/tests/data/devices/tze204-ijxvkhd0-ts0601.json +++ b/tests/data/devices/tze204-ijxvkhd0-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -111,7 +105,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-jrcfsaa3-ts0601.json b/tests/data/devices/tze204-jrcfsaa3-ts0601.json index 2f1d58ed4..f8d5adcd5 100644 --- a/tests/data/devices/tze204-jrcfsaa3-ts0601.json +++ b/tests/data/devices/tze204-jrcfsaa3-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-k7mfgaen-ts0601.json b/tests/data/devices/tze204-k7mfgaen-ts0601.json index ac510af8e..80a43fc49 100644 --- a/tests/data/devices/tze204-k7mfgaen-ts0601.json +++ b/tests/data/devices/tze204-k7mfgaen-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -75,7 +74,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -100,19 +98,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -120,7 +115,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0007", @@ -133,7 +127,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -149,7 +142,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-kobbcyum-ts0601.json b/tests/data/devices/tze204-kobbcyum-ts0601.json index 046a4173e..767d386dd 100644 --- a/tests/data/devices/tze204-kobbcyum-ts0601.json +++ b/tests/data/devices/tze204-kobbcyum-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -111,7 +110,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -124,13 +122,11 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -138,7 +134,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0007", @@ -151,7 +146,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze204-kyhbrfyl-ts0601.json b/tests/data/devices/tze204-kyhbrfyl-ts0601.json index 99fa06177..c1a143505 100644 --- a/tests/data/devices/tze204-kyhbrfyl-ts0601.json +++ b/tests/data/devices/tze204-kyhbrfyl-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000c", "endpoint_attribute": "analog_input", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0055", @@ -94,7 +90,6 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -107,7 +102,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -122,13 +116,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-l8xiyymq-ts0601.json b/tests/data/devices/tze204-l8xiyymq-ts0601.json index 54daa1381..405c37037 100644 --- a/tests/data/devices/tze204-l8xiyymq-ts0601.json +++ b/tests/data/devices/tze204-l8xiyymq-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,13 +86,11 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -106,7 +103,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -114,13 +110,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze204-lb0fsvba-ts0601.json b/tests/data/devices/tze204-lb0fsvba-ts0601.json index 72f467c35..dfe0427ec 100644 --- a/tests/data/devices/tze204-lb0fsvba-ts0601.json +++ b/tests/data/devices/tze204-lb0fsvba-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-lbbg34rj-ts0601.json b/tests/data/devices/tze204-lbbg34rj-ts0601.json index 32ab60db3..87215b07f 100644 --- a/tests/data/devices/tze204-lbbg34rj-ts0601.json +++ b/tests/data/devices/tze204-lbbg34rj-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-lpedvtvr-ts0601.json b/tests/data/devices/tze204-lpedvtvr-ts0601.json index 9d47a3f33..0905755e1 100644 --- a/tests/data/devices/tze204-lpedvtvr-ts0601.json +++ b/tests/data/devices/tze204-lpedvtvr-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -117,13 +113,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2150, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2150 }, { "id": "0x0010", @@ -159,61 +149,31 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2000, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2000 }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0025", @@ -225,25 +185,13 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0030", @@ -255,44 +203,25 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 1, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -305,7 +234,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -313,13 +241,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -342,7 +268,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-lsanae15-ts0601.json b/tests/data/devices/tze204-lsanae15-ts0601.json index c35a891ac..ecbfdfc2d 100644 --- a/tests/data/devices/tze204-lsanae15-ts0601.json +++ b/tests/data/devices/tze204-lsanae15-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-ltwbm23f-ts0601.json b/tests/data/devices/tze204-ltwbm23f-ts0601.json index da63d911a..3bb138d58 100644 --- a/tests/data/devices/tze204-ltwbm23f-ts0601.json +++ b/tests/data/devices/tze204-ltwbm23f-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -94,19 +92,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -185,7 +180,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef77", @@ -218,13 +212,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze204-lzriup1j-ts0601.json b/tests/data/devices/tze204-lzriup1j-ts0601.json index 1dbd6cd1e..8ba5a3d01 100644 --- a/tests/data/devices/tze204-lzriup1j-ts0601.json +++ b/tests/data/devices/tze204-lzriup1j-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001b", @@ -118,7 +114,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -126,13 +121,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -148,7 +141,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-m64smti7-ts0601.json b/tests/data/devices/tze204-m64smti7-ts0601.json index c85306af0..31d401b4a 100644 --- a/tests/data/devices/tze204-m64smti7-ts0601.json +++ b/tests/data/devices/tze204-m64smti7-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-m9dzckna-ts0601.json b/tests/data/devices/tze204-m9dzckna-ts0601.json index 24ebe2f73..036d002b1 100644 --- a/tests/data/devices/tze204-m9dzckna-ts0601.json +++ b/tests/data/devices/tze204-m9dzckna-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-mpbki2zm-ts0601.json b/tests/data/devices/tze204-mpbki2zm-ts0601.json index c7c05bec4..5e7a23123 100644 --- a/tests/data/devices/tze204-mpbki2zm-ts0601.json +++ b/tests/data/devices/tze204-mpbki2zm-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -111,7 +105,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-mtoaryre-ts0601.json b/tests/data/devices/tze204-mtoaryre-ts0601.json index 85bb835f8..bdff5292d 100644 --- a/tests/data/devices/tze204-mtoaryre-ts0601.json +++ b/tests/data/devices/tze204-mtoaryre-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -94,13 +90,11 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -108,13 +102,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -137,7 +129,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-muvkrjr5-ts0601.json b/tests/data/devices/tze204-muvkrjr5-ts0601.json index 950fd78fb..ddf11abee 100644 --- a/tests/data/devices/tze204-muvkrjr5-ts0601.json +++ b/tests/data/devices/tze204-muvkrjr5-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -117,7 +110,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-mwomyz5n-ts0601.json b/tests/data/devices/tze204-mwomyz5n-ts0601.json index 551a8767b..3b8d94e9d 100644 --- a/tests/data/devices/tze204-mwomyz5n-ts0601.json +++ b/tests/data/devices/tze204-mwomyz5n-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-nbkshs6k-ts0601.json b/tests/data/devices/tze204-nbkshs6k-ts0601.json index 19a7d821f..5ab260307 100644 --- a/tests/data/devices/tze204-nbkshs6k-ts0601.json +++ b/tests/data/devices/tze204-nbkshs6k-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -83,13 +79,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -112,7 +106,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-nklqjk62-ts0601.json b/tests/data/devices/tze204-nklqjk62-ts0601.json index 3ddfe9090..1d7cc49ea 100644 --- a/tests/data/devices/tze204-nklqjk62-ts0601.json +++ b/tests/data/devices/tze204-nklqjk62-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -57,19 +56,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -77,13 +73,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -106,7 +100,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-nlrfgpny-ts0601.json b/tests/data/devices/tze204-nlrfgpny-ts0601.json index a78ab34c3..571988a01 100644 --- a/tests/data/devices/tze204-nlrfgpny-ts0601.json +++ b/tests/data/devices/tze204-nlrfgpny-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -94,7 +92,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -107,7 +104,6 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -126,7 +122,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -139,7 +134,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -154,7 +148,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -167,7 +160,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -190,7 +182,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-nqqylykc-ts0601.json b/tests/data/devices/tze204-nqqylykc-ts0601.json index c475e4a99..0ecd41a38 100644 --- a/tests/data/devices/tze204-nqqylykc-ts0601.json +++ b/tests/data/devices/tze204-nqqylykc-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,31 +68,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -106,26 +96,11 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "current_level", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "SUCCESS", "attributes": [] } ], @@ -133,13 +108,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -162,7 +135,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-nvxorhcj-ts0601.json b/tests/data/devices/tze204-nvxorhcj-ts0601.json index 73f8d0e3d..cca4481cd 100644 --- a/tests/data/devices/tze204-nvxorhcj-ts0601.json +++ b/tests/data/devices/tze204-nvxorhcj-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-ogx8u5z6-ts0601.json b/tests/data/devices/tze204-ogx8u5z6-ts0601.json index 4c88110cc..bb2d0cc39 100644 --- a/tests/data/devices/tze204-ogx8u5z6-ts0601.json +++ b/tests/data/devices/tze204-ogx8u5z6-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -142,7 +138,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -150,13 +145,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze204-p3lqqy2r-ts0601.json b/tests/data/devices/tze204-p3lqqy2r-ts0601.json index b54657391..d694f3d67 100644 --- a/tests/data/devices/tze204-p3lqqy2r-ts0601.json +++ b/tests/data/devices/tze204-p3lqqy2r-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -81,19 +80,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001b", @@ -130,7 +126,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -138,13 +133,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-pcdmj88b-ts0601.json b/tests/data/devices/tze204-pcdmj88b-ts0601.json index e7654b1f3..c0f08815d 100644 --- a/tests/data/devices/tze204-pcdmj88b-ts0601.json +++ b/tests/data/devices/tze204-pcdmj88b-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze204-ptaqh9tk-ts0601.json b/tests/data/devices/tze204-ptaqh9tk-ts0601.json index 7066c790d..6069bc809 100644 --- a/tests/data/devices/tze204-ptaqh9tk-ts0601.json +++ b/tests/data/devices/tze204-ptaqh9tk-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,31 +68,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -106,7 +96,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "SUCCESS", "attributes": [] } ], @@ -114,13 +103,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -136,7 +123,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-pxbjch8m-ts0601.json b/tests/data/devices/tze204-pxbjch8m-ts0601.json index 28c5c0361..c6fbbceb9 100644 --- a/tests/data/devices/tze204-pxbjch8m-ts0601.json +++ b/tests/data/devices/tze204-pxbjch8m-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-qasjif9e-ts0601.json b/tests/data/devices/tze204-qasjif9e-ts0601.json index 1f5ca3588..dbcf19a4c 100644 --- a/tests/data/devices/tze204-qasjif9e-ts0601.json +++ b/tests/data/devices/tze204-qasjif9e-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -100,7 +96,6 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -113,7 +108,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -128,13 +122,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -157,7 +149,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-qtnjuoae-ts0601.json b/tests/data/devices/tze204-qtnjuoae-ts0601.json index 16b3ba982..2f1f64504 100644 --- a/tests/data/devices/tze204-qtnjuoae-ts0601.json +++ b/tests/data/devices/tze204-qtnjuoae-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze204-qvxrkeif-ts0601.json b/tests/data/devices/tze204-qvxrkeif-ts0601.json index 9dd8a688f..2c5021e79 100644 --- a/tests/data/devices/tze204-qvxrkeif-ts0601.json +++ b/tests/data/devices/tze204-qvxrkeif-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -94,7 +90,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -102,13 +97,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -131,7 +124,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-qyr2m29i-ts0601.json b/tests/data/devices/tze204-qyr2m29i-ts0601.json index 3836bf4f4..d2eeb8d86 100644 --- a/tests/data/devices/tze204-qyr2m29i-ts0601.json +++ b/tests/data/devices/tze204-qyr2m29i-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -94,19 +92,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -167,7 +162,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -175,13 +169,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze204-r32ctezx-ts0601.json b/tests/data/devices/tze204-r32ctezx-ts0601.json index dd297dd66..80027a3aa 100644 --- a/tests/data/devices/tze204-r32ctezx-ts0601.json +++ b/tests/data/devices/tze204-r32ctezx-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-rhblgy0z-ts0601.json b/tests/data/devices/tze204-rhblgy0z-ts0601.json index 6acf5a02d..9b3dd7085 100644 --- a/tests/data/devices/tze204-rhblgy0z-ts0601.json +++ b/tests/data/devices/tze204-rhblgy0z-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -111,7 +105,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-rtrmfadk-ts0601.json b/tests/data/devices/tze204-rtrmfadk-ts0601.json index 1eda53f25..5d3e77419 100644 --- a/tests/data/devices/tze204-rtrmfadk-ts0601.json +++ b/tests/data/devices/tze204-rtrmfadk-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -105,7 +104,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -130,19 +128,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -203,7 +198,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -211,13 +205,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze204-sooucan5-ts0601.json b/tests/data/devices/tze204-sooucan5-ts0601.json index 1a52efe08..6fcf91d52 100644 --- a/tests/data/devices/tze204-sooucan5-ts0601.json +++ b/tests/data/devices/tze204-sooucan5-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -94,13 +90,11 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -108,13 +102,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -130,7 +122,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-srmahpwl-ts0601.json b/tests/data/devices/tze204-srmahpwl-ts0601.json index f1a5f7785..394d50b0c 100644 --- a/tests/data/devices/tze204-srmahpwl-ts0601.json +++ b/tests/data/devices/tze204-srmahpwl-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -111,7 +105,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-sxm7l9xa-ts0601.json b/tests/data/devices/tze204-sxm7l9xa-ts0601.json index e4f05bcd8..c0cc76460 100644 --- a/tests/data/devices/tze204-sxm7l9xa-ts0601.json +++ b/tests/data/devices/tze204-sxm7l9xa-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -88,13 +84,11 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -102,13 +96,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -124,7 +116,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-tagezcph-ts0601.json b/tests/data/devices/tze204-tagezcph-ts0601.json index ef1b279e5..983cd7530 100644 --- a/tests/data/devices/tze204-tagezcph-ts0601.json +++ b/tests/data/devices/tze204-tagezcph-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-tdhnhhiy-ts0601.json b/tests/data/devices/tze204-tdhnhhiy-ts0601.json index 8ce181918..55e30ae2b 100644 --- a/tests/data/devices/tze204-tdhnhhiy-ts0601.json +++ b/tests/data/devices/tze204-tdhnhhiy-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-ue3rzddr-ts0601.json b/tests/data/devices/tze204-ue3rzddr-ts0601.json index 158c04326..c2b6c2220 100644 --- a/tests/data/devices/tze204-ue3rzddr-ts0601.json +++ b/tests/data/devices/tze204-ue3rzddr-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -111,7 +105,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-upagmta9-ts0601.json b/tests/data/devices/tze204-upagmta9-ts0601.json index 58be0d902..25d97e53d 100644 --- a/tests/data/devices/tze204-upagmta9-ts0601.json +++ b/tests/data/devices/tze204-upagmta9-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -87,7 +86,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -112,31 +110,26 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef09", @@ -157,13 +150,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-uxllnywp-ts0601.json b/tests/data/devices/tze204-uxllnywp-ts0601.json index eebb85911..b741ab08c 100644 --- a/tests/data/devices/tze204-uxllnywp-ts0601.json +++ b/tests/data/devices/tze204-uxllnywp-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -94,13 +90,11 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -108,13 +102,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -137,7 +129,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-vjpaih9f-ts0601.json b/tests/data/devices/tze204-vjpaih9f-ts0601.json index 62f9597e3..e5df0a36d 100644 --- a/tests/data/devices/tze204-vjpaih9f-ts0601.json +++ b/tests/data/devices/tze204-vjpaih9f-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze204-vmcgja59-ts0601.json b/tests/data/devices/tze204-vmcgja59-ts0601.json index d6952fa78..8e11a0dc6 100644 --- a/tests/data/devices/tze204-vmcgja59-ts0601.json +++ b/tests/data/devices/tze204-vmcgja59-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,31 +68,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -106,7 +96,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "SUCCESS", "attributes": [] } ], @@ -114,13 +103,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -135,19 +122,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -170,19 +150,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -205,19 +178,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -240,19 +206,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -275,19 +234,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -310,19 +262,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -345,19 +290,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -380,19 +318,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -415,19 +346,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -450,19 +374,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -485,19 +402,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -520,19 +430,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -555,19 +458,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -590,19 +486,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -625,19 +514,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -661,7 +543,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-w1wwxoja-ts0601.json b/tests/data/devices/tze204-w1wwxoja-ts0601.json index a9aa7bc01..eaeacce5a 100644 --- a/tests/data/devices/tze204-w1wwxoja-ts0601.json +++ b/tests/data/devices/tze204-w1wwxoja-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-wbhaespm-ts0601.json b/tests/data/devices/tze204-wbhaespm-ts0601.json index 0c9e9f64f..7405d098f 100644 --- a/tests/data/devices/tze204-wbhaespm-ts0601.json +++ b/tests/data/devices/tze204-wbhaespm-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -177,19 +176,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -197,13 +193,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -226,7 +220,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-x8fp01wi-ts0601.json b/tests/data/devices/tze204-x8fp01wi-ts0601.json index 7daae5601..0431bf619 100644 --- a/tests/data/devices/tze204-x8fp01wi-ts0601.json +++ b/tests/data/devices/tze204-x8fp01wi-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-x9usygq1-ts0601.json b/tests/data/devices/tze204-x9usygq1-ts0601.json index e154d67c8..35aebf266 100644 --- a/tests/data/devices/tze204-x9usygq1-ts0601.json +++ b/tests/data/devices/tze204-x9usygq1-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze204-xalsoe3m-ts0601.json b/tests/data/devices/tze204-xalsoe3m-ts0601.json index 7893d736f..a8097cbab 100644 --- a/tests/data/devices/tze204-xalsoe3m-ts0601.json +++ b/tests/data/devices/tze204-xalsoe3m-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -99,32 +91,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -160,13 +143,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0010", @@ -202,61 +179,31 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "value": 1, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 23500, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 23500 }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0025", @@ -268,25 +215,13 @@ "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0030", @@ -298,44 +233,25 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -348,7 +264,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -356,13 +271,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -384,19 +297,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -419,7 +325,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -455,13 +360,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0068", @@ -490,7 +389,6 @@ { "cluster_id": "0x000d", "endpoint_attribute": "analog_output", - "bind": "SUCCESS", "attributes": [ { "id": "0x0100", @@ -526,13 +424,7 @@ "id": "0x0055", "name": "present_value", "zcl_type": "single", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0068", @@ -562,7 +454,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-xlppj4f5-ts0601.json b/tests/data/devices/tze204-xlppj4f5-ts0601.json index 2e9404990..2695d9d09 100644 --- a/tests/data/devices/tze204-xlppj4f5-ts0601.json +++ b/tests/data/devices/tze204-xlppj4f5-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,190 +68,34 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": false } ] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ - { - "id": "0x0000", - "name": "current_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0001", - "name": "current_summ_received", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "current_tier1_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0102", - "name": "current_tier2_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0104", - "name": "current_tier3_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "current_tier4_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0108", - "name": "current_tier5_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x010a", - "name": "current_tier6_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0400", - "name": "instantaneous_demand", - "zcl_type": "int24", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "status", - "zcl_type": "map8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0300", "name": "unit_of_measure", @@ -264,7 +107,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -272,13 +114,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze204-xnbkhhdr-ts0601.json b/tests/data/devices/tze204-xnbkhhdr-ts0601.json index af926ddb9..147fd7ac7 100644 --- a/tests/data/devices/tze204-xnbkhhdr-ts0601.json +++ b/tests/data/devices/tze204-xnbkhhdr-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x001b", @@ -118,7 +114,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -126,13 +121,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze204-xu4a5rhj-ts0601.json b/tests/data/devices/tze204-xu4a5rhj-ts0601.json index b025f9a69..c133fc916 100644 --- a/tests/data/devices/tze204-xu4a5rhj-ts0601.json +++ b/tests/data/devices/tze204-xu4a5rhj-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +85,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +112,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-ya4ft0w4-ts0601.json b/tests/data/devices/tze204-ya4ft0w4-ts0601.json index a64b0f0f5..ab2f8522e 100644 --- a/tests/data/devices/tze204-ya4ft0w4-ts0601.json +++ b/tests/data/devices/tze204-ya4ft0w4-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -94,13 +90,11 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -108,13 +102,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -137,7 +129,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-yjjdcqsq-ts0601.json b/tests/data/devices/tze204-yjjdcqsq-ts0601.json index ab4d26ea7..ffc870bc7 100644 --- a/tests/data/devices/tze204-yjjdcqsq-ts0601.json +++ b/tests/data/devices/tze204-yjjdcqsq-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0021", @@ -100,19 +98,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,7 +120,6 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -138,7 +132,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef00", @@ -153,13 +146,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-yvx5lh6k-ts0601.json b/tests/data/devices/tze204-yvx5lh6k-ts0601.json index cdebeb6b9..cd1535ff5 100644 --- a/tests/data/devices/tze204-yvx5lh6k-ts0601.json +++ b/tests/data/devices/tze204-yvx5lh6k-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,55 +68,46 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x040d", "endpoint_attribute": "carbon_dioxide_concentration", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042a", "endpoint_attribute": "pm25", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042b", "endpoint_attribute": "formaldehyde_concentration", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x042e", "endpoint_attribute": "voc_level", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -125,13 +115,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -154,7 +142,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-zenj4lxv-ts0601.json b/tests/data/devices/tze204-zenj4lxv-ts0601.json index fee1c00c1..9ae1fa22e 100644 --- a/tests/data/devices/tze204-zenj4lxv-ts0601.json +++ b/tests/data/devices/tze204-zenj4lxv-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,31 +68,22 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -106,26 +96,11 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "current_level", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "SUCCESS", "attributes": [] } ], @@ -133,13 +108,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -154,19 +127,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x4003", @@ -179,21 +145,7 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "current_level", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] } ], "out_clusters": [] @@ -209,7 +161,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-ztqnh5cg-ts0601.json b/tests/data/devices/tze204-ztqnh5cg-ts0601.json index 68261ba59..dd2e00476 100644 --- a/tests/data/devices/tze204-ztqnh5cg-ts0601.json +++ b/tests/data/devices/tze204-ztqnh5cg-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -105,13 +104,11 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -154,7 +151,6 @@ { "cluster_id": "0x0400", "endpoint_attribute": "illuminance", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -167,13 +163,11 @@ { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -181,13 +175,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -210,7 +202,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze204-zxkwaztm-ts0601.json b/tests/data/devices/tze204-zxkwaztm-ts0601.json index 1155c7c4e..aa0485fc2 100644 --- a/tests/data/devices/tze204-zxkwaztm-ts0601.json +++ b/tests/data/devices/tze204-zxkwaztm-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x001b", @@ -93,13 +89,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2020, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2020 }, { "id": "0x0010", @@ -107,89 +97,23 @@ "zcl_type": "int8", "unsupported": true }, - { - "id": "0x0002", - "name": "occupancy", - "zcl_type": "map8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0011", - "name": "occupied_cooling_setpoint", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 2000, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, - { - "id": "0x0007", - "name": "pi_cooling_demand", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "value": 2000 }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } - }, - { - "id": "0x001e", - "name": "running_mode", - "zcl_type": "enum8", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0030", @@ -207,44 +131,13 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0013", - "name": "unoccupied_cooling_setpoint", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } - }, - { - "id": "0x0014", - "name": "unoccupied_heating_setpoint", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 4 } ] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -252,13 +145,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze20c-xbexmf8h-ts130f.json b/tests/data/devices/tze20c-xbexmf8h-ts130f.json index 38b00f456..a76f31be2 100644 --- a/tests/data/devices/tze20c-xbexmf8h-ts130f.json +++ b/tests/data/devices/tze20c-xbexmf8h-ts130f.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xeb00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +84,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +111,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze20c-zka46xbw-ts0601.json b/tests/data/devices/tze20c-zka46xbw-ts0601.json index 3dbf23961..120cc01d2 100644 --- a/tests/data/devices/tze20c-zka46xbw-ts0601.json +++ b/tests/data/devices/tze20c-zka46xbw-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 1, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0014", @@ -161,7 +143,6 @@ { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -197,37 +178,19 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x000f", @@ -246,7 +209,6 @@ { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -286,13 +248,11 @@ { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -300,13 +260,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -329,7 +287,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze284-0zaf1cr8-ts0601.json b/tests/data/devices/tze284-0zaf1cr8-ts0601.json index bd723a945..4c70e87e0 100644 --- a/tests/data/devices/tze284-0zaf1cr8-ts0601.json +++ b/tests/data/devices/tze284-0zaf1cr8-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -57,7 +56,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -82,19 +80,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -119,7 +114,6 @@ { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -127,13 +121,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze284-2gi1hy8s-ts0601.json b/tests/data/devices/tze284-2gi1hy8s-ts0601.json index 7e25068f0..7a1bb8e7f 100644 --- a/tests/data/devices/tze284-2gi1hy8s-ts0601.json +++ b/tests/data/devices/tze284-2gi1hy8s-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-3mzb0sdz-ts0601.json b/tests/data/devices/tze284-3mzb0sdz-ts0601.json index 3e23cb3f2..5f4914ec9 100644 --- a/tests/data/devices/tze284-3mzb0sdz-ts0601.json +++ b/tests/data/devices/tze284-3mzb0sdz-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -94,31 +92,26 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -126,13 +119,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-6fopvb6v-ts0601.json b/tests/data/devices/tze284-6fopvb6v-ts0601.json index 88afe62d4..007bdad83 100644 --- a/tests/data/devices/tze284-6fopvb6v-ts0601.json +++ b/tests/data/devices/tze284-6fopvb6v-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-6hrnp30w-ts0601.json b/tests/data/devices/tze284-6hrnp30w-ts0601.json index 1409b821f..71f0f334a 100644 --- a/tests/data/devices/tze284-6hrnp30w-ts0601.json +++ b/tests/data/devices/tze284-6hrnp30w-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -165,7 +164,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -190,7 +188,6 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -239,13 +236,11 @@ { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -253,7 +248,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0007", @@ -290,7 +284,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", diff --git a/tests/data/devices/tze284-6ycgarab-ts0601.json b/tests/data/devices/tze284-6ycgarab-ts0601.json index b3b722452..5b3c15271 100644 --- a/tests/data/devices/tze284-6ycgarab-ts0601.json +++ b/tests/data/devices/tze284-6ycgarab-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-78ioiaml-ts0601.json b/tests/data/devices/tze284-78ioiaml-ts0601.json index 4df61cfec..a0222652a 100644 --- a/tests/data/devices/tze284-78ioiaml-ts0601.json +++ b/tests/data/devices/tze284-78ioiaml-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-7zazvlyn-ts0601.json b/tests/data/devices/tze284-7zazvlyn-ts0601.json index cc6a0313a..013328403 100644 --- a/tests/data/devices/tze284-7zazvlyn-ts0601.json +++ b/tests/data/devices/tze284-7zazvlyn-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-81yrt3lo-ts0601.json b/tests/data/devices/tze284-81yrt3lo-ts0601.json index 9e52f2f6c..332ff50bc 100644 --- a/tests/data/devices/tze284-81yrt3lo-ts0601.json +++ b/tests/data/devices/tze284-81yrt3lo-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -124,7 +117,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze284-8se38w3c-ts0601.json b/tests/data/devices/tze284-8se38w3c-ts0601.json index aa56713ef..06e2af75b 100644 --- a/tests/data/devices/tze284-8se38w3c-ts0601.json +++ b/tests/data/devices/tze284-8se38w3c-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-a2xewxoo-ts0601.json b/tests/data/devices/tze284-a2xewxoo-ts0601.json index f2ea683b4..1a4baee11 100644 --- a/tests/data/devices/tze284-a2xewxoo-ts0601.json +++ b/tests/data/devices/tze284-a2xewxoo-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -124,7 +117,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze284-aao3yzhs-ts0601.json b/tests/data/devices/tze284-aao3yzhs-ts0601.json index 8001a3253..564b41fcf 100644 --- a/tests/data/devices/tze284-aao3yzhs-ts0601.json +++ b/tests/data/devices/tze284-aao3yzhs-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -88,37 +86,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0408", "endpoint_attribute": "soil_moisture", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -126,13 +118,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze284-c6wv4xyo-ts0601.json b/tests/data/devices/tze284-c6wv4xyo-ts0601.json index 55c585645..24c143414 100644 --- a/tests/data/devices/tze284-c6wv4xyo-ts0601.json +++ b/tests/data/devices/tze284-c6wv4xyo-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -142,13 +138,11 @@ { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -156,13 +150,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-cjbofhxw-ts0601.json b/tests/data/devices/tze284-cjbofhxw-ts0601.json index 1051298dc..9caae618e 100644 --- a/tests/data/devices/tze284-cjbofhxw-ts0601.json +++ b/tests/data/devices/tze284-cjbofhxw-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-dmckrsxg-ts0601.json b/tests/data/devices/tze284-dmckrsxg-ts0601.json index 479497652..5cdfeb89d 100644 --- a/tests/data/devices/tze284-dmckrsxg-ts0601.json +++ b/tests/data/devices/tze284-dmckrsxg-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -124,7 +117,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze284-f5efvtbv-ts0601.json b/tests/data/devices/tze284-f5efvtbv-ts0601.json index 35f4e4a28..40c44cee4 100644 --- a/tests/data/devices/tze284-f5efvtbv-ts0601.json +++ b/tests/data/devices/tze284-f5efvtbv-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -124,7 +117,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze284-fhvpaltk-ts0601.json b/tests/data/devices/tze284-fhvpaltk-ts0601.json index 6915be55f..b326665e9 100644 --- a/tests/data/devices/tze284-fhvpaltk-ts0601.json +++ b/tests/data/devices/tze284-fhvpaltk-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -88,25 +86,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -114,13 +108,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-fzo2pocs-ts0601.json b/tests/data/devices/tze284-fzo2pocs-ts0601.json index 771d57f2f..4fa868740 100644 --- a/tests/data/devices/tze284-fzo2pocs-ts0601.json +++ b/tests/data/devices/tze284-fzo2pocs-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-g2e6cpnw-ts0601.json b/tests/data/devices/tze284-g2e6cpnw-ts0601.json index 12a9c145e..196df9178 100644 --- a/tests/data/devices/tze284-g2e6cpnw-ts0601.json +++ b/tests/data/devices/tze284-g2e6cpnw-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-hodyryli-ts0601.json b/tests/data/devices/tze284-hodyryli-ts0601.json index 7d45bfdfd..bfb2de1f7 100644 --- a/tests/data/devices/tze284-hodyryli-ts0601.json +++ b/tests/data/devices/tze284-hodyryli-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-iadro9bf-ts0601.json b/tests/data/devices/tze284-iadro9bf-ts0601.json index db1120d3d..188c5eb3a 100644 --- a/tests/data/devices/tze284-iadro9bf-ts0601.json +++ b/tests/data/devices/tze284-iadro9bf-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -124,7 +117,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze284-idvyees9-ts0601.json b/tests/data/devices/tze284-idvyees9-ts0601.json index 2f501a1b6..1d9bae9a9 100644 --- a/tests/data/devices/tze284-idvyees9-ts0601.json +++ b/tests/data/devices/tze284-idvyees9-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -124,7 +117,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze284-kyyu8rbj-ts0601.json b/tests/data/devices/tze284-kyyu8rbj-ts0601.json index bb1963286..023acd54e 100644 --- a/tests/data/devices/tze284-kyyu8rbj-ts0601.json +++ b/tests/data/devices/tze284-kyyu8rbj-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -171,7 +170,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -190,7 +188,6 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -215,13 +212,11 @@ { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -229,7 +224,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -266,7 +260,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-l8xiyymq-ts0601.json b/tests/data/devices/tze284-l8xiyymq-ts0601.json index 0c6f8c1e1..a7e6479c8 100644 --- a/tests/data/devices/tze284-l8xiyymq-ts0601.json +++ b/tests/data/devices/tze284-l8xiyymq-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -81,25 +80,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -107,13 +102,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-ltwbm23f-ts0601.json b/tests/data/devices/tze284-ltwbm23f-ts0601.json index 1ca51c0bb..73729a6a5 100644 --- a/tests/data/devices/tze284-ltwbm23f-ts0601.json +++ b/tests/data/devices/tze284-ltwbm23f-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-myd45weu-ts0601.json b/tests/data/devices/tze284-myd45weu-ts0601.json index d40fb0224..e2b0e35d9 100644 --- a/tests/data/devices/tze284-myd45weu-ts0601.json +++ b/tests/data/devices/tze284-myd45weu-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -93,7 +92,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -118,37 +116,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0408", "endpoint_attribute": "soil_moisture", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -156,13 +148,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-ne4pikwm-ts0601.json b/tests/data/devices/tze284-ne4pikwm-ts0601.json index 02e3b0c84..3c8de2c88 100644 --- a/tests/data/devices/tze284-ne4pikwm-ts0601.json +++ b/tests/data/devices/tze284-ne4pikwm-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -166,13 +162,11 @@ { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xef6a", @@ -235,13 +229,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze284-nklqjk62-ts0601.json b/tests/data/devices/tze284-nklqjk62-ts0601.json index 2db12de60..f24071cf8 100644 --- a/tests/data/devices/tze284-nklqjk62-ts0601.json +++ b/tests/data/devices/tze284-nklqjk62-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -124,7 +117,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze284-nnhwcvbk-ts0601.json b/tests/data/devices/tze284-nnhwcvbk-ts0601.json index 6aa0aeec8..0ea593d5f 100644 --- a/tests/data/devices/tze284-nnhwcvbk-ts0601.json +++ b/tests/data/devices/tze284-nnhwcvbk-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +84,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-o3x45p96-ts0601.json b/tests/data/devices/tze284-o3x45p96-ts0601.json index 906065ff3..173a8eae1 100644 --- a/tests/data/devices/tze284-o3x45p96-ts0601.json +++ b/tests/data/devices/tze284-o3x45p96-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -142,13 +138,11 @@ { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -156,13 +150,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-o9ofysmo-ts0601.json b/tests/data/devices/tze284-o9ofysmo-ts0601.json index b88a4206c..d8e57f14e 100644 --- a/tests/data/devices/tze284-o9ofysmo-ts0601.json +++ b/tests/data/devices/tze284-o9ofysmo-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-ogx8u5z6-ts0601.json b/tests/data/devices/tze284-ogx8u5z6-ts0601.json index 53fce6c39..3297e750f 100644 --- a/tests/data/devices/tze284-ogx8u5z6-ts0601.json +++ b/tests/data/devices/tze284-ogx8u5z6-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,19 +68,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -142,13 +138,11 @@ { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -156,13 +150,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-oitavov2-ts0601.json b/tests/data/devices/tze284-oitavov2-ts0601.json index cdbfb2191..78ff13cff 100644 --- a/tests/data/devices/tze284-oitavov2-ts0601.json +++ b/tests/data/devices/tze284-oitavov2-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -99,19 +98,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -130,25 +122,12 @@ "name": "battery_size", "zcl_type": "enum8", "value": 3 - }, - { - "id": "0x0020", - "name": "battery_voltage", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } } ] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffe", @@ -161,57 +140,40 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2700, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2700 } ] }, { "cluster_id": "0x0408", "endpoint_attribute": "soil_moisture", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 0 } ] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -219,13 +181,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-pcdmj88b-ts0601.json b/tests/data/devices/tze284-pcdmj88b-ts0601.json index 51492d0b9..c4e48ed91 100644 --- a/tests/data/devices/tze284-pcdmj88b-ts0601.json +++ b/tests/data/devices/tze284-pcdmj88b-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +84,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-qyflbnbj-ts0601.json b/tests/data/devices/tze284-qyflbnbj-ts0601.json index 06a88d8a0..85177b090 100644 --- a/tests/data/devices/tze284-qyflbnbj-ts0601.json +++ b/tests/data/devices/tze284-qyflbnbj-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0052", @@ -100,19 +98,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -143,19 +138,16 @@ { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -163,7 +155,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -194,7 +185,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-rjxqso4a-ts0601.json b/tests/data/devices/tze284-rjxqso4a-ts0601.json index bda23713b..5e6e978d7 100644 --- a/tests/data/devices/tze284-rjxqso4a-ts0601.json +++ b/tests/data/devices/tze284-rjxqso4a-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -94,19 +92,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -119,13 +114,11 @@ { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -133,13 +126,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-rlytpmij-ts0601.json b/tests/data/devices/tze284-rlytpmij-ts0601.json index c9d19b087..efe5487cf 100644 --- a/tests/data/devices/tze284-rlytpmij-ts0601.json +++ b/tests/data/devices/tze284-rlytpmij-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -124,7 +117,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze284-rqcuwlsa-ts0601.json b/tests/data/devices/tze284-rqcuwlsa-ts0601.json index fd4c8658b..04f4f22a0 100644 --- a/tests/data/devices/tze284-rqcuwlsa-ts0601.json +++ b/tests/data/devices/tze284-rqcuwlsa-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,7 +62,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -88,19 +86,16 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -113,7 +108,6 @@ { "cluster_id": "0x0408", "endpoint_attribute": "soil_moisture", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -126,19 +120,16 @@ { "cluster_id": "0x040a", "endpoint_attribute": "electrical_conductivity", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -146,13 +137,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze284-sgabhwa6-ts0601.json b/tests/data/devices/tze284-sgabhwa6-ts0601.json index 155b4664d..76e62500e 100644 --- a/tests/data/devices/tze284-sgabhwa6-ts0601.json +++ b/tests/data/devices/tze284-sgabhwa6-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -94,7 +92,6 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -119,7 +116,6 @@ { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -174,25 +170,21 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0408", "endpoint_attribute": "soil_moisture", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -200,7 +192,6 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0xfffd", @@ -279,7 +270,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-upagmta9-ts0601.json b/tests/data/devices/tze284-upagmta9-ts0601.json index 8b4d4bda8..179166e55 100644 --- a/tests/data/devices/tze284-upagmta9-ts0601.json +++ b/tests/data/devices/tze284-upagmta9-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,7 +68,6 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0033", @@ -94,37 +92,31 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": "tuya_manufacturer", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -132,13 +124,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-vawy74yh-ts0601.json b/tests/data/devices/tze284-vawy74yh-ts0601.json index 330057125..fcd8ed4b3 100644 --- a/tests/data/devices/tze284-vawy74yh-ts0601.json +++ b/tests/data/devices/tze284-vawy74yh-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-vuwtqx0t-ts0601.json b/tests/data/devices/tze284-vuwtqx0t-ts0601.json index 51e6dfd6e..9b37bdb61 100644 --- a/tests/data/devices/tze284-vuwtqx0t-ts0601.json +++ b/tests/data/devices/tze284-vuwtqx0t-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-wtikaxzs-ts0601.json b/tests/data/devices/tze284-wtikaxzs-ts0601.json index 1db7e2838..f72f5bcc5 100644 --- a/tests/data/devices/tze284-wtikaxzs-ts0601.json +++ b/tests/data/devices/tze284-wtikaxzs-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +84,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-zjhoqbrd-ts0601.json b/tests/data/devices/tze284-zjhoqbrd-ts0601.json index bca6ccdfc..1abe85770 100644 --- a/tests/data/devices/tze284-zjhoqbrd-ts0601.json +++ b/tests/data/devices/tze284-zjhoqbrd-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-zm8zpwas-ts0601.json b/tests/data/devices/tze284-zm8zpwas-ts0601.json index 46a1e1f87..4a295b9ef 100644 --- a/tests/data/devices/tze284-zm8zpwas-ts0601.json +++ b/tests/data/devices/tze284-zm8zpwas-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0013", @@ -75,25 +74,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -101,13 +96,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze284-znvwzxkq-ts0601.json b/tests/data/devices/tze284-znvwzxkq-ts0601.json index 008cf177e..e96366f3c 100644 --- a/tests/data/devices/tze284-znvwzxkq-ts0601.json +++ b/tests/data/devices/tze284-znvwzxkq-ts0601.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xed00", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -95,13 +90,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/tze600-iypcp4py-ts0105.json b/tests/data/devices/tze600-iypcp4py-ts0105.json index 902e97e6c..2b51f4aee 100644 --- a/tests/data/devices/tze600-iypcp4py-ts0105.json +++ b/tests/data/devices/tze600-iypcp4py-ts0105.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -83,7 +79,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -99,7 +94,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/tze608-c75zqghm-ts0603.json b/tests/data/devices/tze608-c75zqghm-ts0603.json index a2f0d8dab..cc6b02f51 100644 --- a/tests/data/devices/tze608-c75zqghm-ts0603.json +++ b/tests/data/devices/tze608-c75zqghm-ts0603.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,25 +62,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xef00", "endpoint_attribute": null, - "bind": "SUCCESS", "attributes": [] } ], @@ -89,13 +84,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -118,7 +111,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/ubisys-s1-5501.json b/tests/data/devices/ubisys-s1-5501.json index 2c4820b1a..d7ec8eb68 100644 --- a/tests/data/devices/ubisys-s1-5501.json +++ b/tests/data/devices/ubisys-s1-5501.json @@ -46,7 +46,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -65,37 +64,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -108,7 +97,6 @@ { "cluster_id": "0xfbff", "endpoint_attribute": "ubisys_input_config", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -137,13 +125,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -151,37 +137,31 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfc02", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -196,109 +176,59 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_summ_delivered", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0001", "name": "current_summ_received", "zcl_type": "uint48", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0100", "name": "current_tier1_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0102", "name": "current_tier2_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0104", "name": "current_tier3_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "current_tier4_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0108", "name": "current_tier5_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x010a", "name": "current_tier6_summ_delivered", "zcl_type": "uint48", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", @@ -316,13 +246,7 @@ "id": "0x0400", "name": "instantaneous_demand", "zcl_type": "int24", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0306", @@ -340,13 +264,7 @@ "id": "0x0200", "name": "status", "zcl_type": "map8", - "value": 0, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0303", @@ -365,43 +283,24 @@ { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", "attributes": [ { "id": "0x0603", "name": "ac_current_divisor", "zcl_type": "uint16", - "value": 1000, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1000 }, { "id": "0x0602", "name": "ac_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0300", "name": "ac_frequency", "zcl_type": "uint16", - "value": 49766, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 49766 }, { "id": "0x0401", @@ -425,61 +324,31 @@ "id": "0x0605", "name": "ac_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0604", "name": "ac_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0601", "name": "ac_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0600", "name": "ac_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050b", "name": "active_power", "zcl_type": "int16", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x050d", @@ -503,145 +372,73 @@ "id": "0x090b", "name": "active_power_ph_b", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a0b", "name": "active_power_ph_c", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x050f", "name": "apparent_power", "zcl_type": "uint16", - "value": 1, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0103", "name": "dc_current", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0203", "name": "dc_current_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0202", "name": "dc_current_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0106", "name": "dc_power", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0205", "name": "dc_power_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0204", "name": "dc_power_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0100", "name": "dc_voltage", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0201", "name": "dc_voltage_divisor", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0200", "name": "dc_voltage_multiplier", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0000", @@ -653,13 +450,7 @@ "id": "0x0403", "name": "power_divisor", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0510", @@ -683,25 +474,13 @@ "id": "0x0402", "name": "power_multiplier", "zcl_type": "uint32", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0508", "name": "rms_current", "zcl_type": "uint16", - "value": 4, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x050a", @@ -725,37 +504,19 @@ "id": "0x0908", "name": "rms_current_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a08", "name": "rms_current_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0505", "name": "rms_voltage", "zcl_type": "uint16", - "value": 232, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 232 }, { "id": "0x0507", @@ -779,37 +540,19 @@ "id": "0x0905", "name": "rms_voltage_ph_b", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0a05", "name": "rms_voltage_ph_c", "zcl_type": "uint16", - "unsupported": true, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0304", "name": "total_active_power", "zcl_type": "int32", - "value": 0, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 } ] } @@ -826,13 +569,11 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "ubisys_cluster", - "bind": "SUCCESS", "attributes": [] } ], @@ -840,13 +581,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -868,7 +607,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -876,7 +614,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/uiot-uiot-windowcovring2-0402.json b/tests/data/devices/uiot-uiot-windowcovring2-0402.json index f40fe4432..90c73bf5e 100644 --- a/tests/data/devices/uiot-uiot-windowcovring2-0402.json +++ b/tests/data/devices/uiot-uiot-windowcovring2-0402.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,13 +62,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", @@ -82,7 +79,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -94,25 +90,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -155,13 +139,11 @@ { "cluster_id": "0xfe00", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -169,37 +151,31 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xfe00", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -214,19 +190,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -238,25 +211,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -299,7 +260,6 @@ { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -307,25 +267,21 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -340,19 +296,16 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -364,25 +317,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", @@ -425,7 +366,6 @@ { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -433,25 +373,21 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0xffff", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/universal-electronics-inc-urc4460bc0-x-r.json b/tests/data/devices/universal-electronics-inc-urc4460bc0-x-r.json index 43663f5e2..91305d02e 100644 --- a/tests/data/devices/universal-electronics-inc-urc4460bc0-x-r.json +++ b/tests/data/devices/universal-electronics-inc-urc4460bc0-x-r.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 89, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 89 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 25, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 25 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -125,26 +109,18 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1300, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 1300 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -184,7 +160,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -192,7 +167,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/unk-manufacturer-unk-model.json b/tests/data/devices/unk-manufacturer-unk-model.json index d83bf1f2e..581722c86 100644 --- a/tests/data/devices/unk-manufacturer-unk-model.json +++ b/tests/data/devices/unk-manufacturer-unk-model.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,16 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -88,19 +84,12 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4003", @@ -113,19 +102,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 1, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0014", @@ -180,19 +162,16 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0015", "endpoint_attribute": "commissioning", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0100", "endpoint_attribute": "shade", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -229,13 +208,11 @@ { "cluster_id": "0xfc20", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc21", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -243,13 +220,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc20", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/visonic-mct-340-sma.json b/tests/data/devices/visonic-mct-340-sma.json index 107566a0c..29c07652e 100644 --- a/tests/data/devices/visonic-mct-340-sma.json +++ b/tests/data/devices/visonic-mct-340-sma.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,20 +62,7 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ - { - "id": "0x0021", - "name": "battery_percentage_remaining", - "zcl_type": "uint8", - "unsupported": false, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } - }, { "id": "0x0033", "name": "battery_quantity", @@ -93,26 +79,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 28, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 28 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,26 +103,18 @@ { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 2200, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 2200 } ] }, { "cluster_id": "0x0500", "endpoint_attribute": "ias_zone", - "bind": "SUCCESS", "attributes": [ { "id": "0x0010", @@ -184,7 +154,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -192,7 +161,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/xiaomi-lywsd03mmc.json b/tests/data/devices/xiaomi-lywsd03mmc.json index b10b4d119..2f260c899 100644 --- a/tests/data/devices/xiaomi-lywsd03mmc.json +++ b/tests/data/devices/xiaomi-lywsd03mmc.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 3, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 3 }, { "id": "0x0033", @@ -93,26 +85,18 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 22, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 22 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -125,44 +109,29 @@ { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [] }, { "cluster_id": "0x0402", "endpoint_attribute": "temperature", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "int16", - "value": 1997, - "reporting": { - "min": 30, - "max": 900, - "change": 50, - "status": "SUCCESS" - } + "value": 1997 } ] }, { "cluster_id": "0x0405", "endpoint_attribute": "humidity", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "measured_value", "zcl_type": "uint16", - "value": 5296, - "reporting": { - "min": 30, - "max": 900, - "change": 100, - "status": "SUCCESS" - } + "value": 5296 } ] } @@ -171,7 +140,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/xiaoyan-terncy-sd01.json b/tests/data/devices/xiaoyan-terncy-sd01.json index 1397c436f..8af216d9c 100644 --- a/tests/data/devices/xiaoyan-terncy-sd01.json +++ b/tests/data/devices/xiaoyan-terncy-sd01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 158, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 158 }, { "id": "0x0033", @@ -93,32 +85,23 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfccc", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -126,7 +109,6 @@ { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/xyzroe-diy-zintercom.json b/tests/data/devices/xyzroe-diy-zintercom.json index e991299dd..5d7bf4154 100644 --- a/tests/data/devices/xyzroe-diy-zintercom.json +++ b/tests/data/devices/xyzroe-diy-zintercom.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -65,7 +64,6 @@ { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", @@ -84,7 +82,6 @@ { "cluster_id": "0x0101", "endpoint_attribute": "door_lock", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/yale-yrd256-tsdb.json b/tests/data/devices/yale-yrd256-tsdb.json index 9d6165ad3..d3b819b0a 100644 --- a/tests/data/devices/yale-yrd256-tsdb.json +++ b/tests/data/devices/yale-yrd256-tsdb.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -69,19 +68,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 130, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 130 }, { "id": "0x0033", @@ -99,38 +91,28 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 52, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 52 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0009", "endpoint_attribute": "alarms", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -143,7 +125,6 @@ { "cluster_id": "0x0101", "endpoint_attribute": "door_lock", - "bind": "SUCCESS", "attributes": [ { "id": "0x0023", @@ -161,13 +142,7 @@ "id": "0x0000", "name": "lock_state", "zcl_type": "enum8", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0001", @@ -198,7 +173,6 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -206,13 +180,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/yooksmart-d10110.json b/tests/data/devices/yooksmart-d10110.json index 181666ffd..b5c021583 100644 --- a/tests/data/devices/yooksmart-d10110.json +++ b/tests/data/devices/yooksmart-d10110.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 130, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 130 }, { "id": "0x0033", @@ -93,38 +85,28 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0000", @@ -137,7 +119,6 @@ { "cluster_id": "0x0102", "endpoint_attribute": "window_covering", - "bind": "SUCCESS", "attributes": [ { "id": "0x0007", @@ -149,25 +130,13 @@ "id": "0x0008", "name": "current_position_lift_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0009", "name": "current_position_tilt_percentage", "zcl_type": "uint8", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0011", @@ -212,13 +181,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", diff --git a/tests/data/devices/yunding-ford.json b/tests/data/devices/yunding-ford.json index 2962b5810..d11bd04e9 100644 --- a/tests/data/devices/yunding-ford.json +++ b/tests/data/devices/yunding-ford.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "value": 200, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 200 }, { "id": "0x0033", @@ -93,57 +85,40 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0101", "endpoint_attribute": "door_lock", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "lock_state", "zcl_type": "enum8", - "value": 2, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 2 } ] }, { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "manufacturer_specific", - "bind": "SUCCESS", "attributes": [] } ], @@ -151,19 +126,16 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfc00", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/zbeacon-ts0001.json b/tests/data/devices/zbeacon-ts0001.json index b5c602951..d71c4c778 100644 --- a/tests/data/devices/zbeacon-ts0001.json +++ b/tests/data/devices/zbeacon-ts0001.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0001", @@ -69,25 +68,21 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x4002", @@ -99,13 +94,7 @@ "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x4001", @@ -124,31 +113,26 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x1888", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/zbeacon-ts0505.json b/tests/data/devices/zbeacon-ts0505.json index ea49697f8..77a5f7c99 100644 --- a/tests/data/devices/zbeacon-ts0505.json +++ b/tests/data/devices/zbeacon-ts0505.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,37 +62,27 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0006", "endpoint_attribute": "on_off", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "on_off", "zcl_type": "bool", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x4003", @@ -106,19 +95,12 @@ { "cluster_id": "0x0008", "endpoint_attribute": "level", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "current_level", "zcl_type": "uint8", - "value": 126, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 126 }, { "id": "0x0014", @@ -161,13 +143,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0300", "endpoint_attribute": "light_color", - "bind": "SUCCESS", "attributes": [ { "id": "0x400a", @@ -203,13 +183,7 @@ "id": "0x0007", "name": "color_temperature", "zcl_type": "uint16", - "value": 153, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 153 }, { "id": "0x0000", @@ -227,25 +201,13 @@ "id": "0x0003", "name": "current_x", "zcl_type": "uint16", - "value": 10040, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 10040 }, { "id": "0x0004", "name": "current_y", "zcl_type": "uint16", - "value": 3116, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 3116 }, { "id": "0x000f", @@ -264,501 +226,26 @@ { "cluster_id": "0x0702", "endpoint_attribute": "smartenergy_metering", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0000", - "name": "current_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0001", - "name": "current_summ_received", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "current_tier1_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0102", - "name": "current_tier2_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0104", - "name": "current_tier3_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "current_tier4_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0108", - "name": "current_tier5_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x010a", - "name": "current_tier6_summ_delivered", - "zcl_type": "uint48", - "unsupported": false, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0400", - "name": "instantaneous_demand", - "zcl_type": "int24", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "status", - "zcl_type": "map8", - "unsupported": false, - "reporting": { - "min": 1, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x0b04", "endpoint_attribute": "electrical_measurement", - "bind": "SUCCESS", - "attributes": [ - { - "id": "0x0603", - "name": "ac_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0602", - "name": "ac_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0300", - "name": "ac_frequency", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0605", - "name": "ac_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0604", - "name": "ac_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0601", - "name": "ac_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0600", - "name": "ac_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x050b", - "name": "active_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x090b", - "name": "active_power_ph_b", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a0b", - "name": "active_power_ph_c", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x050f", - "name": "apparent_power", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0103", - "name": "dc_current", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0203", - "name": "dc_current_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0202", - "name": "dc_current_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0106", - "name": "dc_power", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0205", - "name": "dc_power_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0204", - "name": "dc_power_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0100", - "name": "dc_voltage", - "zcl_type": "int16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0201", - "name": "dc_voltage_divisor", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0200", - "name": "dc_voltage_multiplier", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0403", - "name": "power_divisor", - "zcl_type": "uint32", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0402", - "name": "power_multiplier", - "zcl_type": "uint32", - "unsupported": false, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0508", - "name": "rms_current", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0908", - "name": "rms_current_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a08", - "name": "rms_current_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0505", - "name": "rms_voltage", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0905", - "name": "rms_voltage_ph_b", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0a05", - "name": "rms_voltage_ph_c", - "zcl_type": "uint16", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - }, - { - "id": "0x0304", - "name": "total_active_power", - "zcl_type": "int32", - "unsupported": false, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } - } - ] + "attributes": [] }, { "cluster_id": "0x1000", "endpoint_attribute": "lightlink", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe000", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xe001", "endpoint_attribute": null, - "bind": "NOT_ATTEMPTED", "attributes": [] } ], diff --git a/tests/data/devices/zehnder-group-vaux-andigny-alcantara2-d1-00p1-02z1-00.json b/tests/data/devices/zehnder-group-vaux-andigny-alcantara2-d1-00p1-02z1-00.json index 64d98c1c7..b8c2ca224 100644 --- a/tests/data/devices/zehnder-group-vaux-andigny-alcantara2-d1-00p1-02z1-00.json +++ b/tests/data/devices/zehnder-group-vaux-andigny-alcantara2-d1-00p1-02z1-00.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,13 +62,11 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -105,13 +102,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 700, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 700 }, { "id": "0x0010", @@ -147,121 +138,61 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "value": 1, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2600, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2600 }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 700, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 700 }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 1, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "value": 800, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 800 } ] } @@ -270,7 +201,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -285,31 +215,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0406", "endpoint_attribute": "occupancy", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "occupancy", "zcl_type": "map8", - "value": 1, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 1 } ] } @@ -318,7 +239,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -333,31 +253,22 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x000f", "endpoint_attribute": "binary_input", - "bind": "SUCCESS", "attributes": [ { "id": "0x0055", "name": "present_value", "zcl_type": "bool", - "value": 0, - "reporting": { - "min": 0, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x006f", @@ -372,7 +283,6 @@ { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] @@ -388,7 +298,6 @@ { "cluster_id": "0x0021", "endpoint_attribute": "green_power", - "bind": "NOT_ATTEMPTED", "attributes": [] } ] diff --git a/tests/data/devices/zen-within-zen-01.json b/tests/data/devices/zen-within-zen-01.json index 26778b4c5..58296d63a 100644 --- a/tests/data/devices/zen-within-zen-01.json +++ b/tests/data/devices/zen-within-zen-01.json @@ -44,7 +44,6 @@ { "cluster_id": "0x0000", "endpoint_attribute": "basic", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0004", @@ -63,19 +62,12 @@ { "cluster_id": "0x0001", "endpoint_attribute": "power", - "bind": "SUCCESS", "attributes": [ { "id": "0x0021", "name": "battery_percentage_remaining", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0033", @@ -93,38 +85,28 @@ "id": "0x0020", "name": "battery_voltage", "zcl_type": "uint8", - "value": 60, - "reporting": { - "min": 3600, - "max": 10800, - "change": 1, - "status": "SUCCESS" - } + "value": 60 } ] }, { "cluster_id": "0x0003", "endpoint_attribute": "identify", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0004", "endpoint_attribute": "groups", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0005", "endpoint_attribute": "scenes", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0020", "endpoint_attribute": "poll_control", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0003", @@ -137,7 +119,6 @@ { "cluster_id": "0x0201", "endpoint_attribute": "thermostat", - "bind": "SUCCESS", "attributes": [ { "id": "0x0006", @@ -173,13 +154,7 @@ "id": "0x0000", "name": "local_temperature", "zcl_type": "int16", - "value": 2170, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2170 }, { "id": "0x0010", @@ -215,85 +190,43 @@ "id": "0x0002", "name": "occupancy", "zcl_type": "map8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0011", "name": "occupied_cooling_setpoint", "zcl_type": "int16", - "value": 2350, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 2350 }, { "id": "0x0012", "name": "occupied_heating_setpoint", "zcl_type": "int16", - "value": 1700, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "value": 1700 }, { "id": "0x0007", "name": "pi_cooling_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0008", "name": "pi_heating_demand", "zcl_type": "uint8", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 5, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x001e", "name": "running_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0029", "name": "running_state", "zcl_type": "map16", - "value": 0, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 0 }, { "id": "0x0030", @@ -305,56 +238,31 @@ "id": "0x001c", "name": "system_mode", "zcl_type": "enum8", - "value": 4, - "reporting": { - "min": 30, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 4 }, { "id": "0x0013", "name": "unoccupied_cooling_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true }, { "id": "0x0014", "name": "unoccupied_heating_setpoint", "zcl_type": "int16", - "unsupported": true, - "reporting": { - "min": 30, - "max": 900, - "change": 25, - "status": "SUCCESS" - } + "unsupported": true } ] }, { "cluster_id": "0x0202", "endpoint_attribute": "fan", - "bind": "SUCCESS", "attributes": [ { "id": "0x0000", "name": "fan_mode", "zcl_type": "enum8", - "value": 5, - "reporting": { - "min": 5, - "max": 900, - "change": 1, - "status": "SUCCESS" - } + "value": 5 }, { "id": "0x0001", @@ -367,7 +275,6 @@ { "cluster_id": "0x0204", "endpoint_attribute": "thermostat_ui", - "bind": "SUCCESS", "attributes": [ { "id": "0x0001", @@ -380,13 +287,11 @@ { "cluster_id": "0x0b05", "endpoint_attribute": "diagnostic", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0xfe11", "endpoint_attribute": "manufacturer_specific", - "bind": "NOT_ATTEMPTED", "attributes": [] } ], @@ -394,13 +299,11 @@ { "cluster_id": "0x000a", "endpoint_attribute": "time", - "bind": "NOT_ATTEMPTED", "attributes": [] }, { "cluster_id": "0x0019", "endpoint_attribute": "ota", - "bind": "NOT_ATTEMPTED", "attributes": [ { "id": "0x0002", From 93b39e858bcea5c199e364458361e9f9c6f20d1e Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 19 May 2026 15:54:04 -0400 Subject: [PATCH 63/85] Regenerate --- .../devices/aqara-lumi-switch-agl007.json | 182 +------- tests/data/devices/centralite-3315-seu.json | 114 +---- tests/data/devices/gledopto-gl-sd-301p.json | 158 +------ tests/data/devices/hobeian-zg-204zk.json | 82 +--- tests/data/devices/hobeian-zg-229z.json | 98 +--- ...-of-sweden-tradfri-bulb-gu10-ww-400lm.json | 160 +------ tests/data/devices/lixee-zlinky-tic.json | 378 +-------------- tests/data/devices/shelly-dimmer.json | 212 +-------- .../signify-netherlands-b-v-lcg006.json | 158 +------ tests/data/devices/sonoff-mini-zbdim.json | 164 +------ tests/data/devices/sonoff-snzb-01m.json | 82 +--- tests/data/devices/sonoff-snzb-04pr2.json | 98 +--- .../devices/third-reality-inc-3rap0149bz.json | 114 +---- .../devices/third-reality-inc-3rsp02064z.json | 262 +---------- ...st-international-b-v-zll-colortempera.json | 142 +----- .../data/devices/tz3000-famkxci2-ts0043.json | 98 +--- .../data/devices/tz3000-qdnrzbd3-ts0202.json | 114 +---- .../data/devices/tz3000-wn65ixz9-ts0001.json | 114 +---- .../data/devices/tz3000-yj6k7vfo-ts0041.json | 66 +-- .../data/devices/tz3210-7vgttna6-ts0001.json | 66 +-- .../data/devices/tz3210-a04acm9s-ts0001.json | 66 +-- .../data/devices/tz3210-jtifm80b-ts0502b.json | 110 +---- .../data/devices/tz3210-zdrhqmo0-ts0502b.json | 110 +---- .../data/devices/tzb210-lmqquxus-ts0502b.json | 126 +---- .../data/devices/tzb210-rawkvnnm-ts0502b.json | 126 +---- .../data/devices/tze200-579lguh2-ts0601.json | 50 +- .../data/devices/tze200-7iqgciln-ts0601.json | 50 +- .../data/devices/tze200-nqaqq4cf-ts0601.json | 50 +- .../data/devices/tze284-6ocnqlhn-ts0601.json | 50 +- .../data/devices/tze284-7gy9mqca-ts0601.json | 50 +- .../data/devices/tze284-8b9zpaav-ts0601.json | 50 +- .../data/devices/tze284-dikb3dp6-ts0601.json | 438 +----------------- .../data/devices/tze284-lq0ffndf-ts0601.json | 50 +- .../data/devices/tze284-rvnbnvw8-ts0601.json | 50 +- .../data/devices/tze284-xnbkhhdr-ts0601.json | 258 +---------- .../data/devices/tze284-zp8xakad-ts0601.json | 50 +- .../tze28c1000000-alh14edn-ts0601.json | 82 +--- tests/data/devices/ubisys-j1-5502.json | 98 +--- tests/data/devices/zemismart-spm02-3z3.json | 374 +-------------- 39 files changed, 53 insertions(+), 5047 deletions(-) diff --git a/tests/data/devices/aqara-lumi-switch-agl007.json b/tests/data/devices/aqara-lumi-switch-agl007.json index 05e8db352..a95479219 100644 --- a/tests/data/devices/aqara-lumi-switch-agl007.json +++ b/tests/data/devices/aqara-lumi-switch-agl007.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:92:a0:93:3f", "nwk": "0x21E8", "manufacturer": "Aqara", @@ -809,22 +809,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:92:a0:93:3f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:92:a0:93:3f", "endpoint_id": 1, "available": true, @@ -857,22 +841,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:92:a0:93:3f:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:92:a0:93:3f", "endpoint_id": 1, "available": true, @@ -904,22 +872,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:92:a0:93:3f:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:92:a0:93:3f", "endpoint_id": 1, "available": true, @@ -951,22 +903,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:92:a0:93:3f:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:92:a0:93:3f", "endpoint_id": 1, "available": true, @@ -998,22 +934,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:92:a0:93:3f:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:92:a0:93:3f", "endpoint_id": 1, "available": true, @@ -1047,22 +967,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:92:a0:93:3f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:92:a0:93:3f", "endpoint_id": 1, "available": true, @@ -1091,22 +995,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:92:a0:93:3f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:92:a0:93:3f", "endpoint_id": 1, "available": true, @@ -1135,22 +1023,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:92:a0:93:3f:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:92:a0:93:3f", "endpoint_id": 1, "available": true, @@ -1177,7 +1049,7 @@ "unique_id": "ab:cd:ef:12:92:a0:93:3f-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1186,22 +1058,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:92:a0:93:3f:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:92:a0:93:3f", "endpoint_id": 1, "available": true, @@ -1210,7 +1066,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT" @@ -1237,22 +1093,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:92:a0:93:3f:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:92:a0:93:3f", "endpoint_id": 1, "available": true, @@ -1281,22 +1121,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:92:a0:93:3f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:92:a0:93:3f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/centralite-3315-seu.json b/tests/data/devices/centralite-3315-seu.json index 1e1e963f7..610f3b640 100644 --- a/tests/data/devices/centralite-3315-seu.json +++ b/tests/data/devices/centralite-3315-seu.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:4d:21:3e:1d", "nwk": "0x7452", "manufacturer": "CentraLite", @@ -289,22 +289,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:4d:21:3e:1d:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:21:3e:1d", "endpoint_id": 1, "available": true, @@ -334,22 +318,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:4d:21:3e:1d:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:21:3e:1d", "endpoint_id": 1, "available": true, @@ -382,22 +350,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4d:21:3e:1d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:21:3e:1d", "endpoint_id": 1, "available": true, @@ -426,22 +378,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:4d:21:3e:1d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:21:3e:1d", "endpoint_id": 1, "available": true, @@ -470,22 +406,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:4d:21:3e:1d:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:4d:21:3e:1d", "endpoint_id": 1, "available": true, @@ -522,22 +442,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TemperatureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0402", - "endpoint_id": 1, - "cluster": { - "id": 1026, - "name": "Temperature Measurement", - "type": "server" - }, - "id": "1:0x0402", - "unique_id": "ab:cd:ef:12:4d:21:3e:1d:1:0x0402", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:4d:21:3e:1d", "endpoint_id": 1, "available": true, @@ -568,22 +472,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:4d:21:3e:1d:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:4d:21:3e:1d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/gledopto-gl-sd-301p.json b/tests/data/devices/gledopto-gl-sd-301p.json index af3383d89..cb5b5da6d 100644 --- a/tests/data/devices/gledopto-gl-sd-301p.json +++ b/tests/data/devices/gledopto-gl-sd-301p.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:40:cb:4a:aa", "nwk": "0x0579", "manufacturer": "GLEDOPTO", @@ -306,22 +306,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "ab:cd:ef:12:40:cb:4a:aa:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:cb:4a:aa", "endpoint_id": 11, "available": true, @@ -354,50 +338,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:40:cb:4a:aa:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:40:cb:4a:aa:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "ab:cd:ef:12:40:cb:4a:aa:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:40:cb:4a:aa", "endpoint_id": 11, "available": true, @@ -452,22 +392,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "ab:cd:ef:12:40:cb:4a:aa:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:40:cb:4a:aa", "endpoint_id": 11, "available": true, @@ -499,22 +423,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:40:cb:4a:aa:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:40:cb:4a:aa", "endpoint_id": 11, "available": true, @@ -548,22 +456,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:40:cb:4a:aa:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:40:cb:4a:aa", "endpoint_id": 11, "available": true, @@ -599,22 +491,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:40:cb:4a:aa:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:cb:4a:aa", "endpoint_id": 11, "available": true, @@ -643,22 +519,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:40:cb:4a:aa:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:cb:4a:aa", "endpoint_id": 11, "available": true, @@ -689,22 +549,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "ab:cd:ef:12:40:cb:4a:aa:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:40:cb:4a:aa", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/hobeian-zg-204zk.json b/tests/data/devices/hobeian-zg-204zk.json index 836df9309..b8db1c41c 100644 --- a/tests/data/devices/hobeian-zg-204zk.json +++ b/tests/data/devices/hobeian-zg-204zk.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:32:4e:24:ab", "nwk": "0x06DF", "manufacturer": "HOBEIAN", @@ -211,22 +211,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:32:4e:24:ab:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:32:4e:24:ab", "endpoint_id": 1, "available": true, @@ -256,22 +240,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:32:4e:24:ab:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:32:4e:24:ab", "endpoint_id": 1, "available": true, @@ -304,22 +272,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:32:4e:24:ab:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:32:4e:24:ab", "endpoint_id": 1, "available": true, @@ -348,22 +300,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:32:4e:24:ab:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:32:4e:24:ab", "endpoint_id": 1, "available": true, @@ -392,22 +328,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:32:4e:24:ab:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:32:4e:24:ab", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/hobeian-zg-229z.json b/tests/data/devices/hobeian-zg-229z.json index 445630437..f704b0e06 100644 --- a/tests/data/devices/hobeian-zg-229z.json +++ b/tests/data/devices/hobeian-zg-229z.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:da:48:c9:d3", "nwk": "0x0FE7", "manufacturer": "HOBEIAN", @@ -183,22 +183,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:da:48:c9:d3:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:da:48:c9:d3", "endpoint_id": 1, "available": true, @@ -231,22 +215,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:da:48:c9:d3:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:da:48:c9:d3", "endpoint_id": 1, "available": true, @@ -299,22 +267,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:da:48:c9:d3:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:da:48:c9:d3", "endpoint_id": 1, "available": true, @@ -350,22 +302,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:da:48:c9:d3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:da:48:c9:d3", "endpoint_id": 1, "available": true, @@ -394,22 +330,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:da:48:c9:d3:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:da:48:c9:d3", "endpoint_id": 1, "available": true, @@ -438,22 +358,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:da:48:c9:d3:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:da:48:c9:d3", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ww-400lm.json b/tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ww-400lm.json index 991342a7e..3f789b4f2 100644 --- a/tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ww-400lm.json +++ b/tests/data/devices/ikea-of-sweden-tradfri-bulb-gu10-ww-400lm.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d9:ce:e9:6e", "nwk": "0x560C", "manufacturer": "IKEA of Sweden", @@ -270,22 +270,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:d9:ce:e9:6e:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:ce:e9:6e", "endpoint_id": 1, "available": true, @@ -318,36 +302,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:d9:ce:e9:6e:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:d9:ce:e9:6e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:d9:ce:e9:6e", "endpoint_id": 1, "available": true, @@ -401,22 +355,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:d9:ce:e9:6e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:d9:ce:e9:6e", "endpoint_id": 1, "available": true, @@ -448,22 +386,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:d9:ce:e9:6e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:d9:ce:e9:6e", "endpoint_id": 1, "available": true, @@ -495,22 +417,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:d9:ce:e9:6e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:d9:ce:e9:6e", "endpoint_id": 1, "available": true, @@ -544,22 +450,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:d9:ce:e9:6e:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:d9:ce:e9:6e", "endpoint_id": 1, "available": true, @@ -595,22 +485,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d9:ce:e9:6e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:ce:e9:6e", "endpoint_id": 1, "available": true, @@ -639,22 +513,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d9:ce:e9:6e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:ce:e9:6e", "endpoint_id": 1, "available": true, @@ -685,22 +543,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d9:ce:e9:6e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d9:ce:e9:6e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/lixee-zlinky-tic.json b/tests/data/devices/lixee-zlinky-tic.json index 4e11860a2..481907845 100644 --- a/tests/data/devices/lixee-zlinky-tic.json +++ b/tests/data/devices/lixee-zlinky-tic.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:b9:db:c0:ae", "nwk": "0x728D", "manufacturer": "LiXee", @@ -913,22 +913,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", "endpoint_id": 1, "available": true, @@ -961,22 +945,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", "endpoint_id": 1, "available": true, @@ -1005,22 +973,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", "endpoint_id": 1, "available": true, @@ -1034,58 +986,6 @@ "state": null } }, - { - "info_object": { - "fallback_name": null, - "unique_id": "ab:cd:ef:12:b9:db:c0:ae-1-1794-summation_delivered", - "migrate_unique_ids": [], - "platform": "sensor", - "class_name": "PolledSmartEnergySummation", - "translation_key": "summation_delivered", - "translation_placeholders": null, - "device_class": "energy", - "state_class": "total_increasing", - "entity_category": null, - "entity_registry_enabled_default": true, - "enabled": true, - "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "ZLinkyTICMetering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], - "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", - "endpoint_id": 1, - "available": true, - "group_id": null, - "suggested_display_precision": 3, - "unit": "kWh" - }, - "state": { - "class_name": "PolledSmartEnergySummation", - "available": true, - "state": 42837.076, - "device_type": "Electric Metering", - "status": "NO_ALARMS", - "zcl_unit_of_measurement": 0 - }, - "extra_state_attributes": [ - "device_type", - "status", - "zcl_unit_of_measurement" - ] - }, { "info_object": { "fallback_name": null, @@ -1101,22 +1001,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "ZLinkyTICMetering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", "endpoint_id": 1, "available": true, @@ -1153,22 +1037,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "ZLinkyTICMetering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", "endpoint_id": 1, "available": true, @@ -1205,22 +1073,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "ZLinkyTICMetering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", "endpoint_id": 1, "available": true, @@ -1257,22 +1109,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "ZLinkyTICMetering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", "endpoint_id": 1, "available": true, @@ -1309,22 +1145,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "ZLinkyTICMetering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", "endpoint_id": 1, "available": true, @@ -1361,22 +1181,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "ZLinkyTICMetering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", "endpoint_id": 1, "available": true, @@ -1404,7 +1208,7 @@ "unique_id": "ab:cd:ef:12:b9:db:c0:ae-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1413,22 +1217,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", "endpoint_id": 1, "available": true, @@ -1437,7 +1225,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 257.0, "measurement_type": "", @@ -1463,22 +1251,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", "endpoint_id": 1, "available": true, @@ -1513,22 +1285,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", "endpoint_id": 1, "available": true, @@ -1561,22 +1317,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", "endpoint_id": 1, "available": true, @@ -1611,22 +1351,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", "endpoint_id": 1, "available": true, @@ -1661,22 +1385,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", "endpoint_id": 1, "available": true, @@ -1711,22 +1419,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", "endpoint_id": 1, "available": true, @@ -1760,22 +1452,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", "endpoint_id": 1, "available": true, @@ -1809,22 +1485,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", "endpoint_id": 1, "available": true, @@ -1858,22 +1518,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", "endpoint_id": 1, "available": true, @@ -1910,22 +1554,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:b9:db:c0:ae:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/shelly-dimmer.json b/tests/data/devices/shelly-dimmer.json index 163498b64..e57e08e6c 100644 --- a/tests/data/devices/shelly-dimmer.json +++ b/tests/data/devices/shelly-dimmer.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:28:23:e1:0e", "nwk": "0x6460", "manufacturer": "Shelly", @@ -627,22 +627,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:28:23:e1:0e:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:28:23:e1:0e", "endpoint_id": 1, "available": true, @@ -675,36 +659,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:28:23:e1:0e:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:28:23:e1:0e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:28:23:e1:0e", "endpoint_id": 1, "available": true, @@ -758,22 +712,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:28:23:e1:0e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:28:23:e1:0e", "endpoint_id": 1, "available": true, @@ -805,22 +743,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:28:23:e1:0e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:28:23:e1:0e", "endpoint_id": 1, "available": true, @@ -852,22 +774,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:28:23:e1:0e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:28:23:e1:0e", "endpoint_id": 1, "available": true, @@ -901,22 +807,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:28:23:e1:0e:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:28:23:e1:0e", "endpoint_id": 1, "available": true, @@ -952,22 +842,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:28:23:e1:0e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:28:23:e1:0e", "endpoint_id": 1, "available": true, @@ -996,22 +870,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:28:23:e1:0e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:28:23:e1:0e", "endpoint_id": 1, "available": true, @@ -1040,22 +898,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:28:23:e1:0e:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:28:23:e1:0e", "endpoint_id": 1, "available": true, @@ -1083,7 +925,7 @@ "unique_id": "ab:cd:ef:12:28:23:e1:0e-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1092,22 +934,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:28:23:e1:0e:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:28:23:e1:0e", "endpoint_id": 1, "available": true, @@ -1116,7 +942,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT" @@ -1141,22 +967,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:28:23:e1:0e:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:28:23:e1:0e", "endpoint_id": 1, "available": true, @@ -1190,22 +1000,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:28:23:e1:0e:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:28:23:e1:0e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/signify-netherlands-b-v-lcg006.json b/tests/data/devices/signify-netherlands-b-v-lcg006.json index 3c1125ff4..8f016d09d 100644 --- a/tests/data/devices/signify-netherlands-b-v-lcg006.json +++ b/tests/data/devices/signify-netherlands-b-v-lcg006.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a8:67:e6:a3", "nwk": "0xE5F4", "manufacturer": "Signify Netherlands B.V.", @@ -336,22 +336,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 11, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "11:0x0003", - "unique_id": "ab:cd:ef:12:a8:67:e6:a3:11:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a8:67:e6:a3", "endpoint_id": 11, "available": true, @@ -384,50 +368,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:a8:67:e6:a3:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:a8:67:e6:a3:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "ab:cd:ef:12:a8:67:e6:a3:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:a8:67:e6:a3", "endpoint_id": 11, "available": true, @@ -488,22 +428,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 11, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "11:0x0300", - "unique_id": "ab:cd:ef:12:a8:67:e6:a3:11:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:a8:67:e6:a3", "endpoint_id": 11, "available": true, @@ -535,22 +459,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 11, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "11:0x0008", - "unique_id": "ab:cd:ef:12:a8:67:e6:a3:11:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:a8:67:e6:a3", "endpoint_id": 11, "available": true, @@ -584,22 +492,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 11, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "11:0x0006", - "unique_id": "ab:cd:ef:12:a8:67:e6:a3:11:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:a8:67:e6:a3", "endpoint_id": 11, "available": true, @@ -635,22 +527,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:a8:67:e6:a3:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a8:67:e6:a3", "endpoint_id": 11, "available": true, @@ -679,22 +555,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 11, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "11:0x0000", - "unique_id": "ab:cd:ef:12:a8:67:e6:a3:11:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a8:67:e6:a3", "endpoint_id": 11, "available": true, @@ -725,22 +585,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 11, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "11:0x0019_client", - "unique_id": "ab:cd:ef:12:a8:67:e6:a3:11:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a8:67:e6:a3", "endpoint_id": 11, "available": true, diff --git a/tests/data/devices/sonoff-mini-zbdim.json b/tests/data/devices/sonoff-mini-zbdim.json index dc1882129..c9f6bcd3c 100644 --- a/tests/data/devices/sonoff-mini-zbdim.json +++ b/tests/data/devices/sonoff-mini-zbdim.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ca:01:81:4d", "nwk": "0x1DEF", "manufacturer": "SONOFF", @@ -528,22 +528,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:ca:01:81:4d:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:01:81:4d", "endpoint_id": 1, "available": true, @@ -576,36 +560,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ca:01:81:4d:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:ca:01:81:4d:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:ca:01:81:4d", "endpoint_id": 1, "available": true, @@ -659,22 +613,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ca:01:81:4d:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ca:01:81:4d", "endpoint_id": 1, "available": true, @@ -710,22 +648,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ca:01:81:4d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:01:81:4d", "endpoint_id": 1, "available": true, @@ -754,22 +676,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ca:01:81:4d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:01:81:4d", "endpoint_id": 1, "available": true, @@ -789,7 +695,7 @@ "unique_id": "ab:cd:ef:12:ca:01:81:4d-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -798,22 +704,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:ca:01:81:4d:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:ca:01:81:4d", "endpoint_id": 1, "available": true, @@ -822,7 +712,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT" @@ -847,22 +737,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:ca:01:81:4d:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:ca:01:81:4d", "endpoint_id": 1, "available": true, @@ -896,22 +770,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:ca:01:81:4d:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:ca:01:81:4d", "endpoint_id": 1, "available": true, @@ -947,22 +805,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ca:01:81:4d:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ca:01:81:4d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sonoff-snzb-01m.json b/tests/data/devices/sonoff-snzb-01m.json index fcf3aceb2..d1ce35a0b 100644 --- a/tests/data/devices/sonoff-snzb-01m.json +++ b/tests/data/devices/sonoff-snzb-01m.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:25:6d:54:c8", "nwk": "0x0A82", "manufacturer": "SONOFF", @@ -316,22 +316,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:25:6d:54:c8:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:25:6d:54:c8", "endpoint_id": 1, "available": true, @@ -364,22 +348,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:25:6d:54:c8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:25:6d:54:c8", "endpoint_id": 1, "available": true, @@ -408,22 +376,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:25:6d:54:c8:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:25:6d:54:c8", "endpoint_id": 1, "available": true, @@ -452,22 +404,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:25:6d:54:c8:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:25:6d:54:c8", "endpoint_id": 1, "available": true, @@ -503,22 +439,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:25:6d:54:c8:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:25:6d:54:c8", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/sonoff-snzb-04pr2.json b/tests/data/devices/sonoff-snzb-04pr2.json index 186817f7f..6a287bb06 100644 --- a/tests/data/devices/sonoff-snzb-04pr2.json +++ b/tests/data/devices/sonoff-snzb-04pr2.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f7:3c:1f:0d", "nwk": "0x6BB3", "manufacturer": "SONOFF", @@ -202,22 +202,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:f7:3c:1f:0d:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f7:3c:1f:0d", "endpoint_id": 1, "available": true, @@ -247,22 +231,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:f7:3c:1f:0d:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f7:3c:1f:0d", "endpoint_id": 1, "available": true, @@ -295,22 +263,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f7:3c:1f:0d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f7:3c:1f:0d", "endpoint_id": 1, "available": true, @@ -339,22 +291,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f7:3c:1f:0d:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f7:3c:1f:0d", "endpoint_id": 1, "available": true, @@ -383,22 +319,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:f7:3c:1f:0d:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:f7:3c:1f:0d", "endpoint_id": 1, "available": true, @@ -434,22 +354,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f7:3c:1f:0d:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f7:3c:1f:0d", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/third-reality-inc-3rap0149bz.json b/tests/data/devices/third-reality-inc-3rap0149bz.json index 03ef2ecc8..de064bd93 100644 --- a/tests/data/devices/third-reality-inc-3rap0149bz.json +++ b/tests/data/devices/third-reality-inc-3rap0149bz.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:6f:2f:02:92", "nwk": "0x173B", "manufacturer": "Third Reality, Inc", @@ -235,22 +235,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:6f:2f:02:92:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6f:2f:02:92", "endpoint_id": 1, "available": true, @@ -283,22 +267,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6f:2f:02:92:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6f:2f:02:92", "endpoint_id": 1, "available": true, @@ -327,22 +295,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6f:2f:02:92:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6f:2f:02:92", "endpoint_id": 1, "available": true, @@ -371,22 +323,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:6f:2f:02:92:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:6f:2f:02:92", "endpoint_id": 1, "available": true, @@ -421,22 +357,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "PressureMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0403", - "endpoint_id": 1, - "cluster": { - "id": 1027, - "name": "Pressure Measurement", - "type": "server" - }, - "id": "1:0x0403", - "unique_id": "ab:cd:ef:12:6f:2f:02:92:1:0x0403", - "status": "INITIALIZED", - "value_attribute": "measured_value" - } - ], "device_ieee": "ab:cd:ef:12:6f:2f:02:92", "endpoint_id": 1, "available": true, @@ -465,22 +385,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "AnalogInputClusterHandler", - "generic_id": "cluster_handler_0x000c", - "endpoint_id": 1, - "cluster": { - "id": 12, - "name": "AnalogInput", - "type": "server" - }, - "id": "1:0x000c", - "unique_id": "ab:cd:ef:12:6f:2f:02:92:1:0x000c", - "status": "INITIALIZED", - "value_attribute": "present_value" - } - ], "device_ieee": "ab:cd:ef:12:6f:2f:02:92", "endpoint_id": 1, "available": true, @@ -511,22 +415,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:6f:2f:02:92:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6f:2f:02:92", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/third-reality-inc-3rsp02064z.json b/tests/data/devices/third-reality-inc-3rsp02064z.json index 26a561967..6baf7383e 100644 --- a/tests/data/devices/third-reality-inc-3rsp02064z.json +++ b/tests/data/devices/third-reality-inc-3rsp02064z.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:bb:32:67:ac", "nwk": "0x8BA6", "manufacturer": "Third Reality, Inc", @@ -584,22 +584,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:bb:32:67:ac:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bb:32:67:ac", "endpoint_id": 1, "available": true, @@ -629,22 +613,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:bb:32:67:ac:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bb:32:67:ac", "endpoint_id": 1, "available": true, @@ -675,22 +643,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xff03", - "endpoint_id": 1, - "cluster": { - "id": 65283, - "name": "ThirdRealityPlugCluster", - "type": "server" - }, - "id": "1:0xff03", - "unique_id": "ab:cd:ef:12:bb:32:67:ac:1:0xff03", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bb:32:67:ac", "endpoint_id": 1, "available": true, @@ -720,22 +672,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xff03", - "endpoint_id": 1, - "cluster": { - "id": 65283, - "name": "ThirdRealityPlugCluster", - "type": "server" - }, - "id": "1:0xff03", - "unique_id": "ab:cd:ef:12:bb:32:67:ac:1:0xff03", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bb:32:67:ac", "endpoint_id": 1, "available": true, @@ -767,22 +703,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ClusterHandler", - "generic_id": "cluster_handler_0xff03", - "endpoint_id": 1, - "cluster": { - "id": 65283, - "name": "ThirdRealityPlugCluster", - "type": "server" - }, - "id": "1:0xff03", - "unique_id": "ab:cd:ef:12:bb:32:67:ac:1:0xff03", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bb:32:67:ac", "endpoint_id": 1, "available": true, @@ -816,22 +736,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:bb:32:67:ac:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:bb:32:67:ac", "endpoint_id": 1, "available": true, @@ -867,22 +771,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:bb:32:67:ac:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bb:32:67:ac", "endpoint_id": 1, "available": true, @@ -911,22 +799,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:bb:32:67:ac:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bb:32:67:ac", "endpoint_id": 1, "available": true, @@ -955,22 +827,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:bb:32:67:ac:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:bb:32:67:ac", "endpoint_id": 1, "available": true, @@ -997,7 +853,7 @@ "unique_id": "ab:cd:ef:12:bb:32:67:ac-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -1006,22 +862,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:bb:32:67:ac:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:bb:32:67:ac", "endpoint_id": 1, "available": true, @@ -1030,7 +870,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 0.0, "measurement_type": "ACTIVE_MEASUREMENT" @@ -1055,22 +895,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:bb:32:67:ac:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:bb:32:67:ac", "endpoint_id": 1, "available": true, @@ -1104,22 +928,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:bb:32:67:ac:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:bb:32:67:ac", "endpoint_id": 1, "available": true, @@ -1152,22 +960,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:bb:32:67:ac:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:bb:32:67:ac", "endpoint_id": 1, "available": true, @@ -1201,22 +993,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:bb:32:67:ac:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:bb:32:67:ac", "endpoint_id": 1, "available": true, @@ -1252,22 +1028,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:bb:32:67:ac:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:bb:32:67:ac", "endpoint_id": 1, "available": true, @@ -1296,22 +1056,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:bb:32:67:ac:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:bb:32:67:ac", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/trust-international-b-v-zll-colortempera.json b/tests/data/devices/trust-international-b-v-zll-colortempera.json index 6755a6831..246ba7090 100644 --- a/tests/data/devices/trust-international-b-v-zll-colortempera.json +++ b/tests/data/devices/trust-international-b-v-zll-colortempera.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:12:27:74:4f", "nwk": "0x2E91", "manufacturer": "Trust International B.V.", @@ -387,22 +387,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:12:27:74:4f:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:12:27:74:4f", "endpoint_id": 1, "available": true, @@ -432,22 +416,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:12:27:74:4f:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:12:27:74:4f", "endpoint_id": 1, "available": true, @@ -480,50 +448,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:12:27:74:4f:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:12:27:74:4f:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:12:27:74:4f:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:12:27:74:4f", "endpoint_id": 1, "available": true, @@ -578,22 +502,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:12:27:74:4f:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - } - ], "device_ieee": "ab:cd:ef:12:12:27:74:4f", "endpoint_id": 1, "available": true, @@ -627,22 +535,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:12:27:74:4f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:12:27:74:4f", "endpoint_id": 1, "available": true, @@ -671,22 +563,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:12:27:74:4f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:12:27:74:4f", "endpoint_id": 1, "available": true, @@ -717,22 +593,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:12:27:74:4f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:12:27:74:4f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-famkxci2-ts0043.json b/tests/data/devices/tz3000-famkxci2-ts0043.json index 1659b43c2..982ff1941 100644 --- a/tests/data/devices/tz3000-famkxci2-ts0043.json +++ b/tests/data/devices/tz3000-famkxci2-ts0043.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:c2:cb:44:9b", "nwk": "0x38A8", "manufacturer": "_TZ3000_famkxci2", @@ -277,22 +277,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c2:cb:44:9b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c2:cb:44:9b", "endpoint_id": 1, "available": true, @@ -321,22 +305,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:c2:cb:44:9b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c2:cb:44:9b", "endpoint_id": 1, "available": true, @@ -365,22 +333,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:c2:cb:44:9b:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:c2:cb:44:9b", "endpoint_id": 1, "available": true, @@ -415,22 +367,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 2, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "2:0x0001", - "unique_id": "ab:cd:ef:12:c2:cb:44:9b:2:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:c2:cb:44:9b", "endpoint_id": 2, "available": true, @@ -465,22 +401,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 3, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "3:0x0001", - "unique_id": "ab:cd:ef:12:c2:cb:44:9b:3:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:c2:cb:44:9b", "endpoint_id": 3, "available": true, @@ -517,22 +437,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:c2:cb:44:9b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:c2:cb:44:9b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-qdnrzbd3-ts0202.json b/tests/data/devices/tz3000-qdnrzbd3-ts0202.json index 42c82fa15..ede7a2056 100644 --- a/tests/data/devices/tz3000-qdnrzbd3-ts0202.json +++ b/tests/data/devices/tz3000-qdnrzbd3-ts0202.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:e7:3d:9e:ec", "nwk": "0x9767", "manufacturer": "_TZ3000_qdnrzbd3", @@ -225,22 +225,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "IASZoneClusterHandler", - "generic_id": "cluster_handler_0x0500", - "endpoint_id": 1, - "cluster": { - "id": 1280, - "name": "IAS Zone", - "type": "server" - }, - "id": "1:0x0500", - "unique_id": "ab:cd:ef:12:e7:3d:9e:ec:1:0x0500", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:3d:9e:ec", "endpoint_id": 1, "available": true, @@ -268,22 +252,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:e7:3d:9e:ec:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:3d:9e:ec", "endpoint_id": 1, "available": true, @@ -313,22 +281,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:e7:3d:9e:ec:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:3d:9e:ec", "endpoint_id": 1, "available": true, @@ -361,22 +313,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e7:3d:9e:ec:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:3d:9e:ec", "endpoint_id": 1, "available": true, @@ -405,22 +341,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:e7:3d:9e:ec:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:3d:9e:ec", "endpoint_id": 1, "available": true, @@ -449,22 +369,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:e7:3d:9e:ec:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:e7:3d:9e:ec", "endpoint_id": 1, "available": true, @@ -501,22 +405,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:e7:3d:9e:ec:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:e7:3d:9e:ec", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-wn65ixz9-ts0001.json b/tests/data/devices/tz3000-wn65ixz9-ts0001.json index dc4eceabd..c3721a5fe 100644 --- a/tests/data/devices/tz3000-wn65ixz9-ts0001.json +++ b/tests/data/devices/tz3000-wn65ixz9-ts0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ab:82:5f:a1", "nwk": "0x145F", "manufacturer": "_TZ3000_wn65ixz9", @@ -243,22 +243,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:ab:82:5f:a1:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ab:82:5f:a1", "endpoint_id": 1, "available": true, @@ -291,22 +275,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ab:82:5f:a1:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ab:82:5f:a1", "endpoint_id": 1, "available": true, @@ -359,22 +327,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ab:82:5f:a1:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ab:82:5f:a1", "endpoint_id": 1, "available": true, @@ -407,22 +359,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:ab:82:5f:a1:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:ab:82:5f:a1", "endpoint_id": 1, "available": true, @@ -457,22 +393,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ab:82:5f:a1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ab:82:5f:a1", "endpoint_id": 1, "available": true, @@ -501,22 +421,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ab:82:5f:a1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ab:82:5f:a1", "endpoint_id": 1, "available": true, @@ -547,22 +451,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ab:82:5f:a1:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ab:82:5f:a1", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3000-yj6k7vfo-ts0041.json b/tests/data/devices/tz3000-yj6k7vfo-ts0041.json index f97174285..57502d1fd 100644 --- a/tests/data/devices/tz3000-yj6k7vfo-ts0041.json +++ b/tests/data/devices/tz3000-yj6k7vfo-ts0041.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f9:5d:da:9e", "nwk": "0x6CDA", "manufacturer": "_TZ3000_yj6k7vfo", @@ -200,22 +200,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f9:5d:da:9e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f9:5d:da:9e", "endpoint_id": 1, "available": true, @@ -244,22 +228,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f9:5d:da:9e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f9:5d:da:9e", "endpoint_id": 1, "available": true, @@ -288,22 +256,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:f9:5d:da:9e:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:f9:5d:da:9e", "endpoint_id": 1, "available": true, @@ -340,22 +292,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f9:5d:da:9e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f9:5d:da:9e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-7vgttna6-ts0001.json b/tests/data/devices/tz3210-7vgttna6-ts0001.json index 339ebbdf9..702610b1d 100644 --- a/tests/data/devices/tz3210-7vgttna6-ts0001.json +++ b/tests/data/devices/tz3210-7vgttna6-ts0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:3f:bf:0b:23", "nwk": "0x57BB", "manufacturer": "_TZ3210_7vgttna6", @@ -155,22 +155,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3f:bf:0b:23:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3f:bf:0b:23", "endpoint_id": 1, "available": true, @@ -199,22 +183,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:3f:bf:0b:23:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3f:bf:0b:23", "endpoint_id": 1, "available": true, @@ -245,22 +213,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:3f:bf:0b:23:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:3f:bf:0b:23", "endpoint_id": 1, "available": true, @@ -289,22 +241,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:3f:bf:0b:23:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:3f:bf:0b:23", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-a04acm9s-ts0001.json b/tests/data/devices/tz3210-a04acm9s-ts0001.json index 762267840..de6727191 100644 --- a/tests/data/devices/tz3210-a04acm9s-ts0001.json +++ b/tests/data/devices/tz3210-a04acm9s-ts0001.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:6e:06:95:22", "nwk": "0x08F9", "manufacturer": "_TZ3210_a04acm9s", @@ -161,22 +161,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6e:06:95:22:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6e:06:95:22", "endpoint_id": 1, "available": true, @@ -205,22 +189,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:6e:06:95:22:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6e:06:95:22", "endpoint_id": 1, "available": true, @@ -251,22 +219,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:6e:06:95:22:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:6e:06:95:22", "endpoint_id": 1, "available": true, @@ -295,22 +247,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:6e:06:95:22:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:6e:06:95:22", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-jtifm80b-ts0502b.json b/tests/data/devices/tz3210-jtifm80b-ts0502b.json index 4883ee028..58997bc0b 100644 --- a/tests/data/devices/tz3210-jtifm80b-ts0502b.json +++ b/tests/data/devices/tz3210-jtifm80b-ts0502b.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:f6:ca:ce:71", "nwk": "0xC732", "manufacturer": "_TZ3210_jtifm80b", @@ -318,22 +318,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:f6:ca:ce:71:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f6:ca:ce:71", "endpoint_id": 1, "available": true, @@ -366,50 +350,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:f6:ca:ce:71:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:f6:ca:ce:71:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:f6:ca:ce:71:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:f6:ca:ce:71", "endpoint_id": 1, "available": true, @@ -464,22 +404,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f6:ca:ce:71:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f6:ca:ce:71", "endpoint_id": 1, "available": true, @@ -508,22 +432,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:f6:ca:ce:71:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f6:ca:ce:71", "endpoint_id": 1, "available": true, @@ -554,22 +462,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:f6:ca:ce:71:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:f6:ca:ce:71", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tz3210-zdrhqmo0-ts0502b.json b/tests/data/devices/tz3210-zdrhqmo0-ts0502b.json index 29ed28b53..2b6271978 100644 --- a/tests/data/devices/tz3210-zdrhqmo0-ts0502b.json +++ b/tests/data/devices/tz3210-zdrhqmo0-ts0502b.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:71:d2:67:9e", "nwk": "0xA630", "manufacturer": "_TZ3210_zdrhqmo0", @@ -336,22 +336,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:71:d2:67:9e:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:71:d2:67:9e", "endpoint_id": 1, "available": true, @@ -384,50 +368,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:71:d2:67:9e:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:71:d2:67:9e:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:71:d2:67:9e:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:71:d2:67:9e", "endpoint_id": 1, "available": true, @@ -482,22 +422,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:71:d2:67:9e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:71:d2:67:9e", "endpoint_id": 1, "available": true, @@ -526,22 +450,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:71:d2:67:9e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:71:d2:67:9e", "endpoint_id": 1, "available": true, @@ -572,22 +480,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:71:d2:67:9e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:71:d2:67:9e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tzb210-lmqquxus-ts0502b.json b/tests/data/devices/tzb210-lmqquxus-ts0502b.json index 261ab6cb7..b5b834637 100644 --- a/tests/data/devices/tzb210-lmqquxus-ts0502b.json +++ b/tests/data/devices/tzb210-lmqquxus-ts0502b.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:02:78:f7:ef", "nwk": "0xBC00", "manufacturer": "_TZB210_lmqquxus", @@ -336,22 +336,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:02:78:f7:ef:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:02:78:f7:ef", "endpoint_id": 1, "available": true, @@ -384,50 +368,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:02:78:f7:ef:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:02:78:f7:ef:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:02:78:f7:ef:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:02:78:f7:ef", "endpoint_id": 1, "available": true, @@ -482,22 +422,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:02:78:f7:ef:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:02:78:f7:ef", "endpoint_id": 1, "available": true, @@ -531,22 +455,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:02:78:f7:ef:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:02:78:f7:ef", "endpoint_id": 1, "available": true, @@ -575,22 +483,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:02:78:f7:ef:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:02:78:f7:ef", "endpoint_id": 1, "available": true, @@ -621,22 +513,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:02:78:f7:ef:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:02:78:f7:ef", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tzb210-rawkvnnm-ts0502b.json b/tests/data/devices/tzb210-rawkvnnm-ts0502b.json index 322c3aaf5..c478b6247 100644 --- a/tests/data/devices/tzb210-rawkvnnm-ts0502b.json +++ b/tests/data/devices/tzb210-rawkvnnm-ts0502b.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:cb:aa:9f:39", "nwk": "0x659E", "manufacturer": "_TZB210_rawkvnnm", @@ -354,22 +354,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:cb:aa:9f:39:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cb:aa:9f:39", "endpoint_id": 1, "available": true, @@ -402,50 +386,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:cb:aa:9f:39:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - }, - { - "class_name": "LevelControlClusterHandler", - "generic_id": "cluster_handler_0x0008", - "endpoint_id": 1, - "cluster": { - "id": 8, - "name": "Level control", - "type": "server" - }, - "id": "1:0x0008", - "unique_id": "ab:cd:ef:12:cb:aa:9f:39:1:0x0008", - "status": "INITIALIZED", - "value_attribute": "current_level" - }, - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:cb:aa:9f:39:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:cb:aa:9f:39", "endpoint_id": 1, "available": true, @@ -500,22 +440,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ColorClusterHandler", - "generic_id": "cluster_handler_0x0300", - "endpoint_id": 1, - "cluster": { - "id": 768, - "name": "Color Control", - "type": "server" - }, - "id": "1:0x0300", - "unique_id": "ab:cd:ef:12:cb:aa:9f:39:1:0x0300", - "status": "INITIALIZED", - "value_attribute": "current_x" - } - ], "device_ieee": "ab:cd:ef:12:cb:aa:9f:39", "endpoint_id": 1, "available": true, @@ -549,22 +473,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cb:aa:9f:39:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cb:aa:9f:39", "endpoint_id": 1, "available": true, @@ -593,22 +501,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cb:aa:9f:39:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cb:aa:9f:39", "endpoint_id": 1, "available": true, @@ -639,22 +531,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:cb:aa:9f:39:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cb:aa:9f:39", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-579lguh2-ts0601.json b/tests/data/devices/tze200-579lguh2-ts0601.json index 43d41eda0..d9e5e5a3e 100644 --- a/tests/data/devices/tze200-579lguh2-ts0601.json +++ b/tests/data/devices/tze200-579lguh2-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:7e:7b:6f:42", "nwk": "0x8FF6", "manufacturer": "_TZE200_579lguh2", @@ -154,22 +154,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7e:7b:6f:42:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7e:7b:6f:42", "endpoint_id": 1, "available": true, @@ -198,22 +182,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7e:7b:6f:42:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7e:7b:6f:42", "endpoint_id": 1, "available": true, @@ -244,22 +212,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:7e:7b:6f:42:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7e:7b:6f:42", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-7iqgciln-ts0601.json b/tests/data/devices/tze200-7iqgciln-ts0601.json index f5bc073cf..4c495e033 100644 --- a/tests/data/devices/tze200-7iqgciln-ts0601.json +++ b/tests/data/devices/tze200-7iqgciln-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:2a:c0:6c:7e", "nwk": "0x2A7F", "manufacturer": "_TZE200_7iqgciln", @@ -177,22 +177,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2a:c0:6c:7e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2a:c0:6c:7e", "endpoint_id": 1, "available": true, @@ -221,22 +205,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:2a:c0:6c:7e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2a:c0:6c:7e", "endpoint_id": 1, "available": true, @@ -267,22 +235,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:2a:c0:6c:7e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:2a:c0:6c:7e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze200-nqaqq4cf-ts0601.json b/tests/data/devices/tze200-nqaqq4cf-ts0601.json index 24c7cb0fb..be82150d2 100644 --- a/tests/data/devices/tze200-nqaqq4cf-ts0601.json +++ b/tests/data/devices/tze200-nqaqq4cf-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a2:f2:ce:d0", "nwk": "0xCF44", "manufacturer": "_TZE200_nqaqq4cf", @@ -154,22 +154,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a2:f2:ce:d0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:f2:ce:d0", "endpoint_id": 1, "available": true, @@ -198,22 +182,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a2:f2:ce:d0:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:f2:ce:d0", "endpoint_id": 1, "available": true, @@ -244,22 +212,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a2:f2:ce:d0:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a2:f2:ce:d0", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-6ocnqlhn-ts0601.json b/tests/data/devices/tze284-6ocnqlhn-ts0601.json index c2f9fe5e7..9af788bd3 100644 --- a/tests/data/devices/tze284-6ocnqlhn-ts0601.json +++ b/tests/data/devices/tze284-6ocnqlhn-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:7b:a7:f7:3b", "nwk": "0x9AE8", "manufacturer": "_TZE284_6ocnqlhn", @@ -160,22 +160,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7b:a7:f7:3b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:a7:f7:3b", "endpoint_id": 1, "available": true, @@ -204,22 +188,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:7b:a7:f7:3b:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:a7:f7:3b", "endpoint_id": 1, "available": true, @@ -250,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:7b:a7:f7:3b:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:7b:a7:f7:3b", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-7gy9mqca-ts0601.json b/tests/data/devices/tze284-7gy9mqca-ts0601.json index 855180dc2..41c92dfd5 100644 --- a/tests/data/devices/tze284-7gy9mqca-ts0601.json +++ b/tests/data/devices/tze284-7gy9mqca-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:69:c5:23:07", "nwk": "0x3108", "manufacturer": "_TZE284_7gy9mqca", @@ -183,22 +183,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:69:c5:23:07:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:69:c5:23:07", "endpoint_id": 1, "available": true, @@ -227,22 +211,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:69:c5:23:07:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:69:c5:23:07", "endpoint_id": 1, "available": true, @@ -273,22 +241,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:69:c5:23:07:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:69:c5:23:07", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-8b9zpaav-ts0601.json b/tests/data/devices/tze284-8b9zpaav-ts0601.json index caa48da82..bc01a17e0 100644 --- a/tests/data/devices/tze284-8b9zpaav-ts0601.json +++ b/tests/data/devices/tze284-8b9zpaav-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:5e:6b:1d:f1", "nwk": "0x266E", "manufacturer": "_TZE284_8b9zpaav", @@ -183,22 +183,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5e:6b:1d:f1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5e:6b:1d:f1", "endpoint_id": 1, "available": true, @@ -227,22 +211,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:5e:6b:1d:f1:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5e:6b:1d:f1", "endpoint_id": 1, "available": true, @@ -273,22 +241,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:5e:6b:1d:f1:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:5e:6b:1d:f1", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-dikb3dp6-ts0601.json b/tests/data/devices/tze284-dikb3dp6-ts0601.json index bf4c9b8a4..3b038e14f 100644 --- a/tests/data/devices/tze284-dikb3dp6-ts0601.json +++ b/tests/data/devices/tze284-dikb3dp6-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:60:5a:a6:dd", "nwk": "0x8D30", "manufacturer": "_TZE284_dikb3dp6", @@ -425,22 +425,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -474,22 +458,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -518,22 +486,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -553,7 +505,7 @@ "unique_id": "ab:cd:ef:12:60:5a:a6:dd-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -562,22 +514,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -586,7 +522,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 144.0 }, @@ -610,22 +546,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -658,22 +578,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -706,22 +610,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -754,22 +642,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -801,22 +673,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -848,22 +704,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -895,22 +735,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -943,22 +767,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -991,22 +799,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -1039,22 +831,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -1087,22 +863,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -1135,22 +895,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -1183,22 +927,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -1231,22 +959,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -1275,22 +987,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -1319,22 +1015,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -1363,22 +1043,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -1407,22 +1071,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -1451,22 +1099,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -1495,22 +1127,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -1539,22 +1155,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -1583,22 +1183,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, @@ -1629,22 +1213,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:60:5a:a6:dd:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:5a:a6:dd", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-lq0ffndf-ts0601.json b/tests/data/devices/tze284-lq0ffndf-ts0601.json index 067231f18..dac784bbf 100644 --- a/tests/data/devices/tze284-lq0ffndf-ts0601.json +++ b/tests/data/devices/tze284-lq0ffndf-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:ba:cf:ff:9f", "nwk": "0x47E4", "manufacturer": "_TZE284_lq0ffndf", @@ -183,22 +183,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ba:cf:ff:9f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ba:cf:ff:9f", "endpoint_id": 1, "available": true, @@ -227,22 +211,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:ba:cf:ff:9f:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ba:cf:ff:9f", "endpoint_id": 1, "available": true, @@ -273,22 +241,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:ba:cf:ff:9f:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:ba:cf:ff:9f", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-rvnbnvw8-ts0601.json b/tests/data/devices/tze284-rvnbnvw8-ts0601.json index 820dc674f..2fcd85e57 100644 --- a/tests/data/devices/tze284-rvnbnvw8-ts0601.json +++ b/tests/data/devices/tze284-rvnbnvw8-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d2:00:45:a7", "nwk": "0x36BA", "manufacturer": "_TZE284_rvnbnvw8", @@ -183,22 +183,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d2:00:45:a7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:00:45:a7", "endpoint_id": 1, "available": true, @@ -227,22 +211,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d2:00:45:a7:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:00:45:a7", "endpoint_id": 1, "available": true, @@ -273,22 +241,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:d2:00:45:a7:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d2:00:45:a7", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-xnbkhhdr-ts0601.json b/tests/data/devices/tze284-xnbkhhdr-ts0601.json index c7be75325..9a5b05630 100644 --- a/tests/data/devices/tze284-xnbkhhdr-ts0601.json +++ b/tests/data/devices/tze284-xnbkhhdr-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:60:04:48:19", "nwk": "0xF9D0", "manufacturer": "_TZE284_xnbkhhdr", @@ -275,22 +275,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:60:04:48:19:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:04:48:19", "endpoint_id": 1, "available": true, @@ -320,22 +304,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:60:04:48:19:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:60:04:48:19", "endpoint_id": 1, "available": true, @@ -399,22 +367,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:60:04:48:19:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:60:04:48:19", "endpoint_id": 1, "available": true, @@ -446,22 +398,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:60:04:48:19:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:04:48:19", "endpoint_id": 1, "available": true, @@ -493,22 +429,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:60:04:48:19:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:04:48:19", "endpoint_id": 1, "available": true, @@ -542,22 +462,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:60:04:48:19:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:04:48:19", "endpoint_id": 1, "available": true, @@ -591,22 +495,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:60:04:48:19:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:04:48:19", "endpoint_id": 1, "available": true, @@ -639,22 +527,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:60:04:48:19:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:04:48:19", "endpoint_id": 1, "available": true, @@ -687,22 +559,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:60:04:48:19:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:04:48:19", "endpoint_id": 1, "available": true, @@ -738,22 +594,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:60:04:48:19:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:04:48:19", "endpoint_id": 1, "available": true, @@ -782,22 +622,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:60:04:48:19:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:04:48:19", "endpoint_id": 1, "available": true, @@ -826,22 +650,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ThermostatClusterHandler", - "generic_id": "cluster_handler_0x0201", - "endpoint_id": 1, - "cluster": { - "id": 513, - "name": "TuyaThermostat", - "type": "server" - }, - "id": "1:0x0201", - "unique_id": "ab:cd:ef:12:60:04:48:19:1:0x0201", - "status": "INITIALIZED", - "value_attribute": "local_temperature" - } - ], "device_ieee": "ab:cd:ef:12:60:04:48:19", "endpoint_id": 1, "available": true, @@ -872,22 +680,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:60:04:48:19:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:04:48:19", "endpoint_id": 1, "available": true, @@ -920,22 +712,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:60:04:48:19:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:04:48:19", "endpoint_id": 1, "available": true, @@ -968,22 +744,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "TuyaClusterHandler", - "generic_id": "cluster_handler_0xef00", - "endpoint_id": 1, - "cluster": { - "id": 61184, - "name": "Tuya Manufacturer Specific", - "type": "server" - }, - "id": "1:0xef00", - "unique_id": "ab:cd:ef:12:60:04:48:19:1:0xef00", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:04:48:19", "endpoint_id": 1, "available": true, @@ -1018,22 +778,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:60:04:48:19:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:60:04:48:19", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze284-zp8xakad-ts0601.json b/tests/data/devices/tze284-zp8xakad-ts0601.json index fed937a41..c0ae5bc52 100644 --- a/tests/data/devices/tze284-zp8xakad-ts0601.json +++ b/tests/data/devices/tze284-zp8xakad-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:cd:a4:d9:89", "nwk": "0x7EF7", "manufacturer": "_TZE284_zp8xakad", @@ -160,22 +160,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cd:a4:d9:89:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cd:a4:d9:89", "endpoint_id": 1, "available": true, @@ -204,22 +188,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:cd:a4:d9:89:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cd:a4:d9:89", "endpoint_id": 1, "available": true, @@ -250,22 +218,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:cd:a4:d9:89:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:cd:a4:d9:89", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/tze28c1000000-alh14edn-ts0601.json b/tests/data/devices/tze28c1000000-alh14edn-ts0601.json index c62c97db2..49d2b914a 100644 --- a/tests/data/devices/tze28c1000000-alh14edn-ts0601.json +++ b/tests/data/devices/tze28c1000000-alh14edn-ts0601.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:a8:7c:51:4e", "nwk": "0x289C", "manufacturer": "_TZE28C1000000_alh14edn", @@ -197,22 +197,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:a8:7c:51:4e:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a8:7c:51:4e", "endpoint_id": 1, "available": true, @@ -245,22 +229,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a8:7c:51:4e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a8:7c:51:4e", "endpoint_id": 1, "available": true, @@ -289,22 +257,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:a8:7c:51:4e:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a8:7c:51:4e", "endpoint_id": 1, "available": true, @@ -333,22 +285,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "PowerConfigurationClusterHandler", - "generic_id": "cluster_handler_0x0001", - "endpoint_id": 1, - "cluster": { - "id": 1, - "name": "Power Configuration", - "type": "server" - }, - "id": "1:0x0001", - "unique_id": "ab:cd:ef:12:a8:7c:51:4e:1:0x0001", - "status": "INITIALIZED", - "value_attribute": "battery_voltage" - } - ], "device_ieee": "ab:cd:ef:12:a8:7c:51:4e", "endpoint_id": 1, "available": true, @@ -385,22 +321,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:a8:7c:51:4e:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:a8:7c:51:4e", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/ubisys-j1-5502.json b/tests/data/devices/ubisys-j1-5502.json index 31de8e7fa..d100eaa36 100644 --- a/tests/data/devices/ubisys-j1-5502.json +++ b/tests/data/devices/ubisys-j1-5502.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:d1:f5:5f:ec", "nwk": "0x31A9", "manufacturer": "ubisys", @@ -184,22 +184,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:d1:f5:5f:ec:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:f5:5f:ec", "endpoint_id": 1, "available": true, @@ -232,22 +216,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:d1:f5:5f:ec:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:d1:f5:5f:ec", "endpoint_id": 1, "available": true, @@ -282,22 +250,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d1:f5:5f:ec:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:f5:5f:ec", "endpoint_id": 1, "available": true, @@ -326,22 +278,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:d1:f5:5f:ec:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:d1:f5:5f:ec", "endpoint_id": 1, "available": true, @@ -370,22 +306,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:d1:f5:5f:ec:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:d1:f5:5f:ec", "endpoint_id": 1, "available": true, @@ -416,22 +336,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "WindowCoveringClusterHandler", - "generic_id": "cluster_handler_0x0102", - "endpoint_id": 1, - "cluster": { - "id": 258, - "name": "Window Covering", - "type": "server" - }, - "id": "1:0x0102", - "unique_id": "ab:cd:ef:12:d1:f5:5f:ec:1:0x0102", - "status": "INITIALIZED", - "value_attribute": "current_position_lift_percentage" - } - ], "device_ieee": "ab:cd:ef:12:d1:f5:5f:ec", "endpoint_id": 1, "available": true, diff --git a/tests/data/devices/zemismart-spm02-3z3.json b/tests/data/devices/zemismart-spm02-3z3.json index 2bdcf0aa6..b8f5160be 100644 --- a/tests/data/devices/zemismart-spm02-3z3.json +++ b/tests/data/devices/zemismart-spm02-3z3.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "ieee": "ab:cd:ef:12:55:ac:22:4c", "nwk": "0xDE2C", "manufacturer": "Zemismart", @@ -601,22 +601,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OnOffClientClusterHandler", - "generic_id": "cluster_handler_0x0006_client", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "client" - }, - "id": "1:0x0006_client", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0006_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -646,22 +630,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "IdentifyClusterHandler", - "generic_id": "cluster_handler_0x0003", - "endpoint_id": 1, - "cluster": { - "id": 3, - "name": "Identify", - "type": "server" - }, - "id": "1:0x0003", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0003", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -694,22 +662,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -738,22 +690,6 @@ "entity_registry_enabled_default": false, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "BasicClusterHandler", - "generic_id": "cluster_handler_0x0000", - "endpoint_id": 1, - "cluster": { - "id": 0, - "name": "Basic", - "type": "server" - }, - "id": "1:0x0000", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0000", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -782,22 +718,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -834,22 +754,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "MeteringClusterHandler", - "generic_id": "cluster_handler_0x0702", - "endpoint_id": 1, - "cluster": { - "id": 1794, - "name": "Metering", - "type": "server" - }, - "id": "1:0x0702", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0702", - "status": "INITIALIZED", - "value_attribute": "instantaneous_demand" - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -877,7 +781,7 @@ "unique_id": "ab:cd:ef:12:55:ac:22:4c-1-2820", "migrate_unique_ids": [], "platform": "sensor", - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "translation_key": null, "translation_placeholders": null, "device_class": "power", @@ -886,22 +790,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -910,7 +798,7 @@ "unit": "W" }, "state": { - "class_name": "PolledElectricalMeasurement", + "class_name": "ElectricalMeasurementActivePower", "available": true, "state": 3.0 }, @@ -934,22 +822,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -982,22 +854,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -1030,22 +886,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -1078,22 +918,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -1125,22 +949,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -1172,22 +980,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -1219,22 +1011,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -1266,22 +1042,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -1314,22 +1074,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -1362,22 +1106,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -1410,22 +1138,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -1458,22 +1170,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -1506,22 +1202,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -1554,22 +1234,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "ElectricalMeasurementClusterHandler", - "generic_id": "cluster_handler_0x0b04", - "endpoint_id": 1, - "cluster": { - "id": 2820, - "name": "Electrical Measurement", - "type": "server" - }, - "id": "1:0x0b04", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0b04", - "status": "INITIALIZED", - "value_attribute": "ac_voltage_multiplier" - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -1604,22 +1268,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": true, - "cluster_handlers": [ - { - "class_name": "OnOffClusterHandler", - "generic_id": "cluster_handler_0x0006", - "endpoint_id": 1, - "cluster": { - "id": 6, - "name": "On/Off", - "type": "server" - }, - "id": "1:0x0006", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0006", - "status": "INITIALIZED", - "value_attribute": "on_off" - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, @@ -1648,22 +1296,6 @@ "entity_registry_enabled_default": true, "enabled": true, "primary": false, - "cluster_handlers": [ - { - "class_name": "OtaClientClusterHandler", - "generic_id": "cluster_handler_0x0019_client", - "endpoint_id": 1, - "cluster": { - "id": 25, - "name": "Ota", - "type": "client" - }, - "id": "1:0x0019_client", - "unique_id": "ab:cd:ef:12:55:ac:22:4c:1:0x0019_CLIENT", - "status": "INITIALIZED", - "value_attribute": null - } - ], "device_ieee": "ab:cd:ef:12:55:ac:22:4c", "endpoint_id": 1, "available": true, From 84710da95055b517b2d74505775cd9e3586c8f4c Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Thu, 21 May 2026 14:43:51 -0400 Subject: [PATCH 64/85] Migrate extra siren features directly to the siren entities --- tests/test_siren.py | 63 +++++---- zha/application/const.py | 32 ----- zha/application/platforms/select.py | 39 ++++-- zha/application/platforms/siren.py | 195 ++++++++++++++-------------- zha/zigbee/device.py | 18 ++- 5 files changed, 174 insertions(+), 173 deletions(-) diff --git a/tests/test_siren.py b/tests/test_siren.py index f8161b2b6..19f8c2e82 100644 --- a/tests/test_siren.py +++ b/tests/test_siren.py @@ -76,10 +76,11 @@ async def test_siren(zha_gateway: Gateway) -> None: assert len(cluster.request.mock_calls) == 1 assert cluster.request.call_args[0][0] is False assert cluster.request.call_args[0][1] == 0 - assert cluster.request.call_args[0][3] == 50 # bitmask for default args - assert cluster.request.call_args[0][4] == 5 # duration in seconds - assert cluster.request.call_args[0][5] == 0 - assert cluster.request.call_args[0][6] == 2 + kw = cluster.request.call_args.kwargs + assert kw["warning"] == 50 # bitmask for default args + assert kw["warning_duration"] == 5 # duration in seconds + assert kw["strobe_duty_cycle"] == 0 + assert kw["stobe_level"] == 2 cluster.request.reset_mock() # test that the state has changed to on @@ -95,10 +96,11 @@ async def test_siren(zha_gateway: Gateway) -> None: assert len(cluster.request.mock_calls) == 1 assert cluster.request.call_args[0][0] is False assert cluster.request.call_args[0][1] == 0 - assert cluster.request.call_args[0][3] == 2 # bitmask for default args - assert cluster.request.call_args[0][4] == 5 # duration in seconds - assert cluster.request.call_args[0][5] == 0 - assert cluster.request.call_args[0][6] == 2 + kw = cluster.request.call_args.kwargs + assert kw["warning"] == 2 # bitmask for default args + assert kw["warning_duration"] == 5 # duration in seconds + assert kw["strobe_duty_cycle"] == 0 + assert kw["stobe_level"] == 2 cluster.request.reset_mock() # test that the state has changed to off @@ -114,10 +116,11 @@ async def test_siren(zha_gateway: Gateway) -> None: assert len(cluster.request.mock_calls) == 1 assert cluster.request.call_args[0][0] is False assert cluster.request.call_args[0][1] == 0 - assert cluster.request.call_args[0][3] == 51 # bitmask for specified args - assert cluster.request.call_args[0][4] == 100 # duration in seconds - assert cluster.request.call_args[0][5] == 0 - assert cluster.request.call_args[0][6] == 2 + kw = cluster.request.call_args.kwargs + assert kw["warning"] == 51 # bitmask for specified args + assert kw["warning_duration"] == 100 # duration in seconds + assert kw["strobe_duty_cycle"] == 0 + assert kw["stobe_level"] == 2 cluster.request.reset_mock() # test that the state has changed to on @@ -149,10 +152,11 @@ async def test_basic_siren(zha_gateway: Gateway) -> None: assert len(cluster.request.mock_calls) == 1 assert cluster.request.call_args[0][0] is False assert cluster.request.call_args[0][1] == 0 - assert cluster.request.call_args[0][3] == 18 # bitmask for default args - assert cluster.request.call_args[0][4] == 5 # duration in seconds - assert cluster.request.call_args[0][5] == 0 - assert cluster.request.call_args[0][6] == 2 + kw = cluster.request.call_args.kwargs + assert kw["warning"] == 18 # bitmask for default args + assert kw["warning_duration"] == 5 # duration in seconds + assert kw["strobe_duty_cycle"] == 0 + assert kw["stobe_level"] == 2 cluster.request.reset_mock() # test that the state has changed to on @@ -168,10 +172,11 @@ async def test_basic_siren(zha_gateway: Gateway) -> None: assert len(cluster.request.mock_calls) == 1 assert cluster.request.call_args[0][0] is False assert cluster.request.call_args[0][1] == 0 - assert cluster.request.call_args[0][3] == 2 # bitmask for default args - assert cluster.request.call_args[0][4] == 5 # duration in seconds - assert cluster.request.call_args[0][5] == 0 - assert cluster.request.call_args[0][6] == 2 + kw = cluster.request.call_args.kwargs + assert kw["warning"] == 2 # bitmask for default args + assert kw["warning_duration"] == 5 # duration in seconds + assert kw["strobe_duty_cycle"] == 0 + assert kw["stobe_level"] == 2 cluster.request.reset_mock() # test that the state has changed to off @@ -187,10 +192,11 @@ async def test_basic_siren(zha_gateway: Gateway) -> None: assert len(cluster.request.mock_calls) == 1 assert cluster.request.call_args[0][0] is False assert cluster.request.call_args[0][1] == 0 - assert cluster.request.call_args[0][3] == 18 # bitmask for specified args - assert cluster.request.call_args[0][4] == 100 # duration in seconds - assert cluster.request.call_args[0][5] == 0 - assert cluster.request.call_args[0][6] == 2 + kw = cluster.request.call_args.kwargs + assert kw["warning"] == 18 # bitmask for specified args + assert kw["warning_duration"] == 100 # duration in seconds + assert kw["strobe_duty_cycle"] == 0 + assert kw["stobe_level"] == 2 cluster.request.reset_mock() # test that the state has changed to on @@ -216,10 +222,11 @@ async def test_siren_timed_off(zha_gateway: Gateway) -> None: assert len(cluster.request.mock_calls) == 1 assert cluster.request.call_args[0][0] is False assert cluster.request.call_args[0][1] == 0 - assert cluster.request.call_args[0][3] == 50 # bitmask for default args - assert cluster.request.call_args[0][4] == 5 # duration in seconds - assert cluster.request.call_args[0][5] == 0 - assert cluster.request.call_args[0][6] == 2 + kw = cluster.request.call_args.kwargs + assert kw["warning"] == 50 # bitmask for default args + assert kw["warning_duration"] == 5 # duration in seconds + assert kw["strobe_duty_cycle"] == 0 + assert kw["stobe_level"] == 2 cluster.request.reset_mock() # test that the state has changed to on diff --git a/zha/application/const.py b/zha/application/const.py index 67af4c88b..5217e9931 100644 --- a/zha/application/const.py +++ b/zha/application/const.py @@ -7,7 +7,6 @@ import bellows.zigbee.application import zigpy.application -import zigpy.types as t import zigpy_deconz.zigbee.application import zigpy_xbee.zigbee.application import zigpy_zigate.zigbee.application @@ -158,30 +157,6 @@ def pretty_name(self) -> str: UNKNOWN_MANUFACTURER = "unk_manufacturer" UNKNOWN_MODEL = "unk_model" -WARNING_DEVICE_MODE_STOP = 0 -WARNING_DEVICE_MODE_BURGLAR = 1 -WARNING_DEVICE_MODE_FIRE = 2 -WARNING_DEVICE_MODE_EMERGENCY = 3 -WARNING_DEVICE_MODE_POLICE_PANIC = 4 -WARNING_DEVICE_MODE_FIRE_PANIC = 5 -WARNING_DEVICE_MODE_EMERGENCY_PANIC = 6 - -WARNING_DEVICE_STROBE_NO = 0 -WARNING_DEVICE_STROBE_YES = 1 - -WARNING_DEVICE_SOUND_LOW = 0 -WARNING_DEVICE_SOUND_MEDIUM = 1 -WARNING_DEVICE_SOUND_HIGH = 2 -WARNING_DEVICE_SOUND_VERY_HIGH = 3 - -WARNING_DEVICE_STROBE_LOW = 0x00 -WARNING_DEVICE_STROBE_MEDIUM = 0x01 -WARNING_DEVICE_STROBE_HIGH = 0x02 -WARNING_DEVICE_STROBE_VERY_HIGH = 0x03 - -WARNING_DEVICE_SQUAWK_MODE_ARMED = 0 -WARNING_DEVICE_SQUAWK_MODE_DISARMED = 1 - ZHA_CLUSTER_BIND_EVENT = "zha_cluster_bind" ZHA_CLUSTER_CONFIGURE_REPORTING_EVENT = "zha_cluster_configure_reporting" ZHA_DEVICE_CONFIGURED_EVENT = "zha_device_configured" @@ -207,13 +182,6 @@ def pretty_name(self) -> str: ZHA_GW_MSG_CONNECTION_LOST = "connection_lost" -class Strobe(t.enum8): - """Strobe enum.""" - - No_Strobe = 0x00 - Strobe = 0x01 - - class UniqueIdMigration(enum.Enum): """Migrateion root for unique ID.""" diff --git a/zha/application/platforms/select.py b/zha/application/platforms/select.py index fc14eed48..2cce8959e 100644 --- a/zha/application/platforms/select.py +++ b/zha/application/platforms/select.py @@ -31,10 +31,15 @@ from zigpy.zcl.clusters.general import LevelControl, OnOff from zigpy.zcl.clusters.hvac import Thermostat, UserInterface from zigpy.zcl.clusters.measurement import OccupancySensing -from zigpy.zcl.clusters.security import IasWd +from zigpy.zcl.clusters.security import ( + IasWd, + SirenLevel, + Strobe, + StrobeLevel, + WarningMode, +) from zha.application import Platform -from zha.application.const import Strobe from zha.application.helpers import write_attributes_safe from zha.application.platforms import ( AttrConfig, @@ -103,6 +108,9 @@ class SirenDefaultSelectEntity(BaseSelectEntity, PlatformEntity): _attr_entity_category = EntityCategory.CONFIG _enum: type[Enum] + # Subclasses can override to pin specific option strings (e.g. to preserve + # legacy display names that differ from zigpy's enum member names). + _option_overrides: dict[str, Enum] | None = None def __init__( self, @@ -111,7 +119,14 @@ def __init__( **kwargs: Any, ) -> None: """Init this select entity.""" - self._attr_options = [entry.name.replace("_", " ") for entry in self._enum] + if self._option_overrides is not None: + self._option_to_member: dict[str, Enum] = self._option_overrides + else: + self._option_to_member = { + entry.name.replace("_", " "): entry for entry in self._enum + } + self._member_to_option = {m: o for o, m in self._option_to_member.items()} + self._attr_options = list(self._option_to_member) super().__init__(endpoint=endpoint, device=device, **kwargs) @functools.cached_property @@ -144,11 +159,11 @@ def current_option(self) -> str | None: value = self._siren().defaults[self._enum] if value is None: return None - return value.name.replace("_", " ") + return self._member_to_option[value] async def async_select_option(self, option: str) -> None: """Change the selected option.""" - self._siren().defaults[self._enum] = self._enum[option.replace(" ", "_")] + self._siren().defaults[self._enum] = self._option_to_member[option] self.maybe_emit_state_changed_event() def restore_external_state_attributes( @@ -157,7 +172,7 @@ def restore_external_state_attributes( state: str, ) -> None: """Restore extra state attributes that are stored outside of the ZCL cache.""" - self._siren().defaults[self._enum] = self._enum[state.replace(" ", "_")] + self._siren().defaults[self._enum] = self._option_to_member[state] @register_entity(IasWd.cluster_id) @@ -165,7 +180,7 @@ class DefaultToneSelectEntity(SirenDefaultSelectEntity): """Representation of a ZHA default siren tone select entity.""" _unique_id_suffix = "WarningMode" - _enum = IasWd.Warning.WarningMode + _enum = WarningMode _attr_translation_key: str = "default_siren_tone" _cluster_match = ClusterMatch( @@ -179,7 +194,7 @@ class DefaultSirenLevelSelectEntity(SirenDefaultSelectEntity): """Representation of a ZHA default siren level select entity.""" _unique_id_suffix = "SirenLevel" - _enum = IasWd.Warning.SirenLevel + _enum = SirenLevel _attr_translation_key: str = "default_siren_level" _cluster_match = ClusterMatch( @@ -193,7 +208,7 @@ class DefaultStrobeLevelSelectEntity(SirenDefaultSelectEntity): """Representation of a ZHA default siren strobe level select entity.""" _unique_id_suffix = "StrobeLevel" - _enum = IasWd.StrobeLevel + _enum = StrobeLevel _attr_translation_key: str = "default_strobe_level" _cluster_match = ClusterMatch( @@ -210,6 +225,12 @@ class DefaultStrobeSelectEntity(SirenDefaultSelectEntity): _enum = Strobe _attr_translation_key: str = "default_strobe" + # Backwards-compat: this entity previously used a zha-local `Strobe` enum + # with members `No_Strobe`/`Strobe` displayed as "No Strobe"/"Strobe". + # zigpy's enum uses `No_strobe`, which would otherwise change the display + # to "No strobe". Pin the option strings here. + _option_overrides = {"No Strobe": Strobe.No_strobe, "Strobe": Strobe.Strobe} + _cluster_match = ClusterMatch( server_clusters=frozenset({IasWd.cluster_id}), not_exposed_features=frozenset({SIREN_BASIC}), diff --git a/zha/application/platforms/siren.py b/zha/application/platforms/siren.py index 571a5f47a..6075de551 100644 --- a/zha/application/platforms/siren.py +++ b/zha/application/platforms/siren.py @@ -12,22 +12,18 @@ from zhaquirks.quirk_ids import SIREN_BASIC from zigpy.profiles import zha -from zigpy.zcl.clusters.security import IasWd - -from zha.application import Platform -from zha.application.const import ( - WARNING_DEVICE_MODE_BURGLAR, - WARNING_DEVICE_MODE_EMERGENCY, - WARNING_DEVICE_MODE_EMERGENCY_PANIC, - WARNING_DEVICE_MODE_FIRE, - WARNING_DEVICE_MODE_FIRE_PANIC, - WARNING_DEVICE_MODE_POLICE_PANIC, - WARNING_DEVICE_MODE_STOP, - WARNING_DEVICE_SOUND_HIGH, - WARNING_DEVICE_STROBE_HIGH, - WARNING_DEVICE_STROBE_NO, +from zigpy.zcl.clusters.security import ( + IasWd, + SirenLevel, + Squawk, + SquawkMode, Strobe, + StrobeLevel, + WarningMode, + WarningType, ) + +from zha.application import Platform from zha.application.platforms import ( BaseEntityInfo, ClusterConfig, @@ -42,52 +38,6 @@ from zha.zigbee.endpoint import Endpoint -def _set_bit(destination_value, destination_bit, source_value, source_bit): - """Set the specified bit in the value.""" - if (source_value & (1 << source_bit)) != 0: - return destination_value | (1 << destination_bit) - return destination_value - - -async def issue_start_warning( - cluster, - *, - mode, - strobe, - siren_level, - warning_duration, - strobe_duty_cycle, - strobe_intensity, -) -> None: - """Issue an IAS WD start_warning command with packed warning byte.""" - value = 0 - value = _set_bit(value, 0, siren_level, 0) - value = _set_bit(value, 1, siren_level, 1) - value = _set_bit(value, 2, strobe, 0) - value = _set_bit(value, 4, mode, 0) - value = _set_bit(value, 5, mode, 1) - value = _set_bit(value, 6, mode, 2) - value = _set_bit(value, 7, mode, 3) - - await cluster.start_warning( - value, warning_duration, strobe_duty_cycle, strobe_intensity - ) - - -async def issue_squawk(cluster, *, mode, strobe, squawk_level) -> None: - """Issue an IAS WD squawk command with packed squawk byte.""" - value = 0 - value = _set_bit(value, 0, squawk_level, 0) - value = _set_bit(value, 1, squawk_level, 1) - value = _set_bit(value, 3, strobe, 0) - value = _set_bit(value, 4, mode, 0) - value = _set_bit(value, 5, mode, 1) - value = _set_bit(value, 6, mode, 2) - value = _set_bit(value, 7, mode, 3) - - await cluster.squawk(value) - - DEFAULT_DURATION = 5 # seconds ATTR_AVAILABLE_TONES: Final[str] = "available_tones" @@ -160,6 +110,10 @@ async def async_turn_on( duration: int | None = None, tone: int | None = None, volume_level: int | None = None, + # These kwargs are ZHA extensions to the base HA entity signature + strobe: int | None = None, + strobe_duty_cycle: int | None = None, + strobe_intensity: int | None = None, ) -> None: """Turn on siren.""" @@ -167,6 +121,17 @@ async def async_turn_on( async def async_turn_off(self) -> None: """Turn off siren.""" + # This method is a ZHA extension to the base HA siren entity + @abstractmethod + async def async_squawk( + self, + *, + mode: SquawkMode, + strobe: int, + squawk_level: int, + ) -> None: + """Issue a brief squawk pulse.""" + class BaseZclSiren(BaseSiren, ABC): """Base class for ZHA IAS WD siren entities with shared ZCL logic.""" @@ -217,19 +182,34 @@ def _cancel_off_listener(self) -> None: async def async_turn_off(self) -> None: """Turn off siren.""" - await issue_start_warning( - self._cluster, - mode=WARNING_DEVICE_MODE_STOP, - strobe=WARNING_DEVICE_STROBE_NO, - siren_level=IasWd.Warning.SirenLevel.High_level_sound, + warning = WarningType() + warning.mode = WarningMode.Stop + warning.strobe = Strobe.No_strobe + warning.level = SirenLevel.High_level_sound + await self._cluster.start_warning( + warning=warning, warning_duration=5, strobe_duty_cycle=0, - strobe_intensity=IasWd.StrobeLevel.High_level_strobe, + stobe_level=StrobeLevel.High_level_strobe, ) self._cancel_off_listener() self._attr_is_on = False self.maybe_emit_state_changed_event() + async def async_squawk( + self, + *, + mode: SquawkMode, + strobe: int, + squawk_level: int, + ) -> None: + """Issue an IAS WD squawk command.""" + squawk = Squawk() + squawk.mode = mode + squawk.strobe = strobe + squawk.level = squawk_level + await self._cluster.squawk(squawk=squawk) + def _async_set_off(self) -> None: """Set is_on to False and write HA state.""" self._attr_is_on = False @@ -267,18 +247,18 @@ def __init__( | SirenEntityFeature.TONES ) self._attr_available_tones: dict[int, str] = { - WARNING_DEVICE_MODE_BURGLAR: "Burglar", - WARNING_DEVICE_MODE_FIRE: "Fire", - WARNING_DEVICE_MODE_EMERGENCY: "Emergency", - WARNING_DEVICE_MODE_POLICE_PANIC: "Police Panic", - WARNING_DEVICE_MODE_FIRE_PANIC: "Fire Panic", - WARNING_DEVICE_MODE_EMERGENCY_PANIC: "Emergency Panic", + WarningMode.Burglar: "Burglar", + WarningMode.Fire: "Fire", + WarningMode.Emergency: "Emergency", + WarningMode.Police_Panic: "Police Panic", + WarningMode.Fire_Panic: "Fire Panic", + WarningMode.Emergency_Panic: "Emergency Panic", } self.defaults = { - IasWd.Warning.WarningMode: None, - IasWd.Warning.SirenLevel: None, + WarningMode: None, + SirenLevel: None, Strobe: None, - IasWd.StrobeLevel: None, + StrobeLevel: None, } async def async_turn_on( @@ -286,30 +266,32 @@ async def async_turn_on( duration: int | None = None, tone: int | None = None, volume_level: int | None = None, + # These kwargs are ZHA extensions to the base HA entity signature + strobe: int | None = None, + strobe_duty_cycle: int | None = None, + strobe_intensity: int | None = None, ) -> None: """Turn on siren.""" self._cancel_off_listener() - tone_default = self.defaults[IasWd.Warning.WarningMode] + tone_default = self.defaults[WarningMode] siren_tone = ( - tone_default.value - if tone_default is not None - else WARNING_DEVICE_MODE_EMERGENCY + tone_default.value if tone_default is not None else WarningMode.Emergency ) - level_default = self.defaults[IasWd.Warning.SirenLevel] + level_default = self.defaults[SirenLevel] siren_level = ( level_default.value if level_default is not None - else WARNING_DEVICE_SOUND_HIGH + else SirenLevel.High_level_sound ) strobe_default = self.defaults[Strobe] should_strobe = ( - strobe_default.value if strobe_default is not None else Strobe.No_Strobe + strobe_default.value if strobe_default is not None else Strobe.No_strobe ) - strobe_level_default = self.defaults[IasWd.StrobeLevel] + strobe_level_default = self.defaults[StrobeLevel] strobe_level = ( strobe_level_default.value if strobe_level_default is not None - else WARNING_DEVICE_STROBE_HIGH + else StrobeLevel.High_level_strobe ) siren_duration = DEFAULT_DURATION if duration is not None: @@ -318,14 +300,25 @@ async def async_turn_on( siren_tone = tone if volume_level is not None: siren_level = int(volume_level) - await issue_start_warning( - self._cluster, - mode=siren_tone, + if strobe is not None: + should_strobe = strobe + if strobe_intensity is not None: + strobe_level = strobe_intensity + duty_cycle = ( + strobe_duty_cycle + if strobe_duty_cycle is not None + else (50 if should_strobe else 0) + ) + + warning = WarningType() + warning.mode = siren_tone + warning.strobe = should_strobe + warning.level = siren_level + await self._cluster.start_warning( + warning=warning, warning_duration=siren_duration, - siren_level=siren_level, - strobe=should_strobe, - strobe_duty_cycle=50 if should_strobe else 0, - strobe_intensity=strobe_level, + strobe_duty_cycle=duty_cycle, + stobe_level=strobe_level, ) self._attr_is_on = True self._off_listener = asyncio.get_running_loop().call_later( @@ -368,19 +361,25 @@ async def async_turn_on( duration: int | None = None, tone: int | None = None, volume_level: int | None = None, + # These kwargs are ZHA extensions to the base HA entity signature + strobe: int | None = None, + strobe_duty_cycle: int | None = None, + strobe_intensity: int | None = None, ) -> None: """Turn on siren with fixed tone, level, and strobe.""" self._cancel_off_listener() siren_duration = duration if duration is not None else DEFAULT_DURATION - await issue_start_warning( - self._cluster, - # some Frient sensors send INVALID_VALUE for EMERGENCY - mode=WARNING_DEVICE_MODE_BURGLAR, + + warning = WarningType() + # some Frient sensors send INVALID_VALUE for EMERGENCY + warning.mode = WarningMode.Burglar + warning.strobe = Strobe.No_strobe + warning.level = SirenLevel.High_level_sound + await self._cluster.start_warning( + warning=warning, warning_duration=siren_duration, - siren_level=WARNING_DEVICE_SOUND_HIGH, - strobe=WARNING_DEVICE_STROBE_NO, strobe_duty_cycle=0, - strobe_intensity=WARNING_DEVICE_STROBE_HIGH, + stobe_level=StrobeLevel.High_level_strobe, ) self._attr_is_on = True self._off_listener = asyncio.get_running_loop().call_later( diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index 3be190f3d..dd4fac966 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -747,10 +747,16 @@ def get_platform_entity(self, platform: Platform, unique_id: str) -> PlatformEnt def get_entity( self, platform: Platform, - endpoint_id: int | None, + endpoint_id: int | None = None, cluster_id: int | None = None, + *, + pick_first: bool = False, ) -> PlatformEntity: - """Look up the unique entity matching platform/endpoint/cluster filters.""" + """Look up the unique entity matching platform/endpoint/cluster filters. + + With pick_first=True, returns the first match instead of raising on multiple + matches. Always raises if there are zero matches. + """ matches = [] for entity in self._platform_entities.values(): if platform != entity.PLATFORM: @@ -760,11 +766,11 @@ def get_entity( if cluster_id is not None and entity.cluster.cluster_id != cluster_id: continue matches.append(entity) - if len(matches) != 1: + if not matches or (not pick_first and len(matches) != 1): raise LookupError( - f"Expected 1 entity matching platform={platform!r}, " - f"endpoint_id={endpoint_id}, cluster_id={cluster_id}; " - f"found {len(matches)}" + f"Expected {'>=1' if pick_first else '1'} entity matching " + f"platform={platform!r}, endpoint_id={endpoint_id}, " + f"cluster_id={cluster_id}; found {len(matches)}" ) return matches[0] From 9e0bb5675ba9dfd279ab6c044d1bcfb9a66a2ff6 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Thu, 21 May 2026 16:09:53 -0400 Subject: [PATCH 65/85] Clean up window covering entity config --- tests/test_cover.py | 6 ++-- tests/test_switch.py | 4 +-- zha/application/platforms/cover/__init__.py | 18 ------------ zha/application/platforms/sensor/__init__.py | 30 -------------------- zha/application/platforms/switch.py | 29 +------------------ 5 files changed, 6 insertions(+), 81 deletions(-) diff --git a/tests/test_cover.py b/tests/test_cover.py index 6d4ccad7d..4f0359229 100644 --- a/tests/test_cover.py +++ b/tests/test_cover.py @@ -136,7 +136,7 @@ async def test_cover_non_tilt_initial_state( # pylint: disable=unused-argument ) cluster = zigpy_cover_device.endpoints[1].window_covering - assert cluster.read_attributes.call_count == 3 + assert cluster.read_attributes.call_count == 2 assert ( WCAttrs.current_position_lift_percentage.name in cluster.read_attributes.call_args[0][0] @@ -179,7 +179,7 @@ async def test_cover_non_lift_initial_state( # pylint: disable=unused-argument ) cluster = zigpy_cover_device.endpoints[1].window_covering - assert cluster.read_attributes.call_count == 3 + assert cluster.read_attributes.call_count == 2 assert ( WCAttrs.current_position_lift_percentage.name in cluster.read_attributes.call_args[0][0] @@ -222,7 +222,7 @@ async def test_cover( ) cluster = zigpy_cover_device.endpoints[1].window_covering - assert cluster.read_attributes.call_count == 3 + assert cluster.read_attributes.call_count == 2 assert ( WCAttrs.current_position_lift_percentage.name in cluster.read_attributes.call_args[0][0] diff --git a/tests/test_switch.py b/tests/test_switch.py index 198886f91..67e71f9ba 100644 --- a/tests/test_switch.py +++ b/tests/test_switch.py @@ -746,7 +746,7 @@ async def test_cover_inversion_switch(zha_gateway: Gateway) -> None: zha_device = await join_zigpy_device(zha_gateway, zigpy_cover_device) entity = get_entity(zha_device, platform=Platform.SWITCH) assert not entity.is_on - assert cluster.read_attributes.call_count == 3 + assert cluster.read_attributes.call_count == 2 assert ( WCAttrs.current_position_lift_percentage.name in cluster.read_attributes.call_args[0][0] @@ -830,7 +830,7 @@ async def test_cover_inversion_switch_not_created(zha_gateway: Gateway) -> None: update_attribute_cache(cluster) zha_device = await join_zigpy_device(zha_gateway, zigpy_cover_device) - assert cluster.read_attributes.call_count == 3 + assert cluster.read_attributes.call_count == 2 assert ( WCAttrs.current_position_lift_percentage.name in cluster.read_attributes.call_args[0][0] diff --git a/zha/application/platforms/cover/__init__.py b/zha/application/platforms/cover/__init__.py index d6dd13e98..833855447 100644 --- a/zha/application/platforms/cover/__init__.py +++ b/zha/application/platforms/cover/__init__.py @@ -149,24 +149,6 @@ class Cover(BaseCover): WindowCovering.AttributeDefs.window_covering_type: AttrConfig( read_on_startup=False, ), - WindowCovering.AttributeDefs.window_covering_mode: AttrConfig( - read_on_startup=False, - ), - WindowCovering.AttributeDefs.config_status: AttrConfig( - read_on_startup=False, - ), - WindowCovering.AttributeDefs.installed_closed_limit_lift: AttrConfig( - read_on_startup=False, - ), - WindowCovering.AttributeDefs.installed_closed_limit_tilt: AttrConfig( - read_on_startup=False, - ), - WindowCovering.AttributeDefs.installed_open_limit_lift: AttrConfig( - read_on_startup=False, - ), - WindowCovering.AttributeDefs.installed_open_limit_tilt: AttrConfig( - read_on_startup=False, - ), }, ), } diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 34b98fc4b..f94208d93 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -3558,39 +3558,9 @@ class WindowCoveringTypeSensor(EnumSensor): WindowCovering.cluster_id: ClusterConfig( bind=True, attributes={ - WindowCovering.AttributeDefs.current_position_lift_percentage: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), - WindowCovering.AttributeDefs.current_position_tilt_percentage: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), WindowCovering.AttributeDefs.window_covering_type: AttrConfig( read_on_startup=False, ), - WindowCovering.AttributeDefs.window_covering_mode: AttrConfig( - read_on_startup=False, - ), - WindowCovering.AttributeDefs.config_status: AttrConfig( - read_on_startup=False, - ), - WindowCovering.AttributeDefs.installed_closed_limit_lift: AttrConfig( - read_on_startup=False, - ), - WindowCovering.AttributeDefs.installed_closed_limit_tilt: AttrConfig( - read_on_startup=False, - ), - WindowCovering.AttributeDefs.installed_open_limit_lift: AttrConfig( - read_on_startup=False, - ), - WindowCovering.AttributeDefs.installed_open_limit_tilt: AttrConfig( - read_on_startup=False, - ), }, ), } diff --git a/zha/application/platforms/switch.py b/zha/application/platforms/switch.py index 87808d4ec..05c2189dd 100644 --- a/zha/application/platforms/switch.py +++ b/zha/application/platforms/switch.py @@ -1031,37 +1031,10 @@ class WindowCoveringInversionSwitch(ConfigurableAttributeSwitch): WindowCovering.cluster_id: ClusterConfig( bind=True, attributes={ - WindowCovering.AttributeDefs.current_position_lift_percentage: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), - WindowCovering.AttributeDefs.current_position_tilt_percentage: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), - WindowCovering.AttributeDefs.window_covering_type: AttrConfig( - read_on_startup=False, - ), - WindowCovering.AttributeDefs.window_covering_mode: AttrConfig( - read_on_startup=False, - ), WindowCovering.AttributeDefs.config_status: AttrConfig( read_on_startup=False, ), - WindowCovering.AttributeDefs.installed_closed_limit_lift: AttrConfig( - read_on_startup=False, - ), - WindowCovering.AttributeDefs.installed_closed_limit_tilt: AttrConfig( - read_on_startup=False, - ), - WindowCovering.AttributeDefs.installed_open_limit_lift: AttrConfig( - read_on_startup=False, - ), - WindowCovering.AttributeDefs.installed_open_limit_tilt: AttrConfig( + WindowCovering.AttributeDefs.window_covering_mode: AttrConfig( read_on_startup=False, ), }, From de9f7ca111f77a51c40a4f25bde128f6d823f8bd Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Thu, 21 May 2026 16:15:22 -0400 Subject: [PATCH 66/85] Split up Danfoss thermostat entity config --- .../platforms/binary_sensor/__init__.py | 42 ++++ zha/application/platforms/sensor/__init__.py | 56 +++++ zha/application/platforms/switch.py | 225 +++++------------- 3 files changed, 154 insertions(+), 169 deletions(-) diff --git a/zha/application/platforms/binary_sensor/__init__.py b/zha/application/platforms/binary_sensor/__init__.py index 9b7069c5e..4398b6b31 100644 --- a/zha/application/platforms/binary_sensor/__init__.py +++ b/zha/application/platforms/binary_sensor/__init__.py @@ -668,6 +668,20 @@ class DanfossMountingModeActive(BinarySensor): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) + _server_cluster_config = { + Thermostat.cluster_id: ClusterConfig( + bind=True, + attributes={ + "mounting_mode_active": AttrConfig( + read_on_startup=False, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), + ), + }, + ), + } + @register_entity(Thermostat.cluster_id) class DanfossHeatRequired(BinarySensor): @@ -683,6 +697,20 @@ class DanfossHeatRequired(BinarySensor): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) + _server_cluster_config = { + Thermostat.cluster_id: ClusterConfig( + bind=True, + attributes={ + "heat_required": AttrConfig( + read_on_startup=False, + reporting=ReportingConfig( + min_interval=1, max_interval=900, reportable_change=1 + ), + ), + }, + ), + } + @register_entity(Thermostat.cluster_id) class DanfossPreheatStatus(BinarySensor): @@ -699,3 +727,17 @@ class DanfossPreheatStatus(BinarySensor): server_clusters=frozenset({Thermostat.cluster_id}), exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) + + _server_cluster_config = { + Thermostat.cluster_id: ClusterConfig( + bind=True, + attributes={ + "preheat_status": AttrConfig( + read_on_startup=False, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), + ), + }, + ), + } diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index f94208d93..466dcf5f4 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -3687,6 +3687,20 @@ class DanfossOpenWindowDetection(EnumSensor): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) + _server_cluster_config = { + Thermostat.cluster_id: ClusterConfig( + bind=True, + attributes={ + "open_window_detection": AttrConfig( + read_on_startup=False, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), + ), + }, + ), + } + @register_entity(Thermostat.cluster_id) class DanfossLoadEstimate(Sensor): @@ -3703,6 +3717,20 @@ class DanfossLoadEstimate(Sensor): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) + _server_cluster_config = { + Thermostat.cluster_id: ClusterConfig( + bind=True, + attributes={ + "load_estimate": AttrConfig( + read_on_startup=False, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), + ), + }, + ), + } + @register_entity(Thermostat.cluster_id) class DanfossAdaptationRunStatus(BitMapSensor): @@ -3720,6 +3748,20 @@ class DanfossAdaptationRunStatus(BitMapSensor): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) + _server_cluster_config = { + Thermostat.cluster_id: ClusterConfig( + bind=True, + attributes={ + "adaptation_run_status": AttrConfig( + read_on_startup=False, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), + ), + }, + ), + } + @register_entity(Thermostat.cluster_id) class DanfossPreheatTime(Sensor): @@ -3737,6 +3779,20 @@ class DanfossPreheatTime(Sensor): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) + _server_cluster_config = { + Thermostat.cluster_id: ClusterConfig( + bind=True, + attributes={ + "preheat_time": AttrConfig( + read_on_startup=False, + reporting=ReportingConfig( + min_interval=30, max_interval=900, reportable_change=1 + ), + ), + }, + ), + } + @register_entity(Diagnostic.cluster_id) class DanfossSoftwareErrorCode(BitMapSensor): diff --git a/zha/application/platforms/switch.py b/zha/application/platforms/switch.py index 05c2189dd..adda0f0c3 100644 --- a/zha/application/platforms/switch.py +++ b/zha/application/platforms/switch.py @@ -891,15 +891,6 @@ class TuyaChildLockSwitch(ConfigurableAttributeSwitch): OnOff.cluster_id: ClusterConfig( bind=True, attributes={ - OnOff.AttributeDefs.on_off: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=0, max_interval=900, reportable_change=1 - ), - ), - OnOff.AttributeDefs.start_up_on_off: AttrConfig( - read_on_startup=False, - ), "child_lock": AttrConfig(read_on_startup=False), }, ), @@ -1120,159 +1111,6 @@ class AqaraE1CurtainMotorHooksLockedSwitch(ConfigurableAttributeSwitch): ) -_DANFOSS_THERMOSTAT_CLUSTER_CONFIG = { - Thermostat.cluster_id: ClusterConfig( - bind=True, - attributes={ - Thermostat.AttributeDefs.local_temperature: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=30, max_interval=900, reportable_change=25 - ), - ), - Thermostat.AttributeDefs.occupied_cooling_setpoint: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=30, max_interval=900, reportable_change=25 - ), - ), - Thermostat.AttributeDefs.occupied_heating_setpoint: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=30, max_interval=900, reportable_change=25 - ), - ), - Thermostat.AttributeDefs.unoccupied_cooling_setpoint: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=30, max_interval=900, reportable_change=25 - ), - ), - Thermostat.AttributeDefs.unoccupied_heating_setpoint: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=30, max_interval=900, reportable_change=25 - ), - ), - Thermostat.AttributeDefs.running_mode: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=30, max_interval=900, reportable_change=1 - ), - ), - Thermostat.AttributeDefs.running_state: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=30, max_interval=900, reportable_change=1 - ), - ), - Thermostat.AttributeDefs.system_mode: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=30, max_interval=900, reportable_change=1 - ), - ), - Thermostat.AttributeDefs.occupancy: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=30, max_interval=900, reportable_change=1 - ), - ), - Thermostat.AttributeDefs.pi_cooling_demand: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=30, max_interval=900, reportable_change=5 - ), - ), - Thermostat.AttributeDefs.pi_heating_demand: AttrConfig( - read_on_startup=True, - reporting=ReportingConfig( - min_interval=30, max_interval=900, reportable_change=5 - ), - ), - Thermostat.AttributeDefs.abs_min_heat_setpoint_limit: AttrConfig( - read_on_startup=False, - ), - Thermostat.AttributeDefs.abs_max_heat_setpoint_limit: AttrConfig( - read_on_startup=False, - ), - Thermostat.AttributeDefs.abs_min_cool_setpoint_limit: AttrConfig( - read_on_startup=False, - ), - Thermostat.AttributeDefs.abs_max_cool_setpoint_limit: AttrConfig( - read_on_startup=False, - ), - Thermostat.AttributeDefs.ctrl_sequence_of_oper: AttrConfig( - read_on_startup=True, - ), - Thermostat.AttributeDefs.max_cool_setpoint_limit: AttrConfig( - read_on_startup=False, - ), - Thermostat.AttributeDefs.max_heat_setpoint_limit: AttrConfig( - read_on_startup=False, - ), - Thermostat.AttributeDefs.min_cool_setpoint_limit: AttrConfig( - read_on_startup=False, - ), - Thermostat.AttributeDefs.min_heat_setpoint_limit: AttrConfig( - read_on_startup=False, - ), - Thermostat.AttributeDefs.local_temperature_calibration: AttrConfig( - read_on_startup=False, - ), - Thermostat.AttributeDefs.setpoint_change_source: AttrConfig( - read_on_startup=False, - ), - Thermostat.AttributeDefs.setpoint_change_source_timestamp: AttrConfig( - read_on_startup=False, - ), - "open_window_detection": AttrConfig( - read_on_startup=False, - reporting=ReportingConfig( - min_interval=30, max_interval=900, reportable_change=1 - ), - ), - "heat_required": AttrConfig( - read_on_startup=False, - reporting=ReportingConfig( - min_interval=1, max_interval=900, reportable_change=1 - ), - ), - "mounting_mode_active": AttrConfig( - read_on_startup=False, - reporting=ReportingConfig( - min_interval=30, max_interval=900, reportable_change=1 - ), - ), - "load_estimate": AttrConfig( - read_on_startup=False, - reporting=ReportingConfig( - min_interval=30, max_interval=900, reportable_change=1 - ), - ), - "adaptation_run_status": AttrConfig( - read_on_startup=False, - reporting=ReportingConfig( - min_interval=30, max_interval=900, reportable_change=1 - ), - ), - "preheat_status": AttrConfig( - read_on_startup=False, - reporting=ReportingConfig( - min_interval=30, max_interval=900, reportable_change=1 - ), - ), - "preheat_time": AttrConfig( - read_on_startup=False, - reporting=ReportingConfig( - min_interval=30, max_interval=900, reportable_change=1 - ), - ), - }, - ), -} - - @register_entity(Thermostat.cluster_id) class DanfossExternalOpenWindowDetected(ConfigurableAttributeSwitch): """Danfoss proprietary attribute for communicating an open window.""" @@ -1288,7 +1126,14 @@ class DanfossExternalOpenWindowDetected(ConfigurableAttributeSwitch): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) - _server_cluster_config = _DANFOSS_THERMOSTAT_CLUSTER_CONFIG + _server_cluster_config = { + Thermostat.cluster_id: ClusterConfig( + bind=True, + attributes={ + "external_open_window_detected": AttrConfig(read_on_startup=False), + }, + ), + } @register_entity(Thermostat.cluster_id) @@ -1306,7 +1151,14 @@ class DanfossWindowOpenFeature(ConfigurableAttributeSwitch): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) - _server_cluster_config = _DANFOSS_THERMOSTAT_CLUSTER_CONFIG + _server_cluster_config = { + Thermostat.cluster_id: ClusterConfig( + bind=True, + attributes={ + "window_open_feature": AttrConfig(read_on_startup=False), + }, + ), + } @register_entity(Thermostat.cluster_id) @@ -1324,7 +1176,14 @@ class DanfossMountingModeControl(ConfigurableAttributeSwitch): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) - _server_cluster_config = _DANFOSS_THERMOSTAT_CLUSTER_CONFIG + _server_cluster_config = { + Thermostat.cluster_id: ClusterConfig( + bind=True, + attributes={ + "mounting_mode_control": AttrConfig(read_on_startup=False), + }, + ), + } @register_entity(Thermostat.cluster_id) @@ -1342,7 +1201,14 @@ class DanfossRadiatorCovered(ConfigurableAttributeSwitch): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) - _server_cluster_config = _DANFOSS_THERMOSTAT_CLUSTER_CONFIG + _server_cluster_config = { + Thermostat.cluster_id: ClusterConfig( + bind=True, + attributes={ + "radiator_covered": AttrConfig(read_on_startup=False), + }, + ), + } @register_entity(Thermostat.cluster_id) @@ -1360,7 +1226,14 @@ class DanfossHeatAvailable(ConfigurableAttributeSwitch): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) - _server_cluster_config = _DANFOSS_THERMOSTAT_CLUSTER_CONFIG + _server_cluster_config = { + Thermostat.cluster_id: ClusterConfig( + bind=True, + attributes={ + "heat_available": AttrConfig(read_on_startup=False), + }, + ), + } @register_entity(Thermostat.cluster_id) @@ -1378,7 +1251,14 @@ class DanfossLoadBalancingEnable(ConfigurableAttributeSwitch): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) - _server_cluster_config = _DANFOSS_THERMOSTAT_CLUSTER_CONFIG + _server_cluster_config = { + Thermostat.cluster_id: ClusterConfig( + bind=True, + attributes={ + "load_balancing_enable": AttrConfig(read_on_startup=False), + }, + ), + } @register_entity(Thermostat.cluster_id) @@ -1399,7 +1279,14 @@ class DanfossAdaptationRunSettings(ConfigurableAttributeSwitch): exposed_features=frozenset({DANFOSS_ALLY_THERMOSTAT}), ) - _server_cluster_config = _DANFOSS_THERMOSTAT_CLUSTER_CONFIG + _server_cluster_config = { + Thermostat.cluster_id: ClusterConfig( + bind=True, + attributes={ + "adaptation_run_settings": AttrConfig(read_on_startup=False), + }, + ), + } @register_entity(SINOPE_MANUFACTURER_CLUSTER) From 5a514a5d51e80039ad5e4a9de8dc95c497f2e2c2 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Mon, 25 May 2026 17:34:17 -0400 Subject: [PATCH 67/85] Fix broken arg/param generation for remotes --- tests/test_device.py | 44 +++++++++++++++++++ zha/application/platforms/virtual.py | 12 +++--- zha/zigbee/endpoint.py | 64 +++++++++++++--------------- 3 files changed, 81 insertions(+), 39 deletions(-) diff --git a/tests/test_device.py b/tests/test_device.py index 7bed3061e..3fa6d6c17 100644 --- a/tests/test_device.py +++ b/tests/test_device.py @@ -1187,6 +1187,50 @@ async def test_endpoint_none_profile( assert "Skipping endpoint, profile is None" in caplog.text +async def test_styrbar_press_events(zha_gateway: Gateway) -> None: + """Test that the STYRBAR `press` scene command becomes a well-formed zha_event.""" + + zigpy_dev = await zigpy_device_from_json( + zha_gateway.application_controller, + "tests/data/devices/ikea-of-sweden-remote-control-n2.json", + ) + + zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) + + listener = mock.Mock() + zha_device.on_all_events(listener) + + zigpy_dev.packet_received( + zigpy.types.ZigbeePacket( + src_ep=1, + dst_ep=1, + tsn=64, + profile_id=260, + cluster_id=5, + data=zigpy.types.SerializableBytes(b"\x05|\x11@\x07\x01\x01\r\x00"), + ) + ) + + assert listener.mock_calls == [ + call( + ZHAEvent( + device_ieee=zigpy.types.EUI64.convert("ab:cd:ef:12:6b:e7:d0:70"), + unique_id="ab:cd:ef:12:6b:e7:d0:70", + data={ + "unique_id": "ab:cd:ef:12:6b:e7:d0:70:1:0x0005_CLIENT", + "endpoint_id": 1, + "cluster_id": 5, + "command": "press", + "args": [257, 13, 0], + "params": {"param1": 257, "param2": 13, "param3": 0}, + }, + event_type="zha_event", + event="zha_event", + ) + ) + ] + + async def test_somrig_events(zha_gateway: Gateway) -> None: """Test that Somrig events are handled correctly.""" diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py index 8b12f6440..d6411962d 100644 --- a/zha/application/platforms/virtual.py +++ b/zha/application/platforms/virtual.py @@ -28,7 +28,7 @@ from zigpy.zcl.clusters.lighting import Color from zigpy.zcl.clusters.lightlink import LightLink from zigpy.zcl.clusters.security import IasZone -from zigpy.zcl.foundation import GENERAL_COMMANDS, GeneralCommand +from zigpy.zcl.foundation import GENERAL_COMMANDS, CommandSchema, GeneralCommand from zha.application import Platform from zha.application.platforms import ( @@ -51,6 +51,7 @@ TUYA_MANUFACTURER_CLUSTER, ) from zha.exceptions import ZHAException +from zha.zigbee.endpoint import cluster_event_unique_id, split_event_arg ATTRIBUTE_ID = "attribute_id" ATTRIBUTE_NAME = "attribute_name" @@ -100,16 +101,17 @@ def on_add(self) -> None: self._on_remove_callbacks.append(unsub) def emit_cluster_zha_event( - self, command: str, args: list | dict | None = None + self, command: str, arg: list | dict | CommandSchema | None = None ) -> None: """Relay a cluster-level zha_event via the endpoint.""" + args, params = split_event_arg(command, arg) self._endpoint.emit_zha_event( { - "unique_id": self.unique_id, + "unique_id": cluster_event_unique_id(self._endpoint, self._cluster), "cluster_id": self._cluster.cluster_id, "command": command, - "args": args or [], - "params": {}, + "args": args, + "params": params, } ) diff --git a/zha/zigbee/endpoint.py b/zha/zigbee/endpoint.py index e1018508a..5bc868421 100644 --- a/zha/zigbee/endpoint.py +++ b/zha/zigbee/endpoint.py @@ -26,22 +26,34 @@ _LOGGER = logging.getLogger(__name__) -class _ClusterEventForwarder: - """Forwards quirk `zha_send_event` listener calls into device `zha_event`s. +def cluster_event_unique_id(endpoint: Endpoint, cluster: zigpy.zcl.Cluster) -> str: + """Build the `ieee:endpoint_id:0xCLUSTER[_CLIENT]` unique_id for a cluster event.""" + ieee_with_colons = endpoint.unique_id.replace("-", ":") + suffix = "_CLIENT" if cluster.is_client else "" + return f"{ieee_with_colons}:0x{cluster.cluster_id:04x}{suffix}" + + +def split_event_arg( + command: str, arg: list | dict | CommandSchema | None +) -> tuple[list | dict, dict[str, Any]]: + """Decompose a cluster-event argument into ZHA event `args`/`params`.""" + if arg is None: + return [], {} + if isinstance(arg, CommandSchema): + return [a for a in arg if a is not None], arg.as_dict() + if isinstance(arg, (list, dict)): + return arg, {} + raise TypeError(f"Unexpected cluster event {command!r} argument: {arg!r}") + - The `unique_id` published on the event is `ieee:endpoint_id:0xCLUSTER` with - a `_CLIENT` suffix for client clusters; HA automations filter on it. - """ +class _ClusterEventForwarder: + """Forwards quirk `zha_send_event` listener calls into device `zha_event`s.""" - def __init__( - self, cluster: zigpy.zcl.Cluster, endpoint: Endpoint, is_client: bool - ) -> None: + def __init__(self, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> None: self._cluster = cluster self._endpoint = endpoint - ieee_with_colons = endpoint.unique_id.replace("-", ":") - suffix = "_CLIENT" if is_client else "" - self._unique_id = f"{ieee_with_colons}:0x{cluster.cluster_id:04x}{suffix}" - self._unsub = cluster.add_listener(self) + self._unique_id = cluster_event_unique_id(endpoint, cluster) + cluster.add_listener(self) def remove(self) -> None: """Detach from the cluster.""" @@ -49,20 +61,7 @@ def remove(self) -> None: def zha_send_event(self, command: str, arg: list | dict | CommandSchema) -> None: """Relay events to listeners.""" - args: list[Any] - params: dict[Any, Any] - if isinstance(arg, CommandSchema): - args = [a for a in arg if a is not None] - params = arg.as_dict() - elif isinstance(arg, list): - args = arg - params = {} - elif isinstance(arg, dict): - args = [] - params = arg - else: - raise TypeError(f"Unexpected zha_send_event {command!r} argument: {arg!r}") - + args, params = split_event_arg(command, arg) self._endpoint.emit_zha_event( { const.ATTR_UNIQUE_ID: self._unique_id, @@ -154,14 +153,11 @@ def _attach_legacy_event_forwarders(self) -> None: ) return - for cluster in self._zigpy_endpoint.in_clusters.values(): - self._forwarders.append( - _ClusterEventForwarder(cluster, self, is_client=False) - ) - for cluster in self._zigpy_endpoint.out_clusters.values(): - self._forwarders.append( - _ClusterEventForwarder(cluster, self, is_client=True) - ) + for cluster in ( + *self._zigpy_endpoint.in_clusters.values(), + *self._zigpy_endpoint.out_clusters.values(), + ): + self._forwarders.append(_ClusterEventForwarder(cluster, self)) def emit_zha_event(self, event_data: dict[str, Any]) -> None: """Broadcast an event from this endpoint.""" From c6f90fd23950530487fc6e492ac3d9a943d0d1f2 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Mon, 25 May 2026 17:36:09 -0400 Subject: [PATCH 68/85] Clean up typing --- zha/application/platforms/__init__.py | 13 +++++++------ zha/zigbee/cluster_config.py | 10 +++++++--- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index ddb47a0be..580df9c94 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -5,13 +5,14 @@ from abc import abstractmethod import asyncio from collections import defaultdict -from collections.abc import Callable +from collections.abc import Callable, Mapping from contextlib import suppress import dataclasses from dataclasses import dataclass, field from enum import StrEnum from functools import cached_property import logging +from types import MappingProxyType from typing import TYPE_CHECKING, Any, Final, final from zigpy.profiles.zha import PROFILE_ID as ZHA_PROFILE_ID @@ -97,11 +98,11 @@ class AttrConfig: class ClusterConfig: """Per-cluster configuration.""" + # Whether to bind this cluster to the coordinator. bind: bool = False - """Whether to bind this cluster to the coordinator.""" - attributes: dict[ZCLAttributeDef, AttrConfig] = field(default_factory=dict) - """Per-attribute configuration keyed by ZCL attribute definition.""" + # Per-attribute configuration keyed by ZCL attribute definition or name. + attributes: dict[ZCLAttributeDef | str, AttrConfig] = field(default_factory=dict) @dataclass(frozen=True) @@ -480,8 +481,8 @@ class PlatformEntity(BaseEntity): _cluster_match: ClusterMatch | None = None # Per-cluster configuration (keyed by cluster ID) - _server_cluster_config: dict[int, ClusterConfig] = {} - _client_cluster_config: dict[int, ClusterConfig] = {} + _server_cluster_config: Mapping[int, ClusterConfig] = MappingProxyType({}) + _client_cluster_config: Mapping[int, ClusterConfig] = MappingProxyType({}) def __init__( self, diff --git a/zha/zigbee/cluster_config.py b/zha/zigbee/cluster_config.py index 495f67a0c..db242e2a5 100644 --- a/zha/zigbee/cluster_config.py +++ b/zha/zigbee/cluster_config.py @@ -11,7 +11,7 @@ import zigpy.util import zigpy.zcl from zigpy.zcl import ReportingConfig -from zigpy.zcl.foundation import Status +from zigpy.zcl.foundation import Status, ZCLAttributeDef from zha.application.const import ( CLUSTER_READS_PER_REQ, @@ -99,7 +99,9 @@ def aggregate_cluster_configs( agg.entities.append(entity) for attr_def, attr_config in config.attributes.items(): - attr_name = attr_def.name if hasattr(attr_def, "name") else attr_def + attr_name = ( + attr_def.name if isinstance(attr_def, ZCLAttributeDef) else attr_def + ) if attr_name not in agg.attributes: agg.attributes[attr_name] = AggregatedAttrConfig() agg.attributes[attr_name].merge(attr_config) @@ -118,7 +120,9 @@ def aggregate_cluster_configs( agg.entities.append(entity) for attr_def, attr_config in config.attributes.items(): - attr_name = attr_def.name if hasattr(attr_def, "name") else attr_def + attr_name = ( + attr_def.name if isinstance(attr_def, ZCLAttributeDef) else attr_def + ) if attr_name not in agg.attributes: agg.attributes[attr_name] = AggregatedAttrConfig() agg.attributes[attr_name].merge(attr_config) From 157da1f0190ea1205b290012a1b2ee042524e6eb Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Mon, 25 May 2026 17:37:10 -0400 Subject: [PATCH 69/85] Defer to zigpy for computing manufacturer codes --- zha/zigbee/cluster_config.py | 10 +++------- zha/zigbee/device.py | 2 +- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/zha/zigbee/cluster_config.py b/zha/zigbee/cluster_config.py index db242e2a5..708ad714e 100644 --- a/zha/zigbee/cluster_config.py +++ b/zha/zigbee/cluster_config.py @@ -3,6 +3,7 @@ from __future__ import annotations from dataclasses import dataclass, field +import itertools import logging from typing import TYPE_CHECKING @@ -133,7 +134,6 @@ def aggregate_cluster_configs( async def configure_cluster_configs( device: Device, configs: dict[tuple[int, int, bool], AggregatedClusterConfig], - manufacturer_code: int | None, ) -> None: """Execute binding, reporting, and post-bind hooks from aggregated configs. @@ -258,12 +258,10 @@ async def _read_attributes_chunked( only_cache: bool, ) -> None: """Read attributes in chunks, matching legacy cluster handler behavior.""" - chunk = attrs[:CLUSTER_READS_PER_REQ] - rest = attrs[CLUSTER_READS_PER_REQ:] - while chunk: + for chunk in itertools.batched(attrs, CLUSTER_READS_PER_REQ): try: await cluster.read_attributes( - chunk, + list(chunk), allow_cache=allow_cache, only_cache=only_cache, manufacturer=UNDEFINED, @@ -276,8 +274,6 @@ async def _read_attributes_chunked( cluster.ep_attribute, ex, ) - chunk = rest[:CLUSTER_READS_PER_REQ] - rest = rest[CLUSTER_READS_PER_REQ:] async def initialize_cluster_configs( diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index dd4fac966..cf90fd8db 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -996,7 +996,7 @@ async def async_configure(self) -> None: # Configure binding and reporting from entity-level cluster configs aggregated = aggregate_cluster_configs(self._discovered_entities) if aggregated: - await configure_cluster_configs(self, aggregated, self.manufacturer_code) + await configure_cluster_configs(self, aggregated) self.emit_reconfigure_done() From 29bd2d5fe977d637b54d060ecc12e61ade17cabe Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Mon, 25 May 2026 18:37:15 -0400 Subject: [PATCH 70/85] Add an explicit test for normal remote events --- tests/test_device.py | 132 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) diff --git a/tests/test_device.py b/tests/test_device.py index 3fa6d6c17..1c29e7af3 100644 --- a/tests/test_device.py +++ b/tests/test_device.py @@ -1231,6 +1231,138 @@ async def test_styrbar_press_events(zha_gateway: Gateway) -> None: ] +async def test_unquirked_client_cluster_events(zha_gateway: Gateway) -> None: + """Test zha_events for OnOff/LevelControl client commands on a non-quirked remote.""" + + zigpy_dev = await zigpy_device_from_json( + zha_gateway.application_controller, + "tests/data/devices/innr-rc-250.json", + ) + zha_device = await join_zigpy_device(zha_gateway, zigpy_dev) + + listener = mock.Mock() + zha_device.on_all_events(listener) + + # OnOff toggle (command_id=0x02, no args) + zigpy_dev.packet_received( + zigpy.types.ZigbeePacket( + src_ep=1, + dst_ep=1, + tsn=1, + profile_id=zigpy.profiles.zha.PROFILE_ID, + cluster_id=general.OnOff.cluster_id, + data=zigpy.types.SerializableBytes(b"\x01\x01\x02"), + ) + ) + + # LevelControl move(move_mode=Up, rate=50) (command_id=0x01) + zigpy_dev.packet_received( + zigpy.types.ZigbeePacket( + src_ep=1, + dst_ep=1, + tsn=2, + profile_id=zigpy.profiles.zha.PROFILE_ID, + cluster_id=general.LevelControl.cluster_id, + data=zigpy.types.SerializableBytes(b"\x01\x02\x01\x00\x32"), + ) + ) + + # LevelControl stop (command_id=0x03, no args) + zigpy_dev.packet_received( + zigpy.types.ZigbeePacket( + src_ep=1, + dst_ep=1, + tsn=3, + profile_id=zigpy.profiles.zha.PROFILE_ID, + cluster_id=general.LevelControl.cluster_id, + data=zigpy.types.SerializableBytes(b"\x01\x03\x03"), + ) + ) + + device_ieee = zigpy.types.EUI64.convert("ab:cd:ef:12:25:3a:b6:6f") + assert listener.mock_calls == [ + call( + ZHAEvent( + device_ieee=device_ieee, + unique_id="ab:cd:ef:12:25:3a:b6:6f", + data={ + "unique_id": "ab:cd:ef:12:25:3a:b6:6f:1:0x0006_CLIENT", + "endpoint_id": 1, + "cluster_id": general.OnOff.cluster_id, + "command": "toggle", + "args": [], + "params": {}, + }, + event_type="zha_event", + event="zha_event", + ) + ), + # OnOffClientCacheSync mirrors the toggle into the on_off attribute + # cache, which re-emits as an attribute_updated zha_event. + call( + ZHAEvent( + device_ieee=device_ieee, + unique_id="ab:cd:ef:12:25:3a:b6:6f", + data={ + "unique_id": "ab:cd:ef:12:25:3a:b6:6f:1:0x0006_CLIENT", + "endpoint_id": 1, + "cluster_id": general.OnOff.cluster_id, + "command": "attribute_updated", + "args": { + "attribute_id": 0, + "attribute_name": "on_off", + "attribute_value": True, + "value": True, + }, + "params": {}, + }, + event_type="zha_event", + event="zha_event", + ) + ), + call( + ZHAEvent( + device_ieee=device_ieee, + unique_id="ab:cd:ef:12:25:3a:b6:6f", + data={ + "unique_id": "ab:cd:ef:12:25:3a:b6:6f:1:0x0008_CLIENT", + "endpoint_id": 1, + "cluster_id": general.LevelControl.cluster_id, + "command": "move", + "args": [general.LevelControl.MoveMode.Up, 50], + "params": { + "move_mode": general.LevelControl.MoveMode.Up, + "rate": 50, + "options_mask": None, + "options_override": None, + }, + }, + event_type="zha_event", + event="zha_event", + ) + ), + call( + ZHAEvent( + device_ieee=device_ieee, + unique_id="ab:cd:ef:12:25:3a:b6:6f", + data={ + "unique_id": "ab:cd:ef:12:25:3a:b6:6f:1:0x0008_CLIENT", + "endpoint_id": 1, + "cluster_id": general.LevelControl.cluster_id, + "command": "stop", + "args": [], + "params": { + "options_mask": None, + "options_override": None, + }, + }, + event_type="zha_event", + event="zha_event", + ) + ), + ] + + async def test_somrig_events(zha_gateway: Gateway) -> None: """Test that Somrig events are handled correctly.""" From 8f6321805fd0a43ba7b55a13fec4d79c821533ec Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Mon, 25 May 2026 18:51:31 -0400 Subject: [PATCH 71/85] Pre-commit --- zha/application/platforms/sensor/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 466dcf5f4..9efb15475 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -923,7 +923,8 @@ async def async_update(self) -> None: continue if self._cluster.is_attribute_unsupported(attr_def): continue - attrs.add(attr_def.name) + + attrs.add(attr_def if isinstance(attr_def, str) else attr_def.name) if not attrs: return From 1feebc66e8efd39d8cd57a6dab2a0a6118717cea Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 26 May 2026 13:40:22 -0400 Subject: [PATCH 72/85] Explicitly test `skip_configuration` --- tests/test_discover.py | 40 ++++++++++++++++++++++++++++++++++++ zha/zigbee/cluster_config.py | 2 -- zha/zigbee/device.py | 4 ++-- 3 files changed, 42 insertions(+), 4 deletions(-) diff --git a/tests/test_discover.py b/tests/test_discover.py index c9d1e6431..c8d69c970 100644 --- a/tests/test_discover.py +++ b/tests/test_discover.py @@ -3,6 +3,7 @@ import asyncio from collections import defaultdict from collections.abc import Callable +import contextlib import enum import json import pathlib @@ -769,6 +770,45 @@ async def test_devices_from_files( await zha_device.on_remove() +async def test_skip_configuration_skips_bind_and_reporting( + zha_gateway: Gateway, +) -> None: + """A device marked skip_configuration must not have binds or reporting set up.""" + zigpy_device = await zigpy_device_from_json( + zha_gateway.application_controller, + "tests/data/devices/lumi-lumi-weather.json", + ) + assert zigpy_device.skip_configuration is True + + bind_mocks = [] + reporting_mocks = [] + with contextlib.ExitStack() as stack: + for ep in zigpy_device.non_zdo_endpoints: + for cluster in list(ep.in_clusters.values()) + list( + ep.out_clusters.values() + ): + bind_mocks.append( + stack.enter_context( + mock.patch.object(cluster, "bind", wraps=cluster.bind) + ) + ) + reporting_mocks.append( + stack.enter_context( + mock.patch.object( + cluster, + "configure_reporting_multiple", + wraps=cluster.configure_reporting_multiple, + ) + ) + ) + + zha_device = await join_zigpy_device(zha_gateway, zigpy_device) + await zha_device.async_configure() + + assert all(m.mock_calls == [] for m in bind_mocks) + assert all(m.mock_calls == [] for m in reporting_mocks) + + async def test_get_diagnostics_json_repeated_calls(zha_gateway: Gateway) -> None: """Test that calling get_diagnostics_json twice produces the same result.""" zigpy_device = await zigpy_device_from_json( diff --git a/zha/zigbee/cluster_config.py b/zha/zigbee/cluster_config.py index 708ad714e..1af979159 100644 --- a/zha/zigbee/cluster_config.py +++ b/zha/zigbee/cluster_config.py @@ -148,8 +148,6 @@ async def configure_cluster_configs( ) for (endpoint_id, _cluster_id, _is_server), agg in configs.items(): - if agg.cluster.endpoint.device.skip_configuration: - continue if agg.bind: try: res = await RETRYABLE_REQUEST_DECORATOR(agg.cluster.bind)() diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index cf90fd8db..1285eb252 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -995,7 +995,7 @@ async def async_configure(self) -> None: # Configure binding and reporting from entity-level cluster configs aggregated = aggregate_cluster_configs(self._discovered_entities) - if aggregated: + if aggregated and not self.skip_configuration: await configure_cluster_configs(self, aggregated) self.emit_reconfigure_done() @@ -1271,7 +1271,7 @@ async def async_initialize(self, from_cache: bool = False) -> None: # Read initial attributes from entity-level cluster configs aggregated = aggregate_cluster_configs(self._discovered_entities) - if aggregated: + if aggregated and not self.skip_configuration: await initialize_cluster_configs(aggregated, from_cache) # And add them after. Emit events only on re-initialization, not the first. From b82a83cbe1948a5e2670e9df9300b16aa114175d Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 26 May 2026 14:48:19 -0400 Subject: [PATCH 73/85] Leave retrying to zigpy --- tests/conftest.py | 17 ----------------- tests/test_button.py | 8 ++------ tests/test_cover.py | 4 +--- tests/test_fan.py | 5 ++--- tests/test_number.py | 9 ++------- tests/test_switch.py | 4 +--- zha/application/helpers.py | 9 ++------- zha/application/platforms/cover/__init__.py | 15 +++++++-------- zha/application/platforms/fan/__init__.py | 6 +----- zha/exceptions.py | 21 --------------------- zha/zigbee/cluster_config.py | 7 ++----- 11 files changed, 20 insertions(+), 85 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index a059ca5d7..f2d1a3e40 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -340,23 +340,6 @@ async def zha_gateway( yield gateway -@pytest.fixture(scope="session", autouse=True) -def disable_request_retry_delay(): - """Disable ZHA request retrying delay to speed up failures.""" - - with ( - patch( - "zha.application.helpers.RETRYABLE_REQUEST_DECORATOR", - zigpy.util.retryable_request(tries=3, delay=0), - ), - patch( - "zha.zigbee.cluster_config.RETRYABLE_REQUEST_DECORATOR", - zigpy.util.retryable_request(tries=3, delay=0), - ), - ): - yield - - @pytest.fixture(scope="session", autouse=True) def globally_load_quirks(): """Load quirks automatically so that ZHA tests run deterministically in isolation. diff --git a/tests/test_button.py b/tests/test_button.py index fc4854804..0ec745c1a 100644 --- a/tests/test_button.py +++ b/tests/test_button.py @@ -44,7 +44,6 @@ WriteAttributeButton, ) from zha.application.platforms.button.const import ButtonDeviceClass -from zha.exceptions import ZHAException from zha.zigbee.device import Device ZIGPY_DEVICE = { @@ -160,15 +159,12 @@ async def test_frost_unlock( cluster.write_attributes.reset_mock() cluster.write_attributes.side_effect = ZigbeeException - with pytest.raises(ZHAException): + with pytest.raises(ZigbeeException): await entity.async_press() await zha_gateway.async_block_till_done() - # There are three retries assert cluster.write_attributes.mock_calls == [ - call({"frost_lock_reset": 0}, manufacturer=UNDEFINED), - call({"frost_lock_reset": 0}, manufacturer=UNDEFINED), - call({"frost_lock_reset": 0}, manufacturer=UNDEFINED), + call({"frost_lock_reset": 0}, manufacturer=UNDEFINED) ] diff --git a/tests/test_cover.py b/tests/test_cover.py index 4f0359229..a9a70f597 100644 --- a/tests/test_cover.py +++ b/tests/test_cover.py @@ -1069,9 +1069,7 @@ async def test_keen_vent( # open from client command fails p1 = patch.object(cluster_on_off, "request", side_effect=asyncio.TimeoutError) p2 = patch.object(cluster_level, "request", AsyncMock(return_value=[4, 0])) - p3 = pytest.raises( - ZHAException, match="Failed to send request: device did not respond" - ) + p3 = pytest.raises(asyncio.TimeoutError) with p1, p2, p3: await entity.async_open_cover() diff --git a/tests/test_fan.py b/tests/test_fan.py index 9d53226f2..5b13540a8 100644 --- a/tests/test_fan.py +++ b/tests/test_fan.py @@ -43,7 +43,6 @@ SPEED_OFF, ) from zha.application.platforms.fan.helpers import NotValidPresetModeError -from zha.exceptions import ZHAException from zha.zigbee.device import Device from zha.zigbee.group import Group, GroupMemberReference @@ -272,7 +271,7 @@ async def async_set_preset_mode( @patch( "zigpy.zcl.clusters.hvac.Fan.write_attributes", - new=AsyncMock(return_value=zcl_f.WriteAttributesResponse.deserialize(b"\x00")[0]), + new=AsyncMock(return_value=[zcl_f.WriteAttributesResponse.deserialize(b"\x00")[0]]), ) async def test_zha_group_fan_entity( zha_gateway: Gateway, @@ -424,7 +423,7 @@ async def test_zha_group_fan_entity_failure_state( # turn on from client group_fan_cluster.write_attributes.reset_mock() - with pytest.raises(ZHAException, match="Failed to send request"): + with pytest.raises(ZigbeeException): await async_turn_on(zha_gateway, entity) await zha_gateway.async_block_till_done() assert len(group_fan_cluster.write_attributes.mock_calls) == 1 diff --git a/tests/test_number.py b/tests/test_number.py index bca2ef1ab..5cdaf285a 100644 --- a/tests/test_number.py +++ b/tests/test_number.py @@ -26,7 +26,6 @@ from zha.application.gateway import Gateway from zha.application.platforms import EntityCategory, PlatformEntity from zha.application.platforms.number.const import NumberMode -from zha.exceptions import ZHAException ZIGPY_ANALOG_OUTPUT_DEVICE = { 1: { @@ -300,13 +299,11 @@ async def test_level_control_number( level_control_cluster.write_attributes.reset_mock() level_control_cluster.write_attributes.side_effect = ZigbeeException - with pytest.raises(ZHAException): + with pytest.raises(ZigbeeException): await entity.async_set_native_value(new_value) assert level_control_cluster.write_attributes.mock_calls == [ call({attr: new_value}, manufacturer=UNDEFINED), - call({attr: new_value}, manufacturer=UNDEFINED), - call({attr: new_value}, manufacturer=UNDEFINED), ] assert entity.state["state"] == initial_value @@ -406,13 +403,11 @@ async def test_color_number( color_cluster.write_attributes.reset_mock() color_cluster.write_attributes.side_effect = ZigbeeException - with pytest.raises(ZHAException): + with pytest.raises(ZigbeeException): await entity.async_set_native_value(new_value) assert color_cluster.write_attributes.mock_calls == [ call({attr: new_value}, manufacturer=UNDEFINED), - call({attr: new_value}, manufacturer=UNDEFINED), - call({attr: new_value}, manufacturer=UNDEFINED), ] assert entity.state["state"] == initial_value diff --git a/tests/test_switch.py b/tests/test_switch.py index 67e71f9ba..bf37af7cb 100644 --- a/tests/test_switch.py +++ b/tests/test_switch.py @@ -450,14 +450,12 @@ async def test_switch_configurable( cluster.write_attributes.reset_mock() cluster.write_attributes.side_effect = ZigbeeException - with pytest.raises(ZHAException): + with pytest.raises(ZigbeeException): await entity.async_turn_off() await zha_gateway.async_block_till_done() assert cluster.write_attributes.mock_calls == [ call({"window_detection_function": False}, manufacturer=UNDEFINED), - call({"window_detection_function": False}, manufacturer=UNDEFINED), - call({"window_detection_function": False}, manufacturer=UNDEFINED), ] cluster.write_attributes.side_effect = None diff --git a/zha/application/helpers.py b/zha/application/helpers.py index 906ef7108..95f0fecef 100644 --- a/zha/application/helpers.py +++ b/zha/application/helpers.py @@ -39,7 +39,7 @@ ) from zha.async_ import gather_with_limited_concurrency from zha.decorators import periodic -from zha.exceptions import ZHAException, wrap_zigpy_exceptions +from zha.exceptions import ZHAException if TYPE_CHECKING: from zha.application.gateway import Gateway @@ -50,8 +50,6 @@ _P = ParamSpec("_P") _LOGGER = logging.getLogger(__name__) -RETRYABLE_REQUEST_DECORATOR = zigpy.util.retryable_request(tries=3) - # Clusters that make sense as direct device-to-device binding pairs (e.g. a # remote's out_cluster bound to a light's in_cluster). Consulted by HA's "bind # device" UI via `async_is_bindable_target`. @@ -120,10 +118,7 @@ async def write_attributes_safe( manufacturer: int | UndefinedType | None = UNDEFINED, ) -> None: """Write attributes and raise on any per-attribute failure.""" - with wrap_zigpy_exceptions(): - res = await RETRYABLE_REQUEST_DECORATOR(cluster.write_attributes)( - attributes, manufacturer=manufacturer - ) + res = await cluster.write_attributes(attributes, manufacturer=manufacturer) for record in res[0]: if record.status != foundation.Status.SUCCESS: try: diff --git a/zha/application/platforms/cover/__init__.py b/zha/application/platforms/cover/__init__.py index 833855447..ae3d8d775 100644 --- a/zha/application/platforms/cover/__init__.py +++ b/zha/application/platforms/cover/__init__.py @@ -43,7 +43,7 @@ CoverState, WCAttrs, ) -from zha.exceptions import ZHAException, wrap_zigpy_exceptions +from zha.exceptions import ZHAException if TYPE_CHECKING: from zha.zigbee.device import Device @@ -1019,13 +1019,12 @@ async def async_open_cover(self) -> None: assert self._level_cluster is not None position = self._position or 100 - with wrap_zigpy_exceptions(): - await asyncio.gather( - self._level_cluster.move_to_level_with_on_off( - self._ha_position_to_zcl_level(position), 1 - ), - self._on_off_cluster.on(), - ) + await asyncio.gather( + self._level_cluster.move_to_level_with_on_off( + self._ha_position_to_zcl_level(position), 1 + ), + self._on_off_cluster.on(), + ) self._is_open = True self._position = position diff --git a/zha/application/platforms/fan/__init__.py b/zha/application/platforms/fan/__init__.py index db52a42fe..fe7a7f82b 100644 --- a/zha/application/platforms/fan/__init__.py +++ b/zha/application/platforms/fan/__init__.py @@ -53,7 +53,6 @@ percentage_to_ranged_value, ranged_value_to_percentage, ) -from zha.exceptions import wrap_zigpy_exceptions from zha.zigbee.group import Group if TYPE_CHECKING: @@ -363,10 +362,7 @@ def preset_mode(self) -> str | None: async def _async_set_fan_mode(self, fan_mode: int) -> None: """Set the fan mode for the group.""" - - with wrap_zigpy_exceptions(): - await self._cluster.write_attributes({"fan_mode": fan_mode}) - + await write_attributes_safe(self._cluster, {"fan_mode": fan_mode}) self.maybe_emit_state_changed_event() def update(self, _: Any = None) -> None: diff --git a/zha/exceptions.py b/zha/exceptions.py index a75bfc4b1..b77264c07 100644 --- a/zha/exceptions.py +++ b/zha/exceptions.py @@ -1,26 +1,5 @@ """Exceptions for Zigbee Home Automation.""" -from collections.abc import Iterator -from contextlib import contextmanager - -import zigpy.exceptions - class ZHAException(Exception): """Base ZHA exception.""" - - -@contextmanager -def wrap_zigpy_exceptions() -> Iterator[None]: - """Wrap zigpy exceptions in `ZHAException` exceptions.""" - try: - yield - except TimeoutError as exc: - raise ZHAException("Failed to send request: device did not respond") from exc - except zigpy.exceptions.ZigbeeException as exc: - message = "Failed to send request" - - if str(exc): - message = f"{message}: {exc}" - - raise ZHAException(message) from exc diff --git a/zha/zigbee/cluster_config.py b/zha/zigbee/cluster_config.py index 1af979159..312753acb 100644 --- a/zha/zigbee/cluster_config.py +++ b/zha/zigbee/cluster_config.py @@ -28,7 +28,6 @@ from zha.zigbee.device import Device _LOGGER = logging.getLogger(__name__) -RETRYABLE_REQUEST_DECORATOR = zigpy.util.retryable_request(tries=3) @dataclass @@ -150,7 +149,7 @@ async def configure_cluster_configs( for (endpoint_id, _cluster_id, _is_server), agg in configs.items(): if agg.bind: try: - res = await RETRYABLE_REQUEST_DECORATOR(agg.cluster.bind)() + res = await agg.cluster.bind() success = res[0] == 0 _LOGGER.debug( "[%s] Bound cluster %s: %s", @@ -199,9 +198,7 @@ async def configure_cluster_configs( } try: - res = await RETRYABLE_REQUEST_DECORATOR( - agg.cluster.configure_reporting_multiple - )(reporting_attrs) + res = await agg.cluster.configure_reporting_multiple(reporting_attrs) _LOGGER.debug( "[%s] Configured reporting for %s on cluster %s: %s", agg.cluster.endpoint.device.ieee, From 036fea41cfaa88a913352d8aa47d852a97b4ee66 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 26 May 2026 19:41:15 -0400 Subject: [PATCH 74/85] Drop unnecessary feature groups preventing entity creation --- tests/data/devices/lixee-zlinky-tic.json | 36 ++++++++++++++++++++ zha/application/platforms/__init__.py | 6 ---- zha/application/platforms/sensor/__init__.py | 8 ----- 3 files changed, 36 insertions(+), 14 deletions(-) diff --git a/tests/data/devices/lixee-zlinky-tic.json b/tests/data/devices/lixee-zlinky-tic.json index 481907845..b76eac92a 100644 --- a/tests/data/devices/lixee-zlinky-tic.json +++ b/tests/data/devices/lixee-zlinky-tic.json @@ -986,6 +986,42 @@ "state": null } }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:b9:db:c0:ae-1-1794-summation_delivered", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "SmartEnergySummation", + "translation_key": "summation_delivered", + "translation_placeholders": null, + "device_class": "energy", + "state_class": "total_increasing", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:b9:db:c0:ae", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 3, + "unit": "kWh" + }, + "state": { + "class_name": "SmartEnergySummation", + "available": true, + "state": 42837.076, + "device_type": "Electric Metering", + "status": "NO_ALARMS", + "zcl_unit_of_measurement": 0 + }, + "extra_state_attributes": [ + "device_type", + "status", + "zcl_unit_of_measurement" + ] + }, { "info_object": { "fallback_name": null, diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index 580df9c94..95cdfa3d0 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -70,12 +70,6 @@ class PlatformFeatureGroup(StrEnum): # Suppress EM cluster polling for devices known to report reliably EM_POLLING = "em_polling" - # Model-specific overrides for Smart Energy Summation - SMART_ENERGY_SUMMATION = "smart_energy_summation" - - # Overrides for Smart Energy Summation Received - SMART_ENERGY_SUMMATION_RECEIVED = "smart_energy_summation_received" - # Model-specific overrides for local temperature calibration LOCAL_TEMPERATURE_CALIBRATION = "local_temperature_calibration" diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 9efb15475..6f3de29b7 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -2387,7 +2387,6 @@ class SmartEnergySummation(SmartEnergyMetering): _cluster_match = ClusterMatch( server_clusters=frozenset({Metering.cluster_id}), - feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION, 0), ) _ENTITY_DESCRIPTION_MAP = { @@ -2477,7 +2476,6 @@ class Tier1SmartEnergySummation(SmartEnergySummation): _cluster_match = ClusterMatch( server_clusters=frozenset({Metering.cluster_id}), models=frozenset({"ZLinky_TIC", "TICMeter"}), - feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION, 1), ) @@ -2492,7 +2490,6 @@ class Tier2SmartEnergySummation(SmartEnergySummation): _cluster_match = ClusterMatch( server_clusters=frozenset({Metering.cluster_id}), models=frozenset({"ZLinky_TIC", "TICMeter"}), - feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION, 1), ) @@ -2507,7 +2504,6 @@ class Tier3SmartEnergySummation(SmartEnergySummation): _cluster_match = ClusterMatch( server_clusters=frozenset({Metering.cluster_id}), models=frozenset({"ZLinky_TIC", "TICMeter"}), - feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION, 1), ) @@ -2522,7 +2518,6 @@ class Tier4SmartEnergySummation(SmartEnergySummation): _cluster_match = ClusterMatch( server_clusters=frozenset({Metering.cluster_id}), models=frozenset({"ZLinky_TIC", "TICMeter"}), - feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION, 1), ) @@ -2537,7 +2532,6 @@ class Tier5SmartEnergySummation(SmartEnergySummation): _cluster_match = ClusterMatch( server_clusters=frozenset({Metering.cluster_id}), models=frozenset({"ZLinky_TIC", "TICMeter"}), - feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION, 1), ) @@ -2552,7 +2546,6 @@ class Tier6SmartEnergySummation(SmartEnergySummation): _cluster_match = ClusterMatch( server_clusters=frozenset({Metering.cluster_id}), models=frozenset({"ZLinky_TIC", "TICMeter"}), - feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION, 1), ) @@ -2573,7 +2566,6 @@ class SmartEnergySummationReceived(SmartEnergySummation): _cluster_match = ClusterMatch( server_clusters=frozenset({Metering.cluster_id}), - feature_priority=(PlatformFeatureGroup.SMART_ENERGY_SUMMATION_RECEIVED, 0), ) From 9e6580f9c5fe2b4e0726efa0eacd5f7fcffb7c08 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 26 May 2026 22:28:13 -0400 Subject: [PATCH 75/85] Address tiny listener leak in virtual entity --- zha/application/platforms/virtual.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py index d6411962d..05ff2c6cf 100644 --- a/zha/application/platforms/virtual.py +++ b/zha/application/platforms/virtual.py @@ -252,6 +252,14 @@ def __init__( super().__init__(endpoint=endpoint, device=device, **kwargs) self._off_listener: asyncio.TimerHandle | None = None + async def on_remove(self) -> None: + """Cancel tasks and timers this entity owns.""" + if self._off_listener is not None: + self._off_listener.cancel() + self._off_listener = None + + await super().on_remove() + @property def on_off(self) -> bool | None: """Return cached value of on/off attribute.""" From 6243adf2908a514699713fbb921882a496a7222a Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 26 May 2026 23:46:52 -0400 Subject: [PATCH 76/85] Remove nondeterminism in `_pick_primary_cluster` --- zha/application/discovery.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/zha/application/discovery.py b/zha/application/discovery.py index bd824ee58..c7f74dfe3 100644 --- a/zha/application/discovery.py +++ b/zha/application/discovery.py @@ -86,15 +86,15 @@ def _pick_primary_cluster(endpoint: Endpoint, match: ClusterMatch) -> Cluster | None: """Pick the primary cluster for an entity from a ClusterMatch.""" if match.server_clusters: - cluster_id = next(iter(match.server_clusters)) + cluster_id = min(match.server_clusters) return endpoint.zigpy_endpoint.in_clusters.get(cluster_id) if match.client_clusters: - cluster_id = next(iter(match.client_clusters)) + cluster_id = min(match.client_clusters) return endpoint.zigpy_endpoint.out_clusters.get(cluster_id) - for cluster_id in match.optional_server_clusters: + for cluster_id in sorted(match.optional_server_clusters): if cluster_id in endpoint.zigpy_endpoint.in_clusters: return endpoint.zigpy_endpoint.in_clusters[cluster_id] - for cluster_id in match.optional_client_clusters: + for cluster_id in sorted(match.optional_client_clusters): if cluster_id in endpoint.zigpy_endpoint.out_clusters: return endpoint.zigpy_endpoint.out_clusters[cluster_id] return None From bf9f24ce1977d102650bc6963c8bc5a7c89d16d1 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Tue, 26 May 2026 23:54:40 -0400 Subject: [PATCH 77/85] Revert unnecessary attribute read chunking --- tests/test_number.py | 16 +++------ tests/test_sensor.py | 6 +--- zha/application/const.py | 1 - zha/application/helpers.py | 28 ++++++---------- zha/zigbee/cluster_config.py | 65 +++++++++++++----------------------- 5 files changed, 39 insertions(+), 77 deletions(-) diff --git a/tests/test_number.py b/tests/test_number.py index 5cdaf285a..e49478d27 100644 --- a/tests/test_number.py +++ b/tests/test_number.py @@ -103,7 +103,7 @@ async def test_number( zha_device = await join_zigpy_device(zha_gateway, zigpy_analog_output_device) # one for present_value and one for the rest configuration attributes - assert cluster.read_attributes.call_count == 3 + assert cluster.read_attributes.call_count == 2 attr_reads = set() for call_args in cluster.read_attributes.call_args_list: attr_reads |= set(call_args[0][0]) @@ -118,7 +118,7 @@ async def test_number( entity: PlatformEntity = get_entity(zha_device, platform=Platform.NUMBER) assert isinstance(entity, PlatformEntity) - assert cluster.read_attributes.call_count == 3 + assert cluster.read_attributes.call_count == 2 assert entity.fallback_name == "PWM1" @@ -138,7 +138,7 @@ async def test_number( assert entity.native_step == 1.1 # change value from device - assert cluster.read_attributes.call_count == 3 + assert cluster.read_attributes.call_count == 2 await send_attributes_report(zha_gateway, cluster, {0x0055: 15}) await zha_gateway.async_block_till_done() assert entity.state["state"] == 15.0 @@ -244,16 +244,10 @@ async def test_level_control_number( "on_transition_time", "off_transition_time", "default_move_rate", + "start_up_current_level", ], allow_cache=True, only_cache=False, - manufacturer=UNDEFINED, - ), - call( - ["start_up_current_level"], - allow_cache=True, - only_cache=False, - manufacturer=UNDEFINED, ), call( [ @@ -261,7 +255,6 @@ async def test_level_control_number( ], allow_cache=False, only_cache=False, - manufacturer=UNDEFINED, ), ] @@ -369,7 +362,6 @@ async def test_color_number( ], allow_cache=True, only_cache=False, - manufacturer=UNDEFINED, ) in color_cluster.read_attributes.call_args_list ) diff --git a/tests/test_sensor.py b/tests/test_sensor.py index ba5dd9750..14587a60a 100644 --- a/tests/test_sensor.py +++ b/tests/test_sensor.py @@ -4,7 +4,6 @@ from collections.abc import Awaitable, Callable from datetime import UTC, datetime from functools import partial -import math from typing import Any from unittest.mock import MagicMock, call, patch @@ -43,7 +42,6 @@ zigpy_device_from_json, ) from zha.application import Platform -from zha.application.const import CLUSTER_READS_PER_REQ from zha.application.gateway import Gateway from zha.application.platforms import PlatformEntity, sensor from zha.application.platforms.sensor import ( @@ -1392,9 +1390,7 @@ async def test_elec_measurement_skip_unsupported_attribute( ) await poller.async_update() await zha_dev.gateway.async_block_till_done() - assert cluster.read_attributes.call_count == math.ceil( - len(supported_attributes) / CLUSTER_READS_PER_REQ - ) + read_attrs = { a for call in cluster.read_attributes.call_args_list for a in call[0][0] } diff --git a/zha/application/const.py b/zha/application/const.py index 5217e9931..302c8dd37 100644 --- a/zha/application/const.py +++ b/zha/application/const.py @@ -160,7 +160,6 @@ def pretty_name(self) -> str: ZHA_CLUSTER_BIND_EVENT = "zha_cluster_bind" ZHA_CLUSTER_CONFIGURE_REPORTING_EVENT = "zha_cluster_configure_reporting" ZHA_DEVICE_CONFIGURED_EVENT = "zha_device_configured" -CLUSTER_READS_PER_REQ = 5 ZHA_EVENT = "zha_event" ZHA_DEVICE_UPDATED_EVENT = "zha_device_updated_event" ZHA_DEVICE_ENTITY_ADDED_EVENT = "zha_device_entity_added_event" diff --git a/zha/application/helpers.py b/zha/application/helpers.py index 95f0fecef..7a8a81911 100644 --- a/zha/application/helpers.py +++ b/zha/application/helpers.py @@ -31,7 +31,6 @@ from zha.application import Platform from zha.application.const import ( - CLUSTER_READS_PER_REQ, CLUSTER_TYPE_IN, CLUSTER_TYPE_OUT, CONF_DEFAULT_CONSIDER_UNAVAILABLE_BATTERY, @@ -89,27 +88,20 @@ async def safe_read( ): """Swallow all exceptions from network read. - Reads are chunked into batches of CLUSTER_READS_PER_REQ since devices - commonly cap how many attributes can be read in one request. - If we throw during initialization, setup fails. Rather have an entity that exists, but is in a maybe wrong state, than no entity. This method should probably only be used during initialization. """ - result: dict = {} - for i in range(0, len(attributes), CLUSTER_READS_PER_REQ): - chunk = attributes[i : i + CLUSTER_READS_PER_REQ] - try: - chunk_result, _ = await cluster.read_attributes( - chunk, - allow_cache=allow_cache, - only_cache=only_cache, - manufacturer=manufacturer, - ) - result.update(chunk_result) - except Exception: # pylint: disable=broad-except - continue - return result + try: + result, _ = await cluster.read_attributes( + attributes, + allow_cache=allow_cache, + only_cache=only_cache, + manufacturer=manufacturer, + ) + return result + except Exception: # pylint: disable=broad-except + return {} async def write_attributes_safe( diff --git a/zha/zigbee/cluster_config.py b/zha/zigbee/cluster_config.py index 312753acb..f0d487d01 100644 --- a/zha/zigbee/cluster_config.py +++ b/zha/zigbee/cluster_config.py @@ -3,19 +3,16 @@ from __future__ import annotations from dataclasses import dataclass, field -import itertools import logging from typing import TYPE_CHECKING import zigpy.exceptions -from zigpy.typing import UNDEFINED import zigpy.util import zigpy.zcl from zigpy.zcl import ReportingConfig from zigpy.zcl.foundation import Status, ZCLAttributeDef from zha.application.const import ( - CLUSTER_READS_PER_REQ, ZHA_CLUSTER_BIND_EVENT, ZHA_CLUSTER_CONFIGURE_REPORTING_EVENT, ) @@ -245,32 +242,6 @@ async def configure_cluster_configs( ) -async def _read_attributes_chunked( - cluster: zigpy.zcl.Cluster, - attrs: list[str], - *, - allow_cache: bool, - only_cache: bool, -) -> None: - """Read attributes in chunks, matching legacy cluster handler behavior.""" - for chunk in itertools.batched(attrs, CLUSTER_READS_PER_REQ): - try: - await cluster.read_attributes( - list(chunk), - allow_cache=allow_cache, - only_cache=only_cache, - manufacturer=UNDEFINED, - ) - except Exception as ex: # pylint: disable=broad-except - _LOGGER.debug( - "[%s] Failed to read attributes %s from cluster %s: %s", - cluster.endpoint.device.ieee, - chunk, - cluster.ep_attribute, - ex, - ) - - async def initialize_cluster_configs( configs: dict[tuple[int, int, bool], AggregatedClusterConfig], from_cache: bool, @@ -289,20 +260,32 @@ async def initialize_cluster_configs( ] if cached_attrs: - await _read_attributes_chunked( - agg.cluster, - cached_attrs, - allow_cache=True, - only_cache=from_cache, - ) + try: + await agg.cluster.read_attributes( + cached_attrs, allow_cache=True, only_cache=from_cache + ) + except Exception as ex: # pylint: disable=broad-except + _LOGGER.debug( + "[%s] Failed to read attributes %s from cluster %s: %s", + agg.cluster.endpoint.device.ieee, + cached_attrs, + agg.cluster.ep_attribute, + ex, + ) if fresh_attrs: - await _read_attributes_chunked( - agg.cluster, - fresh_attrs, - allow_cache=from_cache, - only_cache=from_cache, - ) + try: + await agg.cluster.read_attributes( + fresh_attrs, allow_cache=from_cache, only_cache=from_cache + ) + except Exception as ex: # pylint: disable=broad-except + _LOGGER.debug( + "[%s] Failed to read attributes %s from cluster %s: %s", + agg.cluster.endpoint.device.ieee, + fresh_attrs, + agg.cluster.ep_attribute, + ex, + ) for entity in agg.entities: try: From fdab3ef13fd6c67c244e09b52ca08d08c0be9abf Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Wed, 27 May 2026 00:02:16 -0400 Subject: [PATCH 78/85] Remove unnecessary guard in `BinarySensor.is_on` --- zha/application/platforms/binary_sensor/__init__.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/zha/application/platforms/binary_sensor/__init__.py b/zha/application/platforms/binary_sensor/__init__.py index 4398b6b31..663c7daf5 100644 --- a/zha/application/platforms/binary_sensor/__init__.py +++ b/zha/application/platforms/binary_sensor/__init__.py @@ -144,8 +144,6 @@ def info_object(self) -> BinarySensorEntityInfo: @property def is_on(self) -> bool: """Return True if the switch is on based on the state machine.""" - if self._attribute_name not in self._cluster.attributes_by_name: - return False self._state = raw_state = self._cluster.get(self._attribute_name) if raw_state is None: return False From 9d05dfa5555e604d0f1608c44e0fc5afdc8dfdfd Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Wed, 27 May 2026 00:03:44 -0400 Subject: [PATCH 79/85] Remove unused pylint ignores --- zha/application/platforms/fan/__init__.py | 2 +- zha/application/platforms/number/__init__.py | 4 ++-- zha/application/platforms/select.py | 2 +- zha/application/platforms/sensor/__init__.py | 2 +- zha/application/platforms/switch.py | 6 +++--- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/zha/application/platforms/fan/__init__.py b/zha/application/platforms/fan/__init__.py index fe7a7f82b..5f60e4663 100644 --- a/zha/application/platforms/fan/__init__.py +++ b/zha/application/platforms/fan/__init__.py @@ -225,7 +225,7 @@ def handle_attribute_updated( event: AttributeReadEvent | AttributeReportedEvent | AttributeUpdatedEvent - | AttributeWrittenEvent, # pylint: disable=unused-argument + | AttributeWrittenEvent, ) -> None: """Handle state update from cluster.""" self.maybe_emit_state_changed_event() diff --git a/zha/application/platforms/number/__init__.py b/zha/application/platforms/number/__init__.py index c2ed5882b..0f437e077 100644 --- a/zha/application/platforms/number/__init__.py +++ b/zha/application/platforms/number/__init__.py @@ -244,7 +244,7 @@ def handle_attribute_updated( event: AttributeReadEvent | AttributeReportedEvent | AttributeUpdatedEvent - | AttributeWrittenEvent, # pylint: disable=unused-argument + | AttributeWrittenEvent, ) -> None: """Handle value update from cluster.""" self.maybe_emit_state_changed_event() @@ -355,7 +355,7 @@ def handle_attribute_updated( event: AttributeReadEvent | AttributeReportedEvent | AttributeUpdatedEvent - | AttributeWrittenEvent, # pylint: disable=unused-argument + | AttributeWrittenEvent, ) -> None: """Handle value update from cluster.""" if event.attribute_name == self._attribute_name: diff --git a/zha/application/platforms/select.py b/zha/application/platforms/select.py index 2cce8959e..5b747391d 100644 --- a/zha/application/platforms/select.py +++ b/zha/application/platforms/select.py @@ -321,7 +321,7 @@ def handle_attribute_updated( event: AttributeReadEvent | AttributeReportedEvent | AttributeUpdatedEvent - | AttributeWrittenEvent, # pylint: disable=unused-argument + | AttributeWrittenEvent, ) -> None: """Handle value update from cluster.""" if event.attribute_name == self._attribute_name: diff --git a/zha/application/platforms/sensor/__init__.py b/zha/application/platforms/sensor/__init__.py index 6f3de29b7..b6f415184 100644 --- a/zha/application/platforms/sensor/__init__.py +++ b/zha/application/platforms/sensor/__init__.py @@ -351,7 +351,7 @@ def handle_attribute_updated( event: AttributeReadEvent | AttributeReportedEvent | AttributeUpdatedEvent - | AttributeWrittenEvent, # pylint: disable=unused-argument + | AttributeWrittenEvent, ) -> None: """Handle attribute updates from the cluster.""" if ( diff --git a/zha/application/platforms/switch.py b/zha/application/platforms/switch.py index adda0f0c3..e3d1899e8 100644 --- a/zha/application/platforms/switch.py +++ b/zha/application/platforms/switch.py @@ -218,7 +218,7 @@ def handle_attribute_updated( event: AttributeReadEvent | AttributeReportedEvent | AttributeUpdatedEvent - | AttributeWrittenEvent, # pylint: disable=unused-argument + | AttributeWrittenEvent, ) -> None: """Handle state update from cluster.""" if event.attribute_name == self._attribute_name: @@ -317,7 +317,7 @@ def handle_attribute_updated( event: AttributeReadEvent | AttributeReportedEvent | AttributeUpdatedEvent - | AttributeWrittenEvent, # pylint: disable=unused-argument + | AttributeWrittenEvent, ) -> None: """Handle state update from cluster.""" if event.attribute_name == BinaryOutput.AttributeDefs.present_value.name: @@ -517,7 +517,7 @@ def handle_attribute_updated( event: AttributeReadEvent | AttributeReportedEvent | AttributeUpdatedEvent - | AttributeWrittenEvent, # pylint: disable=unused-argument + | AttributeWrittenEvent, ) -> None: """Handle state update from cluster.""" if event.attribute_name == self._attribute_name: From f841e8ae067e80a520e6158688bca20386a4a2c7 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Wed, 27 May 2026 01:17:49 -0400 Subject: [PATCH 80/85] Catch `profile_ids` including profiles not in `profile_device_types` --- zha/application/platforms/__init__.py | 11 +++++++++++ zha/application/platforms/cover/__init__.py | 3 +++ 2 files changed, 14 insertions(+) diff --git a/zha/application/platforms/__init__.py b/zha/application/platforms/__init__.py index 95cdfa3d0..46abf7454 100644 --- a/zha/application/platforms/__init__.py +++ b/zha/application/platforms/__init__.py @@ -131,6 +131,17 @@ class ClusterMatch: # what they target. match_renamed_clusters: bool = False + def __post_init__(self) -> None: + """Validate the ClusterMatch.""" + if self.profile_device_types is not None and self.profile_ids is not None: + profile_device_type_profiles = {p for p, _ in self.profile_device_types} + + if not profile_device_type_profiles <= self.profile_ids: + raise ValueError( + "profile_device_types contain profiles not in profile_ids: " + f"{profile_device_type_profiles - self.profile_ids}" + ) + def register_entity[T: type[PlatformEntity]](cluster_id: ClusterId) -> Callable[[T], T]: """Register an entity class for discovery.""" diff --git a/zha/application/platforms/cover/__init__.py b/zha/application/platforms/cover/__init__.py index ae3d8d775..23f4ea09a 100644 --- a/zha/application/platforms/cover/__init__.py +++ b/zha/application/platforms/cover/__init__.py @@ -10,6 +10,8 @@ from typing import TYPE_CHECKING, Any from zigpy.profiles import zha +from zigpy.profiles.zha import PROFILE_ID as ZHA_PROFILE_ID +from zigpy.profiles.zll import PROFILE_ID as ZLL_PROFILE_ID from zigpy.zcl import ( AttributeReadEvent, AttributeReportedEvent, @@ -748,6 +750,7 @@ class Shade(BaseCover): _attr_translation_key: str = "shade" _cluster_match = ClusterMatch( + profile_ids=frozenset({ZHA_PROFILE_ID, ZLL_PROFILE_ID, 512}), server_clusters=frozenset({OnOff.cluster_id}), optional_server_clusters=frozenset( {LevelControl.cluster_id, ShadeCluster.cluster_id} From b3345cc5b84f8e4c98fe7900ca940991d5df553b Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Wed, 27 May 2026 08:40:18 -0400 Subject: [PATCH 81/85] Use old-style unique IDs for events --- .../platforms/alarm_control_panel/__init__.py | 12 +++++++++--- zha/application/platforms/virtual.py | 5 ++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/zha/application/platforms/alarm_control_panel/__init__.py b/zha/application/platforms/alarm_control_panel/__init__.py index b346dd8bd..1657125dd 100644 --- a/zha/application/platforms/alarm_control_panel/__init__.py +++ b/zha/application/platforms/alarm_control_panel/__init__.py @@ -28,6 +28,7 @@ AlarmState, CodeFormat, ) +from zha.zigbee.endpoint import cluster_event_unique_id if TYPE_CHECKING: from zha.zigbee.device import Device @@ -156,6 +157,7 @@ def __init__( ) self._cluster = endpoint.zigpy_endpoint.out_clusters[AceCluster.cluster_id] + self._cluster_event_unique_id = cluster_event_unique_id(endpoint, self._cluster) alarm_options = device.gateway.config.config.alarm_control_panel_options self.panel_code: str = alarm_options.master_code @@ -202,7 +204,7 @@ def _emit_zha_event(self, command: str, args: list | dict) -> None: """Relay a cluster-level zha_event via the endpoint.""" self._endpoint.emit_zha_event( { - "unique_id": self.unique_id, + "unique_id": self._cluster_event_unique_id, "cluster_id": self._cluster.cluster_id, "command": command, "args": args if isinstance(args, list) else [], @@ -230,9 +232,13 @@ def _cmd_arm(self, arm_mode: int, code: str | None, zone_id: int) -> None: if self.invalid_tries >= self.max_invalid_tries: self.alarm_status = AceCluster.AlarmStatus.Emergency self.armed_state = AceCluster.PanelStatus.In_Alarm - self._emit_zha_event(f"{self.unique_id}_{SIGNAL_ALARM_TRIGGERED}", []) + self._emit_zha_event( + f"{self._cluster_event_unique_id}_{SIGNAL_ALARM_TRIGGERED}", [] + ) else: - self._emit_zha_event(f"{self.unique_id}_{SIGNAL_ARMED_STATE_CHANGED}", []) + self._emit_zha_event( + f"{self._cluster_event_unique_id}_{SIGNAL_ARMED_STATE_CHANGED}", [] + ) self._emit_panel_status_changed() def _disarm(self, code: str): diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py index 05ff2c6cf..293465795 100644 --- a/zha/application/platforms/virtual.py +++ b/zha/application/platforms/virtual.py @@ -565,7 +565,10 @@ def cluster_command(self, tsn: int, command_id: int, args: list[Any]) -> None: except KeyError: return if cmd == Identify.ServerCommandDefs.trigger_effect.name: - self.emit_cluster_zha_event(f"{self.unique_id}_{cmd}", [args[0]]) + self.emit_cluster_zha_event( + f"{cluster_event_unique_id(self._endpoint, self._cluster)}_{cmd}", + [args[0]], + ) # === Aqara Opple cluster per-model attribute initialization === From d1a4003304bebe3901bd6941f51976c00ee7144d Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Wed, 27 May 2026 08:37:23 -0400 Subject: [PATCH 82/85] Fix event order for `OnOffClientCacheSync` --- tests/test_device.py | 20 +++++++++----------- zha/application/platforms/virtual.py | 10 ++++++---- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/tests/test_device.py b/tests/test_device.py index 1c29e7af3..f1db836d6 100644 --- a/tests/test_device.py +++ b/tests/test_device.py @@ -1289,16 +1289,19 @@ async def test_unquirked_client_cluster_events(zha_gateway: Gateway) -> None: "unique_id": "ab:cd:ef:12:25:3a:b6:6f:1:0x0006_CLIENT", "endpoint_id": 1, "cluster_id": general.OnOff.cluster_id, - "command": "toggle", - "args": [], + "command": "attribute_updated", + "args": { + "attribute_id": 0, + "attribute_name": "on_off", + "attribute_value": True, + "value": True, + }, "params": {}, }, event_type="zha_event", event="zha_event", ) ), - # OnOffClientCacheSync mirrors the toggle into the on_off attribute - # cache, which re-emits as an attribute_updated zha_event. call( ZHAEvent( device_ieee=device_ieee, @@ -1307,13 +1310,8 @@ async def test_unquirked_client_cluster_events(zha_gateway: Gateway) -> None: "unique_id": "ab:cd:ef:12:25:3a:b6:6f:1:0x0006_CLIENT", "endpoint_id": 1, "cluster_id": general.OnOff.cluster_id, - "command": "attribute_updated", - "args": { - "attribute_id": 0, - "attribute_name": "on_off", - "attribute_value": True, - "value": True, - }, + "command": "toggle", + "args": [], "params": {}, }, event_type="zha_event", diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py index 293465795..3e6c1f3df 100644 --- a/zha/application/platforms/virtual.py +++ b/zha/application/platforms/virtual.py @@ -272,10 +272,8 @@ def cluster_command(self, tsn: int, command_id: int, args: list[Any]) -> None: except KeyError: return - # Re-emit every incoming server command as a zha_event so HA - # automations can react to remote button presses. - self.emit_cluster_zha_event(cmd, args) - + # Process the command into the cache first, so the resulting + # attribute_updated zha_event fires before the command zha_event. if cmd in ( OnOff.ServerCommandDefs.off.name, OnOff.ServerCommandDefs.off_with_effect.name, @@ -305,6 +303,10 @@ def cluster_command(self, tsn: int, command_id: int, args: list[Any]) -> None: OnOff.AttributeDefs.on_off.id, not bool(self.on_off) ) + # Re-emit every incoming server command as a zha_event so HA + # automations can react to remote button presses. + self.emit_cluster_zha_event(cmd, args) + def attribute_updated( self, event: AttributeReadEvent From fd5fd0a08d064bd051eb484c496811e6ccc2ab44 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Wed, 27 May 2026 08:46:32 -0400 Subject: [PATCH 83/85] Rename `attribute_updated` to `handle_attribute_updated` --- zha/application/platforms/virtual.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py index 3e6c1f3df..40682641f 100644 --- a/zha/application/platforms/virtual.py +++ b/zha/application/platforms/virtual.py @@ -88,7 +88,7 @@ def on_add(self) -> None: lambda: self._cluster.remove_listener(self) ) - if hasattr(self, "attribute_updated"): + if hasattr(self, "handle_attribute_updated"): for event_type in ( AttributeReadEvent, AttributeReportedEvent, @@ -96,7 +96,7 @@ def on_add(self) -> None: AttributeWrittenEvent, ): unsub = self._cluster.on_event( - event_type.event_type, self.attribute_updated + event_type.event_type, self.handle_attribute_updated ) self._on_remove_callbacks.append(unsub) @@ -307,7 +307,7 @@ def cluster_command(self, tsn: int, command_id: int, args: list[Any]) -> None: # automations can react to remote button presses. self.emit_cluster_zha_event(cmd, args) - def attribute_updated( + def handle_attribute_updated( self, event: AttributeReadEvent | AttributeReportedEvent @@ -344,7 +344,7 @@ def cluster_command(self, tsn: int, command_id: int, args: list[Any]) -> None: self._cluster.server_commands[command_id].name, args ) - def attribute_updated( + def handle_attribute_updated( self, event: AttributeReadEvent | AttributeReportedEvent @@ -528,7 +528,7 @@ class SmartThingsAccelerationEvent(VirtualEntity): SMARTTHINGS_ACCELERATION_CLUSTER: ClusterConfig(bind=False), } - def attribute_updated( + def handle_attribute_updated( self, event: AttributeReadEvent | AttributeReportedEvent From 7b9b08dd2b1fa6ba7cc70451572f7411a0fb0713 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Wed, 27 May 2026 08:53:12 -0400 Subject: [PATCH 84/85] Use `write_attributes_safe` in `IasZoneEnrollment` --- zha/application/platforms/virtual.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/zha/application/platforms/virtual.py b/zha/application/platforms/virtual.py index 40682641f..05c462014 100644 --- a/zha/application/platforms/virtual.py +++ b/zha/application/platforms/virtual.py @@ -31,6 +31,7 @@ from zigpy.zcl.foundation import GENERAL_COMMANDS, CommandSchema, GeneralCommand from zha.application import Platform +from zha.application.helpers import write_attributes_safe from zha.application.platforms import ( AttrConfig, ClusterConfig, @@ -145,11 +146,13 @@ async def async_configure_cluster(self, cluster: zigpy.zcl.Cluster) -> None: ieee = cluster.endpoint.device.application.state.node_info.ieee try: - await cluster.write_attributes({IasZone.AttributeDefs.cie_addr.name: ieee}) + await write_attributes_safe( + cluster, {IasZone.AttributeDefs.cie_addr.name: ieee} + ) self.debug( "wrote cie_addr: %s to '%s' cluster", str(ieee), cluster.ep_attribute ) - except (ZHAException, Exception) as ex: # pylint: disable=broad-except + except ZHAException as ex: self.debug( "Failed to write cie_addr to '%s' cluster: %s", cluster.ep_attribute, From 0e8c77d6ecac4115ba2c53d9a2a55b8860a88168 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Wed, 27 May 2026 09:06:31 -0400 Subject: [PATCH 85/85] Fix quirks v2 entities not propagating `change_entity_metadata` in some cases --- tests/test_device.py | 24 ++++++++++++++++++++++++ zha/zigbee/device.py | 16 ++++++++++++++-- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/tests/test_device.py b/tests/test_device.py index f1db836d6..1c508a868 100644 --- a/tests/test_device.py +++ b/tests/test_device.py @@ -1043,6 +1043,23 @@ def filter_func(entity) -> bool: cluster_type=ClusterType.Server, new_primary=True, ) + # A generated quirks-v2 entity has no class-level `_cluster_match`, but + # does have a concrete backing cluster. A cluster_id-filtered metadata + # change must still reach it. + .sensor( + PowerConfiguration.AttributeDefs.battery_voltage.name, + PowerConfiguration.cluster_id, + translation_key="generated_battery_voltage", + fallback_name="Generated battery voltage", + unique_id_suffix="generated_battery_voltage", + ) + .change_entity_metadata( + endpoint_id=1, + cluster_id=PowerConfiguration.cluster_id, + cluster_type=ClusterType.Server, + unique_id_suffix="generated_battery_voltage", + new_translation_key="changed_via_cluster_id", + ) .add_to_registry() ) @@ -1077,6 +1094,13 @@ def filter_func(entity) -> bool: button_entity = get_entity(zha_device, platform=Platform.BUTTON) assert button_entity._attr_primary is True + # The cluster_id-filtered change must have reached the generated entity, + # even though it has no class-level `_cluster_match`. + generated_sensor = get_entity( + zha_device, platform=Platform.SENSOR, qualifier="generated_battery_voltage" + ) + assert generated_sensor._attr_translation_key == "changed_via_cluster_id" + async def test_quirks_v2_translation_placeholders(zha_gateway: Gateway) -> None: """Test quirks v2 translation_placeholders on entities.""" diff --git a/zha/zigbee/device.py b/zha/zigbee/device.py index 1285eb252..208f05d11 100644 --- a/zha/zigbee/device.py +++ b/zha/zigbee/device.py @@ -108,10 +108,22 @@ def _entity_targets_cluster( cluster_id: int, cluster_type: zigpy.zcl.ClusterType | None = None, ) -> bool: - """Return True if `entity` declares the given cluster in its `_cluster_match`.""" + """Return True if `entity` targets the given cluster (and direction).""" match = entity._cluster_match if match is None: - return False + # Generated quirks-v2 entities have no class-level `_cluster_match` but + # do have a concrete backing cluster; match against it directly. + cluster = entity.cluster + if cluster.cluster_id != cluster_id: + return False + if cluster_type is None: + return True + actual_type = ( + zigpy.zcl.ClusterType.Client + if cluster.is_client + else zigpy.zcl.ClusterType.Server + ) + return cluster_type == actual_type if cluster_type is None or cluster_type == zigpy.zcl.ClusterType.Server: if (